Communitygithub.com

SallyRS/video-director

6秒から3分までの短い動画を、生成画像や提供された写真・映像素材を組み合わせて、モーショングラフィックスを織り交ぜた動画として制作します。製品発表、説明動画、ブランドフィルム、デモやチュートリアル、ソーシャルショート、イベント/ハイライト/データ動画、実写ストーリーコマーシャルなどに対応します。

video-director とは?

このスキルは、AIエージェント(Claude Codeなど)向けの「動画ディレクター」スキルです。ユーザーの意図に基づき、短尺動画の企画から編集・出力までの全工程を、明確な承認プロセスを経て進行します。このスキルが解決するのは「スライドショーのような動画」になる問題であり、すべての視覚的な決定は、ユーザーが2~3の選択肢から実際に選ぶことで行われます。プロジェクトは、企画、スクリプト、スタイル選定、絵コンテ、モーション指定、サウンドデザイン、アニメーションテスト、フルビルド、ポリッシュという明確なステージに分割されており、各ゲートでユーザーの承認を待ちます。製品発表、説明動画、ブランドフィルム、デモ、ソーシャルショート、イベント動画、実写ストーリー広告など、動画のタイプごとに専用のリファレンスファイルが用意され、それぞれに構造とルールが定義されています。これにより、一貫性のある高品質な動画制作を、ユーザーのフィードバックを正確に反映しながら実現します。

対応✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/SallyRS/video-director/tree/HEAD/skills/video-director

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

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

ドキュメント

バンドルされているスクリプトは python3 で実行します。

ビデオディレクター

あなたが動画をデザイン・制作し、ユーザーがそれをディレクションします。すべてのアニメーションは、ユーザーが静止画として確認・承認するまで行われません。また、すべての視覚的な決定は、1回の提案に反応するのではなく、2~3の実際の選択肢から選ぶことで行われます。

このスキルが防止しようとする失敗は、「スライドショーのような動画」、つまり、同じぼかし効果で次々とレイアウトが入れ替わり、すべての要素が一度に画面に表示され、その後静止画になるような動画です。動画のタイプごとにこの問題の回避方法が異なるため、最初の決定は「この動画はどのタイプか」です。

基本ルール

  • わかりやすく伝える。 何が変わったか、それが何を意味するのかを説明してください。作成したすべてのファイルの絶対パスを完全な形で示してください。
  • スクリプトはユーザーのものです。 その文言と順序を保持してください。新しいスクリプトが、以前のカットに対するフィードバックと一緒に送られてきた場合、そのフィードバックは古いバージョンに対するものです。フィルムの作り方に適用し、スクリプト自体には適用しないでください。スクリプトが以前の問題を繰り返しているように見える場合は、1行で質問してください。
  • 「変容」は画面上での変化を意味します。 ユーザーが動画は「変容を示していない」と言った場合、何も視覚的に形を変えていないことを意味します。ある要素が次の要素になる必要があります。
  • 最初にテイストを読み込む。 デザインを始める前に、プロジェクトの direction-notes.md と、ユーザーがデザインのテイストについて保存しているメモ(記憶ファイルやプロジェクトノート:デザイン、色、レイアウト、ビデオに関するもの)を読んでください。以前の修正はそこに記録されています。新しいプロジェクトの場合は、空のノートファイルを作成してください。
  • すべてのバージョンを作成する。 レビューページごとに新しいバージョン番号を割り当てます。ビルダーは上書きを拒否します。
  • 決定を記録する。 ユーザーがオプションを選択したり、何かを修正したりするたびに、正確な値を direction-notes.md に日付入りで1行追加してください。後続のセッションでは、チャットの代わりにこれを読み込みます。
  • 画像やクリップを生成する前に、 何を作成するのか、どこに配置するのかを述べてください。

動画のタイプ

ステージ1でタイプを選び、他のものを書き始める前に、そのファイルをすべて読んでください。タイプによって構造が設定され、以下に記載されているデフォルト値が異なる場合は、それが優先されます。

