Communitygithub.com

Collage Video Studio(コラージュビデオスタジオ)

再開可能で監査可能なペーパーコラージュビデオ制作スキル。実際のメディアバックエンド、QA、復旧、パッケージングを備えています。

Collage Video Studio(コラージュビデオスタジオ) とは?

このスキルは、AIアシスタント(Claude Code、Cursor、Codexなど)がペーパーコラージュスタイルのビデオ制作をプロジェクトとして管理・実行するための包括的なフレームワークです。`project.json`にクリエイティブな意図を保持し、生成結果は`state.json`に、プロバイダ実行はJSONLマニフェストで追跡し、最終出力を`media/`、`qa/`、`reports/`、`exports/`に整理することで、中断・再開可能なワークフローを実現します。トピック、フッテージ、写真の3つの入力モードをサポートし、Remotionを中心としたレンダリングエンジンと連携します。各制作段階(ストーリー承認、ビジュアルディレクション承認、メディア生成、QA、パッケージング)はゲートで管理され、チェックポイントによる復元や、プロバイダ障害時の復旧メカニズムを備えています。また、詳細なリファレンスドキュメント群に従って、レイヤードモーション、編集可能なテキスト/データグラフィック、多層パララックス、アーティキュレーションリグ、スムーズなキーフレームアニメーションなど、高度な制作技法をサポートします。

対応~Claude Code~Codex CLI~Cursor
npx skills add DingYi1024/collage-video-studio

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

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

ドキュメント

Collage Video Studio(コラージュビデオスタジオ) は何をしますか?

プロダクションを再開可能なプロジェクトとして指揮します。クリエイティブな意図は project.json に、生成結果は state.json に、プロバイダの実行は JSONL マニフェストの背後に、派生出力は media/、qa/、reports/、exports/ に保持します。

リクエストをルーティングする

会話を読み、提供されたプロジェクトディレクトリがあればそれを検査してから、ユーザーが既に提供した情報について尋ねてください。

ユーザーの意図アクション
開始、作成、生成初期化してストーリーをドラフトする
続行、再開、次は何かproject_ops.py next を実行し、その単一アクションを実行する
ステータス、ブロック、失敗studio.py status --verbose を実行し、最小の単位を診断する
保存、チェックポイント不変のプロジェクト/状態チェックポイントを作成する
戻る、復元チェックポイントを一覧表示し、ユーザーが選択したものだけを復元する
監査、確認、公開準備完了技術的QAを実行し、その後人間によるクリエイティブレビューを実施する
レポート、パッケージ、引き継ぎ根拠のあるレポートとポータブルアーカイブを生成する
プロバイダの追加または変更バックエンド契約を読み、アダプターを実装する

プロジェクトや使用可能なブリーフが存在しない場合は、アイデア/ソース、目標時間、言語のみを尋ねてください。ユーザーまたはターゲットプラットフォームがすでにフレームを固定していない限り、--aspect auto を使用します。解決されたアスペクトとその理由を最初のビートマップレビューで表示します。

入力モードを選択する

  • topic: アイデアからナレーションとビジュアルを作成します。
  • footage: 既存のパフォーマンスビデオを、タイミングと元のオーディオを保持したままスタイル変更します。
  • photo: 実際のポートレート写真または製品写真1枚を、生成されたシーンに固定します。

元の写真やフッテージを決して変更しないでください。

初期化

このスキルディレクトリを見つけて、次を実行します。

python scripts/studio.py doctor
python scripts/studio.py init <project-dir> --mode topic \
  --topic "<topic>" --duration 30 --aspect auto --language zh

