shot-prompt について
shot-promptは、ショットカードとロック済みアセットパスポートから、バージョン管理された動画生成プロンプトを作る創作スキルです。15ブロックの固定構成で、アセット記述と台詞をそのまま保持します。
主な機能
- 0115ブロックの固定順序
- 02ロック済みアセットパスポートの必須化
- 03ショットカードの演出情報を継承
- 04旧版を残してプロンプトを版管理
- 05生成ログの記録とテイクの評価
活用シーン
- 01生成用ショットプロンプトの準備
- 02未登録またはドラフトのアセットで生成を保留
- 03生成ごとにプロンプトの1行だけを修正
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ machina-exm/ film-studio-skills --skill shot-promptインストール後、Claude Code で/shot-promptを入力して読み込まれたか確認します。
詳細
ショットプロンプト
1枚のショットカードと、ロック済みのアセットパスポートを1つのバージョン管理されたプロンプトにまとめます。 以下の固定順序で15個のブロックを維持してください。
開始
- プロジェクトの
CLAUDE.mdまたはAGENTS.mdにある## AI film studioセクションを読みます。 - 設定済みの動画モデルは、完成したプロンプトの出力先としてのみ使用します。
- セクションがない場合は、まずセットアップを実行するようユーザーに伝えます。
- 続行を求められた場合は、使用している動画モデルと、プロンプトの送信方法を尋ねます。
/prompts/、/docs/registry.md、/docs/breakdown.md、および/assets/以下にある画面内のすべてのアセットのパスポートから、ショットカードを探します。/prompts/または/docs/がない場合は、スタジオのツリー内に必要なフォルダーを作成することを提案します。- どのシーンとショットを書くかを尋ねます。
常に、一度に1つずつ質問してください。
アセットゲートを適用する
ショットカードに記載されたキャラクター、状態バリアント、ロケーション、プロップをすべて列挙します。
各正確なタグとバージョンを /docs/registry.md と照合します。
生成可能な状態のプロンプトを作成する前に、すべての行が locked であることを必須とします。
アセットが見つからない場合、または draft の場合は、その名前を示してショットを保留し、asset-passport または stress-test に進むよう案内します。
別のバージョンやベースアセットに、黙って置き換えないでください。
ロック済みの各パスポートを読みます。 有効な正規記述をすべて、一字一句そのまま転記します。 プロンプト内の記述を短縮、言い換え、整文しないでください。
ショットカードを解決する
アイデンティティ、演出、カメラ/編集の各レーンを引き継ぎます。
クリップに含まれるアクションが1つで、長さが10~15秒であることを確認します。
看板、画面、タイトル、その他の画面内テキストはすべて /docs/text-tasks.md に移し、生成には含めません。
不足しているフィールドについて、ユーザーには一度に1つずつ尋ねます。
15個のブロックを書く
番号付き見出しを使い、次の順序を厳守します。
- シーンのコンテキスト —
EXACT N CHARACTERS — NO DUPLICATESで始め、正確な人数を記載します。シーン、ショットの目的、1つのアクションを明記します。 - 有効な参照 — 画面内のすべてのアセットの記述を一字一句そのまま貼り付け、変更していない参照ファイルを明記します。
- ロケーションマップ — 位置と距離をメートル単位で示します。カメラが決して越えないラインを明記します。
- 最初のフレームのブロッキング — 最初のフレームでの各キャラクター、プロップ、カメラの位置を配置します。ショットに必要なものがすべて配置済みの状態から始めます。
- フォーマットモード — 必要なフレームフォーマットと、設定済みのワークフローがテキストと画像のどちらを起点にするかを明記します。
- 光学系 — ショットにはレンズを1つだけ使用します。視野角を変えるのはハードカット時のみです。
- カメラ本体 — カメラを物理的な機材として説明します。位置、高さ、角度、支持方法、動き、経路、停止位置を記載します。
- アクションのタイミング — クリップ全体を通じて、単一のアクションを0.3~0.8秒のビートに分割します。
- 物理 — 持続する物理的な結果を明記します。損傷は目に見える状態を保ち、破片は落下した場所にとどまります。
- 照明 — ロケーションパスポートにある光の特性とパレットを使用します。実際の光源による、形づくられた光を説明します。
- 音声 — 環境音、画面内の音、そして逐語的なセリフを、それぞれ正確な引用符で含めます。
- キャラクターの演技 — 各キャラクターの姿勢、ジェスチャー、呼吸、視線、反応、生き生きとした目の動きを演出します。
- スタイルの接頭辞 — ロック済みのビジュアルスタイルを適用し、主色、二次色、アクセントカラーの比率を
60:30:10で示します。 - 品質基準 — 必要な参照との一致度、解剖学、素材、動き、連続性、リップシンク、アーティファクトの基準を明記します。
- 肯定的な制約 — 禁止事項をすべて、何が目に見えて存在するかという肯定的な表現に書き換え、既知のリスクに対する具体的な失敗条件を加えます。
ネガティブプロンプトのセクションは追加しないでください。 ショットカードにある引用付きのセリフは、正確な文面を維持してください。 完成したテイクで検証できるよう、各ブロックの内容を具体的に記述してください。
バージョンを保存する
プロジェクトで既存の命名パターンを使用して、/prompts/ にプロンプトを作成します。
パターンがない場合は、<scene>-<shot>-prompt-v<version>.md を使用します。
以前のバージョンを上書きせずに保持します。
プロンプトで使用するロック済みパスポートのバージョンを記録します。
外科的に反復する
生成のたびに、次の行を /docs/generation-log.md に追加します。
| shot id | prompt version | what changed | result | verdict |
次のプロンプトバージョンでは行をちょうど1つだけ変更し、それ以外のすべての行はそのまま保持します。 再試行する前に、出力パスと判定を記録します。 10〜15回反復してもショットがうまくいかない場合は、言葉の調整をやめます。 ユーザーと一緒に、ショットを2つに分ける、動作を1つ削る、またはアングルを変えるという構成上の簡略化を1つ選びます。
テイクを採用または却下する
次のチェック項目がすべて合格した場合のみ採用します。
- 登場人物とロケーションが、それぞれのリファレンスと一致している。
- 手、歯、オブジェクト、表面にアーティファクトやランダムな文字がない。
- カメラの動きがショットカードに沿っている。
- 演技とリップシンクが維持されている。
- 隣接するショットと、視線、軸、サイズ、光のつながりが合っている。
- 世界観のカラーパレットが一致している。
採用したテイクには、/selects/sc<NN>/ 内で最終ファイル名を付けます。
生の出力は /generations/sc<NN>/ に保管します。
編集者は /selects/ のみを使用し、生の生成物は使用しません。
完了
プロンプトのパスとバージョン、使用した確定済みのパスポート、未解決の問題、次に行う生成ログの操作を報告します。