タイプ説明ファイル
製品発表UI、モーション、場合によっては人物を通じて製品や機能を紹介。30~90秒references/types/product-launch.md
説明動画コンセプトやプロセスを視覚化。通常はナレーション付き。60~180秒references/types/explainer.md
ブランドフィルム企業の理念を表現。1つのアイデア、人物と場所。多くの場合製品は登場しない。30~90秒references/types/brand-film.md
デモ・チュートリアルタスクの手順を、段階的でズームされたUIを使って教示。60~180秒references/types/demo-tutorial.md
ソーシャルショート縦長または正方形、6~30秒、ミュートで視聴、最初のフレームで惹きつける。references/types/social-short.md
イベント、ハイライト、データオープニング、ハイライト、年間レビュー、数字を使ったストーリー。約60~120秒references/types/event-recap-data.md
ショーケース制作物の視覚的なツアー。キャプションなし、説明なし。references/types/showcase.md
実写ストーリー広告問題を抱えたキャラクター、現実的な設定、そして製品の見せ場。多くの場合コメディ。30~60秒references/types/live-action-story.md

1つのフィルムが複数のタイプを組み合わせることもあります(データのビートを含む発表フィルムなど)。メインのタイプを選び、別のタイプから単一のルールを借用し、その旨を明示してください。

タイプによって変わる数値

調査した映像から導き出された開始値。実写ストーリー広告の数値は、それぞれのタイプファイルに記載されています。

製品発表説明動画ブランドフィルムデモ・チュートリアルソーシャルショート (9:16)イベント / ハイライト / データ
行の配置上部中央 約9%(連続フィルム)、または中央のクレームカード(チャプターフィルム)対象物の横にラベル画像の上、画面の約40~57%の位置ターゲットの横。カードは中央寄せ約15~30%下、または約42~60%中央タイトルは中央、名前は左下
確保すべき空白下部17%下部17%(キャプションやプラットフォームのオーバーレイが適用される場合)下部60%以下(エンドロゴを除く)追加テキスト用に下部17%(UIは端に達する可能性あり)上部14%、下部35%、側面6%、右側に余分なスペース下部17%(スピーカーごとのネームバーを除く)
シーンまたはユニットの長さ4~6秒のシーン、または短いクレームカードとそれに続く数秒の証明ナレーションの一文(調査した映像では3~6秒)約1~3秒の安定したユニット1ステップ:音声あり6~12秒、音声なし3~5秒約1~3秒のビート、落ち着いた映像では最大4秒約0.5~2秒のショット。数字は読み取れる十分な長さで止める
ハードカット1~2箇所のアクセント(連続)、または約10~20箇所(チャプター)0~5(一つの世界)、またはスレッドによる多数(モンタージュ)フッテージ映像における主なトランジション少ない。バックドロップが変わる場合にのみ増える主なトランジションフッテージのハイライトにおける主なトランジション
クローズロゴ 1~3秒。クローズ全体 約3~11秒静止カード 約2~5秒クレームを単独で表示し、その後ロゴを1~4秒約3~9秒:ロゴ、または1行とロゴカードなし、ループ、または短いタグ(約1.5秒)静止ロックアップ 1.5~3.5秒。動く背景の上ではより長く

プロジェクトレイアウト

ステージ1で、references/project-layout.md にレイアウトされているように、プロジェクトフォルダを作成します。ブリーフ、スクリプト、ディレクションノート、アイデア、リファレンス、ストーリーボード、モーション仕様、アセット、ビルド、出力。

ステージ

レスポンステンプレートとステージ固有の読み込みについては、references/checkpoints.md を読んでください。すべてのゲートで停止し、ユーザーの入力を待ちます。既に行われた明示的な決定は再利用します。

#ステージあなたが作成するものゲート
1ブリーフbrief.md:タイプ、フォーマット、ナレーション、人物、フッテージ、尺、リファレンス動画の有無ブリーフは正しいか?
1bスタイルモーショングラフィックスを含む動画の場合:すべてのアニメーションスタイルの画像と、3~4の提案を含むページどのスタイルか?
2スクリプトとストーリーフック、タイプファイルの構造、ビートごとに1つの役割を含む script.mdスクリプトは確定か?
3リファレンスユーザーがリファレンス動画を選択した場合のみ:アクセス可能な実際の動画3本以上のメモ、または明示的なリファレンス入力待ち(停止なし。ステージ4に情報を渡す)
4ディレクションオプション冒頭の実際のフレームを使用した2~3のディレクションどのディレクションか?
5ルックの決定1つの決定ごとに、それぞれ2~3のオプション各選択
6ストーリーボードすべてのシーン、開始フレームと終了フレーム、メモページ承認済み、またはメモ
7モーション仕様シーンの長さ、次に名前付きの動き、すべての変更のタイミングとイージング承認済み
7-9サウンドサウンドプラン、動画タイプごとのクリップサウンド、実際のSFXとともに配置されたライブラリ効果音、フィットする音楽、assets/audio/SOURCES.mdサウンドは正しいか?
8アニメーションテストHyperFramesでの最も難しい2~4シーン(実写ストーリー広告の場合は最初からの実行)動きは正しいか?
9フルビルド動画全体とその短縮版。フレームごとにチェック最終確認
10ポリッシュラウンド修正ラウンドごとに1つの新しい番号付きレンダリング。各修正は最初に対応するフレームで確認各ラウンドの承認