以下を読んでください。

  • production-standard-v6.md: 新しいポートフォリオプロダクションごとに最初に読むこと。正式なRemotionフィルム、プロダクションプロベナンス、フィルム全体の多様性、レスポンシブディレクション、アクションプルーフ、プロジェクト全体のコンポジションプルーフを必須とします。
  • production-protocol-v5.md: 新しいプロダクションごとに最初に読むこと。シナリオ、ストーリーボード、ソースファミリー、プロバイダ費用、タイミング、リビジョン、プルーフ、ランタイム無効化をバインドします。
  • story-system.md: ビートを書く前に読むこと。
  • visual-system.md: テーマやプロンプトを書く前に読むこと。
  • layered-motion.md: レイヤーを独立して動かす場合や決定論的パララックスが必要な場合に読むこと。
  • advanced-layer-primitives.md: 登録されたソースファミリー、ポーズシーケンス、永続的な可視性、ループストリップ、シード付きモチーフフィールドを作成する前に読むこと。
  • editorial-composition.md: 再帰的グループ、編集可能なテキスト/データグラフィック、カメラ結合パララックス、レスポンシブディレクタープランを作成する前に読むこと。
  • semantic-contracts.md: 名前付きアイデンティティ、空間トポロジー、メカニズムの説明、インフォグラフィックを生成する前に読むこと。
  • quality-gates.md: カットアウトやコンパイルされたシーンを受け入れる前に読むこと。
  • responsive-direction.md: 複数のアスペクト比を提供する場合に読むこと。
  • provider-lifecycle.md: 有料生成、リジェクション、リカバリー、差し替え、意図的なアーティファクト再利用の前に読むこと。
  • production-profiles.md: 有料生成の前に読むこと。ドラフト/バランス/フルデプスのフロア、正確な試行予算、アーティファクトフィンガープリント、QA無効化を定義します。
  • directed-motion.md: ポートフォリオグレードのレイヤードショットをアニメーション化する前に読むこと。プライマリアクション、物理的原因、3フェーズタイミング、密度、ホールドを定義します。
  • motion-audit.md: フォロワーレイヤー、コンタクトロックを追加する場合、またはデリバリー前にトランスフォームジャンプをチェックする場合に読むこと。
  • smooth-keyframes.md: 人やオブジェクトをアニメーション化する際に、解剖学的リアリズムよりも滑らかな再生が重要な場合に読むこと。
  • articulated-rigs.md: 人、動物、またはメカニズムが接続された肩、肘、翼、ホイール、またはヒンジの動きを必要とする場合に読むこと。
  • locomotion.md: アーティキュレーションされたキャラクターのルートをフレーム全体で動かす前に読むこと。交互に接地する足と全身の歩行サイクルレビューを定義します。
  • production-standard.md: ポートフォリオグレードのペーパーアニメーション、作成されたポーズ、自然な音声、ソーシャルビデオ配信品質のために読むこと。
  • production-closure.md: Remotionエディター、正確なナレーション主導のフレーム、意味論的実行、登録された深度スタック、3種類のプルーフのために読むこと。
  • voice-continuity.md: ナレーションを書いたり、生成したり、承認したりする前に読むこと。
  • delivery-qa.md: レンダリング前、またはぎくしゃくした動き、フリーズしたショットテール、ファイナルミックスのラウドネスを診断する前に読むこと。
  • aspect-direction.md: ランドスケープかポートレートをロックする前に読むこと。
  • project-schema.md: ファイルやバックエンドを編集するときに読むこと。
  • operations.md: ジョブを再開、復旧、または実行するときに読むこと。
  • replicate-backend.md: バンドルされたプロダクションバックエンドのために読むこと。
  • acceptance.md: 完了を宣言する前に読むこと。

ゲート1 — ストーリーを承認する

creative.arc、beats、shots を記入します。

承認前に、正確に3つのシナリオをコンパイルし、1つの正確なキャップを承認し、リズミカルなストーリーボードをコンパイルします。

まず、バージョン管理されたスタイルカード、アスペクト、パララックス受け入れ判断を記録します。

python scripts/intake.py choose --aspect <16:9|9:16|1:1> \
  --style <style-id> --parallax <none|restrained|cinematic> \
  --note "<human decision>" --output <project-dir>/build/intake-decision.json
python scripts/production_protocol.py scenarios project.json \
  --output build/scenarios.json
python scripts/production_protocol.py approve build/scenarios.json <profile> \
  --note "<human decision>" --output build/scenario-decision.json
python scripts/production_protocol.py storyboard project.json \
  build/scenarios.json build/scenario-decision.json \
  --output build/storyboard.json

