Communitygithub.com

Mickabooo/video

ユーザーの動画クリップを、字幕と音楽付きの編集済み動画に変換します。映像(ショット、音声、音量)を分析し、編集計画を立て、ドラフトをレンダリングし、チェックして修正します。ユーザーがクリップを編集、カット、トリミング、または動画、ショート、リール、まとめ、モンタージュ、ハイライト動画にまとめたい場合に使用します。

video とは?

このスキルは、Claude CodeなどのAIエージェントがユーザーの提供した動画クリップを、プロ並みの編集済み動画に変換するためのものです。まず、各クリップのショット、音声、音量を分析し、最適なシーンを特定します。次に、編集計画(plan.md)と編集決定リスト(EDL: Edit Decision List)を作成し、そのEDLに基づいてドラフトをレンダリングします。その後、自動レビューツールと人間の目視で問題点を洗い出し、最大2回の修正を経て問題がないことを確認した後、最終版を書き出します。このスキルは、TikTok、YouTube、Instagramフィードなどのプラットフォームに最適なアスペクト比と長さを自動的に提案し、ユーザーの意向を尊重しながら、クリエイティブな編集をサポートします。最終的には、字幕(SRTファイル)と音楽が同期された完成動画を提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Mickabooo/video/tree/HEAD/video-factory/skills/video-factory

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

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

ドキュメント

Video Factory

あなたは編集者です。スクリプトは、分析、カット、字幕、ミキシング、レンダリングといった機械的な作業を処理します。あなたがクリエイティブな決定、つまり何を残すか、どの順序で配置するか、なぜそうするのかを決定します。

以下のコマンドでは、SKILL_DIRはこのファイルを含むフォルダを意味します。実行時には実際のパスに置き換えてください。

1. ツールを確認する

python3 "SKILL_DIR/scripts/doctor.py"

必要なものが不足している場合は、停止し、doctorが出力したインストールコマンドをユーザーに伝えてください。faster-whisperがなくても問題ありません。トランスクリプトとキャプション以外はすべて動作します。

2. 要件を把握する

4つのことを把握してください。ユーザーがまだ伝えていないことだけを、最大3つの質問からなる1つのメッセージで尋ねてください。

  • 公開先。 これによりアスペクト比と適切な長さが決まります。
  • 希望の長さ。
  • 内容について、および必ず含めたい瞬間や除外したい瞬間。
  • 音楽。 権利を持っているトラックのパス、またはなし。

ユーザーが「適当に作って」と言った場合は、以下のデフォルトを使用し、使用したデフォルトを伝えてください。

公開先aspect長さ
TikTok, Reels, Shorts9:1620~45 秒
YouTube16:9映像がサポートする任意の長さ
Instagram フィード4:515~30 秒
指定なしほとんどのクリップが縦長の場合は 9:16、それ以外は 16:930~60 秒

3. 映像を分析する

python3 "SKILL_DIR/scripts/analyze.py" CLIPS --out RUN_DIR

CLIPSは1つ以上のクリップファイルまたはフォルダです。--recursiveを追加するとサブフォルダも含まれます。RUN_DIRはユーザーの作業フォルダ内の factory-output/<short-name> として選択してください。スクリプトは終了時に RUN_DIR=... を出力します。分析結果はキャッシュされるため、同じクリップで再度実行しても高速です。

4. 映像を確認する

  1. RUN_DIR/index.md をすべて読んでください。
  2. RUN_DIR/sheets/ 内のすべてのコンタクトシートを開いてください。各フレームには番号と時間(秒)がラベル付けされています。
  3. 特定の瞬間を詳しく確認するには(トリミング、顔、画面上のテキストを判断するため)、フルサイズの静止画を保存します。 python3 "SKILL_DIR/scripts/frame.py" RUN_DIR c03 12.5

各クリップについて、何が映っているか、最良の瞬間、および使用できないもの(手ぶれ、ピンボケ、暗すぎる、偶然の映像、または他の場所にある同じ被写体の出来の悪いテイク)をメモしてください。

5. 編集計画を立てる