1. ブリーフ

これらは明示的な決定として質問し、決して推測したり、設定リストに埋め込んだりしないでください。

  • タイプ(上記の表)、および説明型か純粋なショーケース型か。
  • フォーマット:16:9、9:16、1:1、または4:5。および短縮版(6、15、30、60秒)の有無。
  • ナレーション:ナレーション、画面上のテキストのみ、または一切の言葉なし。
  • 構成素材:次の言葉で質問します。「動画は何で構成されますか?モーショングラフィックス、フッテージ、スクリーンレコーディング、またはそれらの混合ですか?」フッテージは実写または生成の可能性があります。どちらが主導するかは、ステージ4であなたが提案します。
  • 人物:実写風の人物、イラストのキャラクター、手のみ、顔なし。また、彼ら自身の声が聞こえるかどうか。
  • 実物でなければならないもの:ロゴファイル、フォント、実際の製品のスクリーンショットまたはデモアカウント、実在する名前のある人物やイベントの実際のフッテージや写真(ハイライト、および指名された人物が登場するブランドフィルムには実写素材が必要)、音楽(ユーザー自身のトラック、または有料プランのSuno)。人物、Bロール、場所、3Dの制作方法は、ステージ4であなたが提案します。
  • 視聴者:誰が見るのか、彼らが何を知っていて何を疑っているのか、どこに投稿されるのか(これによりキャプションの有無が決まる)、視聴後に何を考え、何をすべきか。
  • 尺:タイプの通常の範囲と照らし合わせて確認します。
  • 名前とロゴ:表示してよいもの。
  • メディアツール:クリップツール(Higgsfield、その他、またはなし)と静止画ツール(Codexまたはユーザー自身の写真)。証明に実際の動きが必要で、クリップツールがない場合は、その旨を伝えます(references/media.md)。また、モーションチェックのためにカットをGoogleのGemini APIにアップロードしてもよいかどうかも尋ねます(references/build-and-qa.md)。
  • リファレンス動画:次の言葉で質問します。「デザインする前に参考にしたい動画はありますか?それとも、リファレンス動画なしで始めましょうか?(ルックは別途選択します)」はい:どの動画か(名前の指定された動画が該当します)を尋ね、ダウンロードの許可を求め、「これらの動画のルックが欲しいのですか、それともペースなど他の何かですか?」と尋ねます。いいえ:動画はゼロから構築します。ステージ3はスキップします。わからない:1行でおすすめを提案します(一般的なタイプはゼロから。特殊なルックやハイステークスな動画はリファレンスから)。

回答を brief.md に記入します。決して勝手に作成しないでください。

1b. スタイル

何らかのモーショングラフィックスを含む動画の場合、ユーザーはすべてのアニメーションスタイルの画像を含むページからルックを選択します。「references/animation-styles.md」の「ステージ1b」に従ってください。尋ねずにスタイルを選ばないでください。フッテージのみで構成される動画(ルックはステージ4で計画)の場合、およびリファレンス動画がルックを示している場合は、このステージをスキップします。その場合、そのスタイル名を1行で述べ、ユーザーが修正できるようにします。

2. スクリプトとストーリー

ユーザーがスクリプトを持ってきた場合は、それを script.md にテーブル(シーン、名前、セリフ、ナレーション、および発表動画とデモ動画には証明の列)として配置し、保持します。あなたが文章を起草する場合は、人間が話すような平易な文を書きます。断片的な語句の積み重ね、3連のパラレルライン、「Meet X」、「Introducing」、「Not just X, it's Y」などは避けてください。python3 <skill>/scripts/scan_script.py script.md --out output/script-language-review.json を実行し、各候補を文脈でレビューし、ユーザーが編集を承認しない限り、提供された表現を保持します。次に、ストーリーをタイプファイルの構造と照らし合わせてチェックします。

  • フック:最初の1~3秒で、最も強力な画像または感じられる状況を示します。ロゴや会社の説明ではありません。
  • 1つの約束:2番目のビートまでに行います。その後のすべては証拠です。
  • ビートごとに1つの役割。重要な瞬間には、マイナービートの約2倍の時間を割り当てます。
  • 中盤以降に1つの転換またはエネルギーの変化。
  • オープニングの仕掛けとクロージングの仕掛けは、意図的に選択され、反射的に追加されるものではありません。
  • ナレーション主導でない限り、音を消しても内容が理解できる。
  • 製品発表動画とデモ動画:各主張の証明を明示する。 script.md のすべての主張の横に、画面上で何がそれを証明するかを記述します。これは references/visual-ideas.md のビートメソッドに従って見つけます。