選択されたキャップを production.approved_visual_attempt_cap にコピーします。プロファイルは上限であり、実行フロアでもあります。回復リザーブを自動的に消費しないでください。

  • 冒頭は3秒以内に理解できるようにします。
  • 各ビートに1つの主張または感情の転換を与えます。
  • アイデンティティ、トポロジー、メカニズム、インフォグラフィックの主張に対して意味論的契約を宣言します。
  • すべての事実の主張に、それを提示するビート内でプルーフモーメントを与えます。
  • すべてのシーンに少なくとも3つの連続したリズムフェーズと、確立/アクション/ピーク、および最終プルーフモーメントを与えます。最終フェーズは正規化された 0.82 以降に留まります。
  • 重要なサウンドとビジュアルアクションを、1つのイベントカタログ内で同じプルーフIDにバインドします。
  • transition_intent を reveal、compare、traverse、explain、emphasize、change-time、または change-place から設定します。コンパイラーに一貫したメカニズムを選択させます。
  • コンテキスト+ディテールを優先します:ナレーションされるビートごとに2つの異なるショット。
  • 通常のプロダクションショットは3〜6秒に保ちます。
  • 具体的な element_motion を記述します。「動的にする」のような表現は使用しないでください。
  • 指示されたレイヤードワークの場合、shot.direction.primary_action、physical_cause、motion_density を追加します。1つのショットは1つの読み取り可能なプライマリアクションを持ちます。
  • フッテージの場合、ビートの start_s と end_s を設定します。
  • 写真の場合、source.anchor_policy を定義します。

実行:

python scripts/studio.py validate <project-dir> --stage story

ビートマップをユーザーに表示します。承認前にメディアを生成しないでください。承認後:

python scripts/studio.py approve <project-dir> --gate story --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "story approved"

ゲート2 — ビジュアルディレクションを承認する

creative.candidate_themes の下に正確に3つの候補を作成します。媒体、パレット、タイポグラフィ、テクスチャ、コンポジション、モーションの特性が異なるようにします。

python scripts/studio.py jobs <project-dir> --stage styles

同じ代表的なビートですべてのプレビューを実行し、各結果を登録します。3つすべてを一緒に表示します。ユーザーが選択した後:

python scripts/studio.py choose-theme <project-dir> <theme-id>
python scripts/studio.py approve <project-dir> --gate style --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "visual direction approved"

サポートされていないアスペクト比を黙って代用しないでください。

メディアを生成する

各ステージについて:

python scripts/studio.py jobs <project-dir> --stage images
python scripts/job_runner.py <project-dir> --stage images \
  --adapter <adapter.py> --dry-run
python scripts/job_runner.py <project-dir> --stage images \
  --adapter <adapter.py> --retries 1

新しいトピックおよび写真プロジェクトは、デフォルトで決定論的レイヤードモーションを使用します。ユーザーが編集可能性や再現性よりもモデル作成による変形を明示的に評価する場合にのみ、生成的イメージ・トゥ・ビデオを使用します。motion、voice、music のメディアステージを繰り返します。

リクエストが独立して動かせる紙オブジェクト、編集可能なパララックス、または明示的な前景/中間/背景制御を必要とする場合、motion.pipeline を layered に設定し、次を実行します:

python scripts/studio.py jobs <project-dir> --stage layers
python scripts/job_runner.py <project-dir> --stage layers --adapter <layer-aware-adapter.py>
python scripts/studio.py jobs <project-dir> --stage motion
python scripts/job_runner.py <project-dir> --stage motion --adapter <layer-aware-adapter.py>

透明PNGと layers.json の契約については layered-motion.md を読んでください。フラット化されたキーフレームをフレーム全体のズームやパンで表現することは、マルチレイヤーモーションとして扱わないでください。スムーズな配信のために、すべての新しいプロダクションプロジェクトはデフォルトで30 fpsを使用します。motion.frame_conversion: "auto" のままにしておくと、ターゲット未満のプロバイダクリップは、重複フレームでパディングされる代わりにモーション補間されます。内部キーフレームには連続曲線を使用し、ループオブジェクトを phase_s でずらし、低フレームレートのGIFではなくMP4を検査します。低速な動きで1ピクセルのステッピングが見られる場合は、2倍オーバーサンプリングを使用します。フッテージモードは images と layers をスキップします。元のオーディオを保持するフッテージは voice をスキップします。

