Communitygithub.com

Chimarrao/claude-skill-video-editor

Motion Canvas プロジェクトを作成し、.wav ナレーションに同期した真面目なオーバーレイアニメーション(透明背景、1920x1080 ビュー、4K .mov アルファレンダリング)を生成します。CapCut の B-roll 用の説明用アニメーション/オーバーレイをユーザーが要求したときに使用します。

claude-skill-video-editor とは?

このスキルは、Motion Canvas を使用して、ナレーション (.wav) に同期したプロフェッショナルグレードのオーバーレイアニメーションを自動生成します。透明背景の 4K ProRes 4444 .mov ファイルを出力し、CapCut プロジェクトとシームレスに統合できます。 主な特徴: - **リスト / Web ドキュメンタリー / 議論リスト** など、B-roll の有無に応じた複数のビデオタイプをサポート。 - ラインフォントアイコン、ロゴ、人物写真をグラフやツリー構造で配置し、タイムスタンプ付きの文字起こしにより ~90% の音声カバレッジを実現。 - スキル自体が Git リポジトリとして管理されており、変更は自動的にコミット・プッシュされます。 - 「Windows Recall」動画 (8:43、67 シーン) で検証済み。 このスキルは Claude Code、Cursor、Codex などの AI エージェント向けに設計されており、ユーザーが「このナレーションに合わせて説明用アニメーションを作って」と依頼した際に、エンドツーエンドで実行されます。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add Chimarrao/claude-skill-video-editor

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ナレーションに同期した Motion Canvas アニメーション