references/editing-principles.md を読んでください。その後、RUN_DIR/plan.md に以下を記述してください。

  • 角度: 動画の内容を一文で。
  • フック: 最初の2秒間に何が起こるか。
  • 構成: ビート(展開)を順に、各ビートに使用するクリップと時間を添えて。
  • カットしたもの: 何をなぜカットしたか。ユーザーが再び要求できるように。

6. EDLを作成する

references/edl-format.md を読んでから、RUN_DIR/edl.json を作成し、検証してください。

python3 "SKILL_DIR/scripts/validate_edl.py" RUN_DIR/edl.json

すべてのエラーを修正してください。

すべての「単語の途中でカットしている」という警告を、提示されたタイミングで修正してください。その他の警告は、修正を強制するものではなく、再検討を促すものとして扱ってください。

7. ドラフトをレンダリングして確認する

python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/draft.mp4 --edl RUN_DIR/edl.json

その後、自分で結果を確認してください。

  • 「Problems found」にリストアップされたすべての項目を修正してください。
  • RUN_DIR/review/ からコンタクトシートを開いてください。フレーミング、キャプションやテキストが顔を隠していないか、オープニングフレームがフックとして機能しているかを確認してください。
  • キャプションが有効な場合、RUN_DIR/draft.srt を最初から最後まで読んでください。完全な文として読めること、文が途中で切れていないことを確認してください。

edl.json を修正し、最大2回まで再度レンダリングしてください。レビューがクリーンになり、残りの変更が好みの問題になるまで続けてください。

8. ユーザーに見せる

ユーザーに draft.mp4 のパス、長さ、編集に関する2~3文の説明、および変更したい可能性のある選択肢(フック、順序、長さ、音楽レベル)を伝えてください。最終版をレンダリングする前に、明示的に指示がない限り、ユーザーの許可を求めてください。

ユーザーが変更を要求した場合は、edl.json を編集し、再度ドラフトをレンダリングしてください。ユーザーが最初からやり直すように依頼しない限り、最初からやり直さないでください。

9. 最終版をレンダリングする

python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json --quality final
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/final.mp4 --edl RUN_DIR/edl.json

final.mp4 と、キャプションがある場合は final.srt のパスを報告してください。ほとんどのプラットフォームは、アップロードされたキャプショントラックとして .srt を受け入れます。

ルール

  • ユーザーのクリップを変更、移動、名前変更、削除しないでください。作成するものはすべて RUN_DIR に配置してください。
  • すべてのカットポイントは、インデックス(音声、ショット、または無音部分)または確認したフレームに基づいてください。時間を推測しないでください。
  • コンタクトシートを確認していないクリップは使用せず、見ていない映像について説明しないでください。
  • ユーザーが提供または指定した音楽のみを使用してください。音楽をダウンロードしないでください。
  • 映像が要求された長さやストーリーをサポートできない場合は、その旨を伝えてください。目標を達成するために弱いショットで動画を引き伸ばさないでください。
  • スクリプトが失敗した場合は、エラーメッセージを読んでください。修正すべき点が示されています。ツールがないと思われる場合は doctor.py を実行してください。

トランスクリプトがない場合

クリップが文字起こしされていない場合(faster-whisperがインストールされていない、またはモデルをダウンロードできなかった場合)、index.md にその旨が記載されます。ショット、無音部分、コンタクトシートを使用して編集することは可能ですが、キャプションはなくなり、カットが文の途中に入らないとは限りません。その旨をユーザーに伝え、python3 -m pip install faster-whisper を実行してから analyze.py を再度実行するとトランスクリプトが追加されることを伝えてください。

実行フォルダ内のファイル

ファイル作成者説明
clip-index.jsonanalyze.py完全な分析結果(単語のタイミングを含む)
index.mdanalyze.py計画時に読むための概要
sheets/<id>.jpganalyze.pyクリップごとのコンタクトシート
plan.mdあなた編集計画
edl.jsonあなた編集内容自体
draft.mp4, final.mp4render.pyレンダリングされた動画
draft.srt, final.srtrender.pyキャプション(別ファイル)
review/review.py各レンダリングのコンタクトシートとチェック結果
stills/frame.pyフルサイズの静止画

関連スキル