ホスト側の画像ツールで作成されたメディアの場合、生成前に呼び出しを予約し、その後正確な試行を完了または拒否します:

python scripts/external_media.py reserve <project-dir> image:<source-id> \
  --provider <provider> --model <model> --prompt "<exact production prompt>"
python scripts/external_media.py complete <project-dir> <attempt-id> <output-file>
python scripts/external_media.py reject <project-dir> <attempt-id> \
  --reason "<review failure>"

未登録のホスト出力を直接レイヤーパッケージにコピーしないでください。ポートフォリオプロダクションは、プロバイダ生成、ユーザー提供、ライセンス取得、依頼制作、またはフィンガープリントリンクされた派生ソースのみを受け入れます。placeholder: true は常に配信ブロックとなります。

編集作業の場合、1つの再帰的コンポジションを作成し、個別のディレクタープランをコンパイルします:

python scripts/editorial_contract.py composition.json \
  --kind composition --output result/manifests
python scripts/asset_quality.py result/manifests/composition-9x16.json \
  --mode composition

ランドスケープレイアウトをポートレートにクロップしないでください。タイトル、主題、データ、注釈、背景ペーパーをノードオーバーライドで再配置します。すべてのアスペクトについて、安全ゾーンと編集可能なテキストの適合を検証します。コンテンツが正確で編集可能でなければならない場合は、ローカルのベクター/テキスト/チャートプリミティブを使用します。構造化パス、曲線、ラベル、マークには data-svg を使用します。注釈に明示的な排他条件を与えます。コンパイラーはすべての注釈にわたって衝突のない位置を見つけるか、停止しなければなりません。

持続的な水平移動の場合、1つの looping-environment を作成し、world_motion.py を実行します。遠景/地面ストリップ、深度速度の増加、スクリーン/ワールド参加者アンカー、近レイヤーオクルージョン、3つのアスペクトプラン、継ぎ目の証拠、署名されたカメラ補償軌跡が必要です。production-standard-v6.md と production-protocol-v5.md を読んでください。

プロバイダ使用前に結合された source_packages を宣言します。相対的な後方/被写体/前方モーションには、1つの完全な登録済みファミリーと、16:9、9:16、1:1 のリビールエンベロープが必要です。registered_family.py でそれを導出します。孤立したメンバーを生成したり置き換えたりしないでください。クロマ除去の前に、手つかずのプロバイダネイティブキープレーンを観察し、そのソース、ポリシー、観察フィンガープリントを保持します。

実際のRemotionワークスペースで同じマニフェストを検査および編集します:

cd workspace
npm ci
npm run dev

プレーヤーは、再帰的グループ、深度、キーフレーム、編集ポイント、状態シーケンス、永続的可視性、一時的強調、ループストリップ、モチーフフィールド、プルーフモーメント、視聴覚キューバインディング、選択されたディレクタープランを保持する必要があります。リリース前に npm run build と npm run render で検証します。

洗練された作品の場合、motion.directed_motion を true に設定し、directed-motion.md に従います。割り当てを満たすためにすべてのレイヤーをアニメーション化しないでください。プライマリレイヤー、物理的原因、予告/アクション/セトルフェーズ、および意図的なリーディングホールドを宣言します。顔、床、地平線、またはテーブルは通常、証拠が動いている間は安定しているべきです。予告とセトルに異なるタイミングが必要な場合は、キーフレーム到着ごとに ease を使用します。

ホイール、ヒンジ部品、炎、衣服、およびその他の動機付けられた二次的応答を follow で取り付けます。物理的に共有する親プロパティのみを継承します。direction.secondary_responses を宣言し、direction.contacts で植え付けられた、または着地したプロパティをロックします。

実行...

関連スキル