成果物: animacao/ フォルダ内の Motion Canvas プロジェクト (http://localhost:9000) と、透明度付き ProRes 4444 4K .mov ファイル。「Windows Recall」動画 (8:43、67 シーン + 12 ブランク、90% カバレッジ) で検証済み。

姿勢

エンドツーエンドで実行し、質問はしません。最後にのみ通知します (シーン数、テキスト割合、確認が必要な画像/写真、文字起こしで誤っている可能性のある名前、CapCut へのインポート方法)。ユーザーが要求していない場合のみ、最終レンダリングを依頼します。

スキルの自動公開 (ユーザールール、2026-10-14) — 常にコミット&プッシュ

このスキルは Git リポジトリ (origin = github.com/Chimarrao/claude-skill-video-editor、ブランチ master) です。スキルの全ファイル (SKILL.md、スクリプト、テンプレート、サンプル、リファレンス、アセット、データベース) への変更は、確認を求めず自動的にコミットおよびプッシュされます。 変更完了後すぐに scripts/publicar.sh "変更内容の短いメッセージ" を実行します (banco/assets.publico.db をトランスクリプションなしで再生成し、git add -A、コミット、プッシュ)。banco/assets.db および 20 分の動画はコミットしないでください (すでに .gitignore に含まれています)。プッシュが失敗した場合 (ネットワーク/認証情報の問題) はユーザーに通知し、ローカルコミットを残します。最終サマリーでスキルが公開されたことを記載します。

ターミナルスタイルメニュー (V07 "Terminal ls" バリエーション、2026-10-14 ユーザー選定)

plano_dados.py: MENU_ESTILO = "terminal"、TITULO_MENU = "piores-sos" (~/piores-sos になります)、MENU_DETALHES = ["1994 · cancelado", ...] (各行の右列)、MENU_EXTENSOES = False。コンポーネント src/lib/menuTerminal.tsx (エクスプローラーと同じ API)。ウィンドウ 880 px、x=−500。長いタイトル (> 15 文字) はフォントサイズ 84。LOGOS_COM_PLACA = ["logo_microsoft"] は、グレー/ダークな線画ロゴに白いカードを強制します。初回使用: "Os piores SOs" (5 システム、B-roll 付きリスト)。

  • エミュレータ/低解像度画面 (640×480) の B-roll は「カバー」クロップで使用: 唯一の素材として許容。できれば 1080p+。OS 動画内のゲームプレイ映像 (例: Vista) — 納品前にすべてのクリップをスクリーンショットで確認。

「最悪の OS」レビューからの学習 (2026-10-15) — 編集ごとにスキルが学習

各項目はユーザーの修正に基づいており、すでにコードまたはテストにルールとして組み込まれています:

  1. 不適切なロゴ (例: Windows ME の「Microsoft」重なり — ラスタライズされた SVG アーティファクト): 使用前に各ロゴを白い背景で確認。PIL で画像をクリーンアップ/トリミングし、適切なバージョンを assets/ とデータベースに保存。公式のクリーンなロゴを優先。テキストが重なったロゴは絶対に使用しない。
  2. Secao のロゴ (オープニング/クロージングカード): すべて同じサイズ — 正方形の小サイズ 3 つ (カード 96 px、画像 64 px)。横幅の広いロゴ (Microsoft wordmark) は変形する: 正方形アイコン (logo_win11_icone) を使用。plano.py はアスペクト比が ~1:1 でない場合に警告する。
  3. スピーチ内の列挙はアニメーションに完全に表示される必要がある ("bugs, instabilidades, desempenho, rejeição de mercado, impacto histórico" = 5 項目、4 ではない)。transcricao.txt で話されているフレーズを読み、項目をカウント。ラベルは話された単語に忠実 (話された用語を使用: "Instabilidade")。テスト: scripts/testes/testar_rotulos_vs_fala.py (各ラベルを [t−4, t+12 秒] の音声と照合。言い換えによる誤検出は正常。警告を読むこと)。
  4. アイテムカードの間隔/バランス: 両側に均等なマージン、ブロック間に余裕。ターミナル 840 px、x=−450、タイトル 800 px、x=+440 (左右のマージンが同じ、間隔 ~70 px)。片側が詰まったり空いたりしないこと。最長および最短の名前をスクリーンショットで確認。
  5. B-roll 内の人物: 人物が写っている部分 (Web カメラ、プレゼンター、観客) を切り取ってスキップ。テスト scripts/testes/testar_clipes_sem_pessoas.py (プロキシに対して OpenCV Haar、opencv-python-headless<4.11 が必要)。クリーンな部分を見つけるには、ソースをスキャン (5 秒ごとにサンプリング、顔のない 40 秒以上の連続部分をリストアップ)。トランプ/アイコンは誤検出の可能性あり。
  6. YouTube 用語: ラベルで収益化を妨げる可能性のある攻撃的な用語 ("natimorto"、"morto"、"suicídio"...) は避け、中立的な用語 ("encalhado"、"sem aparelhos") に置き換える。カード、メニュー詳細、タイトル、事実に適用。
  7. レンダリング: テンプレートの project.meta 内の resolutionScale は 2 (4K) — 1080p の場合はレンダリング前に 1 に調整し、最初の 90 秒を ffprobe で確認。プランによって meta が書き換えられている可能性あり。
  8. レンダリング前に各クリップの中間を必ず視覚スキャン (ゲームプレイ、モニターを撮影したカメラ、ニュース)。スクリプトは目視検査に取って代わるものではない。

ユーザーへの標準応答モデル (ユーザーからのリクエスト — ステータス更新時は常に使用)

ユーザーが "どうなってる?/現状は?" と尋ねたり、長時間のプロジェクトの更新時に、以下の形式で応答する (簡潔に、ポルトガル語で、すべてのタスクにおおよその時間を含める):

  1. タイトル: タスクステータス (おおよその時間、マシンの現在の負荷を含む)。
  2. テーブル | # | タスク | ステータス | 時間 | ✅ 完了 (時間 "済み") · 🔄 進行中 (実際の進捗、例: "7:53 / 14:29 (54%)"、残り時間) · 🟡 部分的 (不足しているもの) · ⏳ 待機中 (何に依存) と各タスクの推定時間。最終成果物までのすべてのステップを含めること (文字起こし、アラインメント、プラン、9000 での検証、ユーザー調整、レンダリング、CapCut、使用動画のレポート)。
  3. 何か見えた場合: 次の視覚検証と完全な納品 (ユーザーの時間を加算) の予測。
  4. 何かがスタック/遅延している場合、実際の理由 (例: マシンの負荷) とオプション (例: より高速なモデルへの変更) を述べるが、単独で決定しない。 応答前に実際の進捗 (ログの最後のタイムスタンプ、ファイルの %) を測定。確認せずに推定値を繰り返さないこと。参考推定値: 文字起こし large-v3 ≈ 音声長の 2–4 倍 (マシン負荷時はそれ以上)。アラインメント ≈ 5 分。1080p レンダリング ≈ 動画長の 1–2 倍。4K ≈ 5 倍。CapCut ≈ 3–5 分。

最初: 質問 (AskUserQuestion) — ユーザーがすでに回答しているか、「質問なし」と指示した場合を除く

  1. 動画タイプ (スタイル、シーン、パターンを定義。新しいタイプが発生した場合はここに記録):
    • B-roll なしリスト (透明オーバーレイのみ。例: "すべてのプログラミング言語"): 連番の項目。項目が変わるたびに、メニュー (Monokai テーマの VS Code ファイルエクスプローラー) が表示され、ハイライトバーが前の項目から新しい項目へスライドし、大きなカード #NN 名前 (+ サブタイトル 年·著者) が横に表示されます。その後、公式ロゴ、作成者 (写真+名前)、短い事実、コードウィンドウ、統計、使用している企業/ツールのロゴグラフが最大で表示されます。テーマ Monokai。インパクトタイトルはターミナルスタイル。右下に HUD NN/TT 名前。例: exemplo/plano_dados_linguagens_LISTA_sem_broll.py。
    • B-roll なし Web ドキュメンタリー (透明オーバーレイのみ。例: "Windows Recall"): 暗いディスク上のラインフォントアイコングラフ、ロゴ/写真、レポートスタイルのインパクトタイトル (ESTILO_TITULO='reportagem')、真面目なトーン。例: exemplo/plano_dados_recall_WEBDOC_sem_broll_*.py。
    • B-roll なし議論リスト (透明オーバーレイのみ。"versus"。例: "Windows 7 は 11 より優れていた"): オブジェクトではなくテーゼ/議論 (4–6) の少数項目リスト。B-roll なしリストと同じエンジン: エクスプローラーメニュー (TITULO_MENU="ARGUMENTOS"、ファイル hardware.md...)、カード #NN テーマ + サブタイトル 議論 N · …、左に「悪役」/テーマのロゴ、右に事実、比較 (A vs B テーブル、勝者は緑色、例: 要件)、画面 (キャプション付きスクリーンショット/写真)、グラフ (ロゴ/アイコンの扇)、カレンダーアイコン付き年表、インパクトのあるタイトル。コードウィンドウなし。議論ブロックの前後: コンテキスト (Secao + G シーン) と結論/CTA。カバレッジ 92–100%。例: exemplo/plano_dados_windows7_ARGUMENTOS_sem_broll.py。
    • B-roll 付きリスト (例: 代替オペレーティングシステム。ユーザー提供のサポート動画): B-roll なしリストと同じエクスプローラーメニュー/カード #NN/HUD/Monokai。ただし動画とアニメーションが交互 (項目は動画で開始。アニメーションは短く ≤ ~30%、コードなし、テキスト少なめ。「動画 ↔ アニメーション交互」を参照)。Assets/ (音声の隣) の動画を分析。B-roll を項目内にのみ配置。新しい CapCut プロジェクトを納品 (ベーストラック = 連続フィル。その上にクリップ、穴あり。オーバーレイ .mov アルファ。ナレーション)。「タイプ: B-roll 付きリスト」を参照。B-roll: 「インターネット動画」を参照 (2026-10-12 以降許可)。
    • B-roll 付き Web ドキュメンタリー (ナラティブ。リストではない。例: 電子投票機、サポート動画/画像付きレポート): スクリプトに応じて、Web ドキュメンタリーのアニメーション (グラフ/ツリー、矢印、ロゴ、人物写真、日付、比較、画面、タイトル ≤5%)、B-roll 動画、ユーザーが Assets/ に残した画像、および途中の短いリスト ("8 つのレイヤー…"; ListaCurta を使用) を混合。入力: .wav + Assets/ (これらのファイルのみが B-roll/コンテキスト画像になります。ロゴ/アイコン/人物写真は引き続きデータベースから取得)。納品: オーバーレイ + 新しい CapCut プロジェクト (フィル → 穴のある B-roll → オーバーレイ → ナレーション)。「タイプ: B-roll 付き Web ドキュメンタリー」を参照。
    • (他のタイプも今後追加予定。ユーザーが新しいタイプを要求した場合は、ユーザーと一緒にパターンを定義し、ここに記録します。)
  2. カバレッジ % (チャート/アニメーションの割合。B-roll なし Web ドキュメンタリーはデフォルト 90%。B-roll なしリストは通常 100%。強い画面 B-roll 付き動画は 40–60%。B-roll 付きリスト: オーバーレイは 100% だが、動画部分は軽め。B-roll 付き Web ドキュメンタリー: アニメーション部分は ~90%、動画部分は B-roll としてカウント)。COBERTURA = (最小, 最大) で記録。 リクエストにすべてが含まれている場合は質問せず、最終サマリーで選択を確認します。

B-roll なしリストタイプ — パターン (言語動画、Monokai。B-roll 付きリストのベースでもある)

  • Monokai テーマ (src/lib/monokai.ts: 背景 #272822、ピンク #f92672、緑 #a6e22e、青 #66d9ef、オレンジ #fd971f、黄色 #e6db74、紫 #ae81ff、コメント #75715e。等幅フォント)。パネル rgba(39,40,34,.95)、白枠 14%。
  • 各項目のコード例: VS Code ウィンドウ (janelaCodigo)。タイトルバー、アクティビティバー、ファイルタブ、行番号、ステータスバー、highlight.js による Monokai カラートークン (scripts/tokenizar.mjs は codigos_fonte.json {id:{arquivo,linguagem,hl,cor,codigo}} を読み取り、src/scenes/codigos.json を生成。COBOL は独自のトークナイザーを持つ)。短いスニペット (4–10 行)、代表的 (例: Rust move/borrow、TypeScript 型エラー、COBOL ADD A TO B GIVING C)。
  • 作成者: 実名 + 実写 (円形クリップ。グループ = 単一写真 + 名前)。写真ソース: Wikipedia REST API (/api/rest_v1/page/summary/<タイトル> → originalimage) + Special:FilePath/<ファイル>?width=700、User-Agent と sleep ≥1s (レート制限 429)。GitHub/Bluesky アバター。公式ページ (例: lua.org/images/team.jpg)。scripts/recorte_rosto.py で顔を自動クロップ (OpenCV Haar。opencv-python-headless<4.11 をインストール — 5.x には CascadeClassifier がない)。すべての写真をコンタクトシートで確認 (検索で間違った人物、ロゴ、植物が返されることがある)。信頼できる写真がない → Pessoas([(None, 名前, 役割)]) でシルエットを表示。ユーザーに通知。
  • 実際のロゴ: Simple Icons (cdn.simpleicons.org/<スラッグ>、名前: cplusplus、dotnet、vuedotjs、nodedotjs…) — Java/C#/Microsoft/Windows/Blizzard は存在しない: Wikimedia (C_Sharp_Logo_2023.svg、Duke_(Java_mascot)_waving.svg、Microsoft_logo_(2012).svg)。ロゴは白いカード (logoCard/placa=True) で表示。公式ロゴなし → 単色の略称 (ASM、COBOL、SQL)。
  • インパクトタイトル (Monokai/ターミナル): ピンクのバー、// タグ、大文字の等幅行、接頭辞 >、単語ごとに表示 + 点滅カーソル、キーワード *ピンク* / *v:緑* / *a:青* / *l:オレンジ* / *y:黄色* / *r:紫*。アイテム内では Titulo([...], dur, タグ, em) を使用 (上部に重なり、自動で消える)。アイテム間では Tx(...) を使用。最大 TITULOS_MAX% (5)、チャンネルに意味のあるフレーズ (印象的な言葉: "NÃO EXISTEM FUNÇÕES, SÓ PARÁGRAFOS")。スタイルリファレンス: コードエディタのタイプライターエフェクト + キネティックタイポグラフィ (一度に数単語、強いコントラスト)。
  • タイムライン (Tempo) はイントロ直後 (時系列順、交互のサイド、均一な間隔)。Secao (パートカード) はトランジション時。
  • フレーズ単位のアンカー F("話されたフレーズ") は秒単位ではなく、音声のカットに耐える。vigiar_audio.sh (バックグラウンドで実行) は ../pronto.wav の変更を検出 (安定 45 秒)、コピー、再文字起こし (MODELO=medium)、plano.py を実行。その後 plano.log とエディタを確認。
  • 文字起こし: ポルトガル語の技術的なスピーチには MODELO=medium を使用 (small は名前や用語を誤認識する)。誤って文字起こしされた名前 (Bacchus→Backus、"Dennis Rich"→Ritchie、"Liddorff"→Lerdorf) は、ラベルのみ修正。音声は修正しない。

タイプ: B-roll 付きリスト (動画分析 + CapCut プロジェクト)

入力: ユーザーがナレーション音声 (.wav) を指定。同じフォルダに動画 (場合により画像) を含む Assets/ が存在。これらのファイルのみを使用。 パイプライン (B-roll なしリストが行うすべて — large-v3 文字起こし + アラインメント、plano_dados.py、視覚検証、アセット — に加えて以下の手順。4K レンダリングはユーザーが要求した場合のみ):

  1. 分析 (計画前): `python scripts/broll/analisar_br...

関連スキル