3. リファレンス

ゼロから構築する動画の場合はこのステージをスキップし、その旨を1行で述べます。そうでない場合は、描き始める前にアクセス可能な実際の動画を3本調査します。ユーザーが動画を指定した場合、それは3本のうちの1本です。ステージ1bでスタイルを選択した場合、少なくとも1本は選択されたスタイルの動画(ルックのみを調査)であり、残りはこのタイプの動画です。アクセスできない場合は、references/reference-films.md に従います。タイプファイルは、出発点と何を探すべきかを示しています。ffmpegで静止画を抽出し、メカニズムをメモします:カットをまたいで何が引き継がれるか、テキストの位置(フレーム高さのパーセンテージ)、ショットの長さ、クローズの構成方法。メカニズムを借用しますが、動画のルック、ロゴ、フッテージは決して借用しません。方法:references/reference-films.md。

4. ディレクションオプション

ステージ1bの選択を、references/animation-styles.md の「ステージ4」に従ってディレクションに変換します。フッテージのルックは references/footage-looks.md で計画します。ユーザーが動画を指定した場合、少なくとも1つのディレクションはその動画のスタイルとメカニズムを使用しますが、ルックは使用しません。ハウスルールは引き続き適用されます。ユーザーに実際の静止画オプションを見せます。

中心的なアイデアが異なる2~3のディレクションを作成します(タイプファイルはどのような違いが重要かを示しています)。1つのレイアウトの3つの色違いではありません。各ディレクションは、そのオプションの plan フィールドに視覚計画全体を記載します。

  • 製品を含む1文でのアイデア。
  • 製品が転換点で何をするか。
  • メディアミックス:1つの主要メディアと、それぞれ1つの役割を持つ挿入素材。
  • 1つの名前付き描画スタイル。
  • 繰り返し要素(または、意図的に無し)。
  • アイデア間の移動方法の1つ。
  • エンドライン。

アイデアを見つけ、描き始める前に references/visual-ideas.md の5つのチェックを実行します。メディアはあなた自身が提案します(Bロール、3D、人物の表示方法)。ブリーフは、人物が登場するかどうか、何が実物でなければならないかを示します。

フレームキットを使用して最初の1~2シーンの開始フレームと終了フレームを描き、オプションページを構築します。

python3 <skill>/scripts/render_frames.py storyboard/frames.html --ids 01a,01b,02a --out storyboard/options-direction-v0.1
python3 <skill>/scripts/build_storyboard.py storyboard/options-direction-v0.1.json storyboard/options-direction-v0.1.html

JSON は assets/options-direction-starter.json から開始します。各ディレクションの背後にあるスタイル名を記述し、リファレンスが調査された場合はそのテクニックも記述します。その後、1~2文で1つをおすすめします。

5. ルックの決定

ルックは、1つの決定ごとに、同じフレーム上で2~3のオプションを提示して決定します。製品発表、デモ、実写ストーリー動画では、製品の表示方法(録画されたスクリーン、再構築された実際のインターフェース、またはインターフェースがほとんどない人物とイラスト。タイプファイルはそれぞれのコストを示します)、次にカラー処理、次に特徴的なシーンのレイアウト、次にテキストの配置場所。カラーにはバリアントスイッチを使用します(--variant <name> でレンダリングし、assets/options-color-starter.json から開始します)。回答の読み取り方:

  • 回答があいまいな場合(「1の方が見栄えが良い」)、どのオプションを選択したと解釈したかを述べます。
  • 「1と3は好きですが、Xすぎる感じがする」:両方を保持し、両方でXを修正し、再度表示します。
  • ユーザーが指摘したものを修正します。「面白い」と言われたアイデアはボーナスであり、主要な要求ではありません。
  • すべてのオプションが気に入らない場合、新しいものを作成する前に、すべてのオプションに共通していたものを挙げます。

詳細:references/options-rounds.md。

6. ストーリーボード

すべてのシーンをデザインします:開始フレームと終了フレーム、および2つの端から変化を描き出せない場合の中間フレーム。フレームキットを使用します(references/frame-k

...(原文が途中で切れています)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル