成片工坊(video-forge)
良い作品は一言で生成されるものではありません。このスキルは以下の3つのことを管理します:
- 明確にするまで問い詰める:要件が曖昧なら、シーン、人物、感情、細部の隅々まで具体的な画面に落ちるまで問い続けます。
- 確認してから、制作する:画風、設定、絵コンテは、すべてユーザーの承認を得てから、時間のかかる制作に入ります。
- 他人に審査させる:完成作品は独立した審査員に渡し、ユーザーが確認した「審査基準カード」に基づいて項目ごとに判定させます。自己チェックで審査を代替することはしません。
制作自体は既存のパイプライン(lemo-opuscar、mv-director、Remotion、three.js ミニチュア)に任せ、このスキルはディレクター兼ゲートキーパーの役割を担います。
絶対ルール
- 一言で着工させない。質問リスト(
references/interview-checklist.md)の必須項目がすべて埋まるまで、制作工程に入りません。ユーザーが「任せる」と言った場合でも、具体的なデフォルト値を需要カードに書き込み、ユーザーに表示します。 - 曖昧な言葉は画面に置き換える:「温かい」「高級」「感じがいい」は回答と見なしません。2~4つの具体的な画面オプションを提示し、ユーザーに選ばせます。
- 毎回の質問の後に需要カードを貼る(
references/card-templates.md)。ユーザーが決定済みと未決定を一目で把握できるようにします。 - 工程の順序は飛ばせない:需要カード + 審査基準カード → 画風(サンプル映像)→ スタイルカード/スタイルフレーム → 設定カード → 絵コンテ連絡表 → ラフ → 審査員ループ → アーカイブ。パイプラインが特定の工程をスキップできると宣言している場合(例:ミニチュアには絵コンテがない)は、その旨を明記します。
- 絵コンテはデフォルトで確認を取る(lemoはデフォルトで確認を取らないため、ここではデフォルトで確認を取るように変更します)。
- 審査員は独立したサブエージェントであり、作品とユーザーが確認した審査基準カードのみを与え、私の結論は渡しません。審査員は全編を視聴し(2秒ごとに1フレーム抽出)、音声の測定のみ行い、良し悪しは評価しません。ユーザーの意見は審査員より優先されます。
- 人物は演技をさせない:コードで描かれた表情や手の動きは必ず不自然になります。パイプラインにキャラクターリギング機能がない限り、人物は小さく、遠く、静止、または単純なループ動作に限定します。
- ユーザーの発言はそのままカードに記載する:ユーザーが言及した具体的な要件(例:「ライトでつぶさないで」)は、原文のまま需要カードの禁止事項やハード要件に書き込みます。
- 大規模タスクは役割ごとに複数のエージェントに分割する(
references/division-of-labor.md):まず骨格ファイルを決定し、各役割は番号のみを参照し、算術計算はスクリプトで検証します;思考強度を下げてタイムアウトを回避しようとはしません。 - 作品は
~/video-forgeにアーカイブする。一時ディレクトリには置きません。一時ディレクトリは再起動で消失します。 - ネットワーク:このマシンのプロキシは非常に遅いです。大規模ダウンロードは
curl --noproxy '*'、env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXYを使用してバイパスします;シェル内でgrepが壊れている場合は/usr/bin/grepを使用します。
手順
0. 振り分け
まず ~/video-forge/recipes/ を確認します:ユーザーが明示的に指定した方法(「Toon-shadedなミニチュア方式で駅を作って」)があれば、その方法ファイルを読み込み、その方法で未定の項目だけを質問します。
それ以外の場合は、需要に応じてパイプラインを選択します:
| 需要 | パイプライン | ファイル |
|---|---|---|
| 特定の画風のショートフィルム(30~90秒)、テーマ自由 | 画風動画 | references/pipeline-style-film.md |
| 曲にMVを作る | MV | references/pipeline-mv.md |
| 何か一つのこと、歴史、データを説明する | 解説 | references/pipeline-explainer.md |
| ドラッグ&回転可能な3Dミニチュアシーン | ミニチュア | references/pipeline-diorama.md |
ユーザーが何も考えていない場合:references/style-picker.md の初心者ガイドを実行します(まずサンプル映像を見せ、次にコンテンツのアイデアを提案します)。
1. 質問 → 需要カード
まず動画タイプと尺枠を決定し、references/genres/ 内の対応するタイプカードを読み込みます(カード選択表は genres/README.md を参照)。以降の質問、構成、文字数予算、審査基準カードは、すべてこのカードを起点にします。
references/interview-checklist.md に従って、ラウンドごとに質問します。AskUserQuestion を使用し、各ラウンドは最大4問とし、選択肢は具体的な画面にします。各ラウンドの後に需要カードを貼ります。必須項目が揃ったら、ユーザーに需要カードを確認させます。
2. 画風
ユーザーが選択していない場合:references/style-picker.md に従って2~3つを推奨し、サンプル映像リンクを添付します。同時に全66種類のリストも提示します(テキストのみの質問で、AskUserQuestion は使用しません。選択肢が少なすぎるとリストが隠れてしまいます)。
選択後、その画風の STYLE.md を読み、スタイルカード(数値:色値、線幅、光の比率、フォント、カメラ文法、サウンド)にまとめ、ユーザーに確認を取ります。
3. スタイルフレーム
実際の描画コードを使用して、1~3枚のスタイルフレーム(1カット/1コーナー、ライトと色は決定済み)を出力します。ユーザーが確認してから展開します。
4. 設定カード
人物、場所、小道具がある場合、それぞれ1枚ずつ設定カードを作成します:外見、プロポーション、配色、服装、重要な小道具、登場してはいけないもの。設定画を出力し、ユーザーに確認させます。
5. 絵コンテ連絡表
6~9コマのサムネイルを1枚にまとめます(各コマ:時間、画面、カメラ、音声、字幕)。ユーザーが確認してからアニメーション制作に入ります。
6. ラフ → 審査員ループ
パイプラインに従ってラフを制作し、references/review.md に従って2名の審査員を起動し、審査基準カードに基づいて項目ごとに判定します(合格 / 一部合格 / 不合格 + エビデンスフレーム)。不合格の項目のみを修正し、毎ラウンド結果をユーザーに表示します。
停止条件:必須項目がすべて合格かつユーザーが満足、または3ラウンド経過、またはユーザーが停止を要求した場合。
7. アーカイブ
~/video-forge/works/<slug>/ に配置:ソースコードまたはプロジェクトリンク、完成品/スクリーンショット、需要カード、スタイルカード、絵コンテ、scores.md;~/video-forge/retros/ に振り返りを記述;再利用可能な方法であれば、recipes/_template.md から新規レシピを作成し、~/video-forge/README.md の「🎞 作品」テーブルに行を追加;新しい外部ライブラリを使用した場合は、deps.json に登録し、index/ を再構築します。
公開から約1週間後、ユーザーにプラットフォームの管理画面(例:抖音クリエイターサービスセンター)で、完視率、平均視聴時間、どの秒数で最も離脱が多いか、どの部分がリプレイされているかを確認してもらい、その作品の scores.md の「公開データ」セクションに記入し、振り返りに一文を追加します:どのリテンション施策が効果的だったか、どこで離脱が発生したか。次回の脚本と絵コンテ作成時には、審査員の意見だけでなく、これらの実データを参照します。
参考ファイル
| フェーズ | ファイル | いつ見るか |
|---|---|---|
| 1 質問 | references/interview-checklist.md | 毎回の開始時;各ラウンドの質問前に不足項目を確認 |
| 1–5 カード | references/card-templates.md | 需要カード、スタイルカード、設定カード、絵コンテ連絡表を貼る時 |
| 2 画風 | references/style-picker.md | ユーザーが画風を選んでいない、何を作るかわからない時 |
| 3–6 制作 | references/pipeline-style-film.md | lemo-opuscar画風でショートフィルム制作 |
| references/pipeline-mv.md | 音楽MV制作 | |
| references/pipeline-explainer.md | Remotionで情報・解説動画制作 | |
| references/pipeline-diorama.md | three.js 3Dミニチュアシーン制作 | |
| 3–6 役割分担 | references/division-of-labor.md | 複数エージェントでTreatmentや制作を行う時:役割定義、骨格ファイル、検証スクリプト |
| タイプカード(タイプ/尺枠別) | references/genres/README.md | 質問時にタイプと尺枠を決定した後、対応するカードを読み込む:尺予算、構成、視覚・音声仕様、検証ロジック、プロンプトテンプレートはすべてカードから取得 |
| 音楽 | references/music.md | 音楽のアプローチ選択(コード作曲(拍)/ ロイヤリティフリー音源 / オープンソースモデル)、tools/music/code_score.py の使い方 |
| 画風選択 / 動き選択 | ~/video-forge/index/catalog.md(index.json 機械可読) | すべての画風ライブラリ、動きカード、ナレーション文法、自作の画風を一覧;ライブラリ不足時は bash ~/video-forge/bootstrap.sh <id> を実行 |
| 1 / 6 審査 | references/review-standards.md | 質問時に動画タイプに応じたデフォルトチェック項目を提示し、ユーザーと一緒に審査基準カードを決定 |
| 6 審査 | references/review.md | 審査員起動、項目別判定、継続/停止の判断 |
| トラブルシューティング | references/troubleshooting.md | 依存関係インストール、レンダリング、スクリーンショット、ネットワークの問題 |
| アーカイブ | ~/video-forge/README.md、~/video-forge/recipes/_template.md | 制作完了後 |