Communitygithub.com

Amartileyton/autovideo

連続シーンのRemotionカメラシステム:必須の情報収集、承認済みリファレンスレビュー、アンチネオンルール、初回QAを備えたシステム。

autovideo とは?

このスキルは、Remotionを使用した連続的なカメラワークを実現するためのシステム「Cinematic Camera」を提供します。`remotion-best-practices` と `motion-graphics` と組み合わせて使用し、複数の独立したパネルを空間に配置するのではなく、一つの接続されたワールド内で共有カメラを移動させることで、統一感のある映像を作成します。まず、`motion-graphics` の情報収集ゲートに従い、フォーマット(4:3ハーフスクリーンまたは9:16フルスクリーン)と背景(ウォームライト、クリーンダークなど)を確認します。次に、承認済みのリファレンス(同じプロジェクト、製品、アスペクト比、配置、またはビジュアルメカニズムに関連する最新の3〜5件の承認済みレンダリング)を検査し、カメラキーフレーム、タイミング、色、密度などを分析して、作品が確立されたビジュアルシステムを継続していることを確認します。このスキルでは、ネオン、グロー、ブルーム、ガラスモーフィズム、サイバーパンク照明などの装飾的なエフェクトを絶対に禁止し、製品のアクセントはフラットで控えめに保ちます。カメラは事前に定義されたキーフレームタイムラインを使用して焦点とズームを制御し、特定のルールに従ったコレオグラフィー(例:動きのあるものにタイトに開始、アクションの完了をホールド、より大きなシステムを明らかに、コントラスト/ペイオフに移動、整然と終了)に従います。最終的なレンダリングをユーザーに表示する前に、8つの質問からなる初回拒否ゲートを通過する必要があります。これにより、フォーマットの確認、装飾的なエフェクトの欠如、本物のアセットの使用、承認済みリファレンスとの一致などが保証されます。このスキルは、V0、Bolt、Claude Code、Cursor、CodexなどのAIエージェント対応プラットフォームで使用するように設計されており、一貫性のある高品質な動画制作を支援します。

対応~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Amartileyton/autovideo/tree/HEAD/.agent/skills/cinematic-camera

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

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

ドキュメント

シネマティックカメラ

remotion-best-practices および motion-graphics と併用してください。切断されたパネルを虚空にポップアップさせるのではなく、一つの接続されたワールドを構築し、その中で共有カメラを移動させて映像を作り上げます。

必須の情報収集

計画やコーディングを始める前に、motion-graphics の情報収集ゲートに従ってください。見つからない場合は、次のように質問します。

どのフォーマットを希望されますか?4:3のハーフスクリーン(Instagram挿入用)か、9:16のフルスクリーン(Instagram用)ですか?また、希望する背景は、ウォームライト、クリーンダーク、ライトグリッド、ダークグリッドのいずれですか?

ユーザーに確認せずに9:16やダークをデフォルトにしないでください。ユーザーが選択を委ねた場合は、ウォームライトを使用します。

絶対的なビジュアル禁止

このスキルでは、ネオン、グロー、ブルーム、発光エッジ、色付きシャドウ、グラデーションオーブ、放射状の色の滲み、シアン-パープルのグラデーション、ガラスモーフィズム、サイバーパンク照明を決して導入しません。カメラの動きが、抑制の効いたシーンを「バイブス重視のAIデモ」に変えてはいけません。プロダクトのアクセントはフラットで控えめに保ちます。

必須の承認済みリファレンスゲート

計画またはコーディングを開始する前に完了します:

  1. 同じプロジェクト、製品、アスペクト比、配置、またはビジュアルメカニズムに関連する、最新の承認済みレンダリング3〜5件を検査します。
  2. ソースコンポジションを開き、カメラのキーフレーム、タイミング、スペーシング、タイポグラフィ、色、密度、エントランス、エグジット、エンドホールドを検査します。
  3. 実際のクリップまたは代表的なフレームを検査します。ファイル名だけでは不十分です。
  4. 本物のアセット(ロゴ、マスコット、スクリーンショット、録画、映像、以前の出力)を棚卸しします。
  5. クリップがどのように承認されたシステムを継続しているかを説明する、短いビートマップを作成します。
  6. プロジェクトのリファレンスが存在しない場合は、固定されたフォールバックを使用します:ウォームオフホワイトの物理的/編集的なワールド、ダークインク、ミュートされたニュートラル、1つの控えめなフラットなブランドアクセント、ニュートラルなシャドウ、装飾効果はゼロ。

リファレンスの優先順位:同じ動画 → 同じ製品/シリーズ → 同じアスペクト比/ユースケース → その他の承認済みリポジトリ例 → 固定フォールバック。

正規ギャラリー:https://github.com/Liamrjohnston/remotion-motion-graphics-skill

最近の承認済み作品はベースラインであり、オプションのインスピレーションではありません。目新しさのために新しい美学を発明しないでください。

コアアイデア

ビューポートよりも大きなワールドを一つ構築します。アクションに対してタイトにオープンし、それが完了するまでホールドし、コンテキストを明らかにし、コントラスト/ペイオフへ移動し、そして静止します。

パネルは存在してもかまいませんが、ワールドを共有し、意味のある空間的関係を持たなければなりません。空のスペースに独立して現れる、接続されていないカードは避けてください。

カメラリグ

焦点とズームに、一つの共有キーフレームタイムラインを使用します:

const ease = Easing.inOut(Easing.cubic);
const KEY_T = [0, 46, 62, 78, 96, 132, 174, TOTAL_FRAMES];

const fx = interpolate(frame, KEY_T, [/* 焦点 x */], {
  easing: ease,
  extrapolateLeft: 'clamp',
  extrapolateRight: 'clamp',
});
const fy = interpolate(frame, KEY_T, [/* 焦点 y */], {
  easing: ease,
  extrapolateLeft: 'clamp',
  extrapolateRight: 'clamp',
});
const z = interpolate(frame, KEY_T, [/* ズーム */], {
  easing: ease,
  extrapolateLeft: 'clamp',
  extrapolateRight: 'clamp',
});

<AbsoluteFill style={{backgroundColor: BG}}>
  <div
    style={{
      position: 'absolute',
      transform: `translate(${VIEW_W / 2 - fx}px, ${VIEW_H / 2 - fy}px) scale(${z})`,
      transformOrigin: `${fx}px ${fy}px`,
    }}
  >
    {/* ワールド座標系の全シーン */}
  </div>
</AbsoluteFill>
  • 寸法は確認されたフォーマットから取得し、隠れたデフォルトは使用しません。
  • ワールドの幅は通常、ビューポート幅の2〜2.5倍です。
  • 隣接するキーを繰り返すとホールドが作成されます。
  • カメラの移動は通常14〜24フレームかかります。
  • 安定したエディターホールドのために、ほぼ同じキーを2つ続けて終了します。
  • カメラ、カーソル、エフェクト、接続されたオブジェクトは、一つの座標系に保ちます。

コレオグラフィー

  1. すでに動いているものにタイトに開始します。
  2. プライマリアクションが完了するまでホールドします。
  3. そのより大きなシステムを明らかにします。
  4. コントラスト/ペイオフへ移動します。
  5. サポートオブジェクトが段階的に完了する間にズームアウトします。
  6. クリーンなカットのために静止します。

ルール:

  • カメラは次のアクションへ移動します。アクションはホールド中に完了します。
  • 1ビートにつき1つのプライマリアクション。
  • マイクロモーションは状態を示すためだけに使用します:タイピング、ティック、チェック、再生、進行状況、カーソル移動。
  • シーン置換よりも連続的な変換を優先します。
  • 狂ったようなホイップよりも滑らかな移動を優先します。
  • モーションは因果関係を説明します。弱いコンセプトを補うために使用してはいけません。

真正性とテキスト

  • 利用可能な場合は、実際のロゴ、映像、スクリーンショット、録画、UI、検証済みデータを使用します。
  • ジェネリックな色付きの四角、偽のマーク、架空のUI、偽のメトリクスを決して代用しないでください。
  • 製品名、ファイル名、カウンター、コマンド、進捗状況、実際のUIテキストは使用可能です。
  • フレームが空っぽに感じられるからといって、ナレーションの文章を繰り返したり、説明バッジを追加したりしないでください。

初回拒否ゲート

すべての質問に「いいえ」と答えられるまで、レンダリングを表示しないでください:

  1. フォーマットまたは背景が未確認でしたか?
  2. ネオン、グロー、色付き照明、グラデーションの滲み、ガラスパネル、バイブス重視のAI処理はありますか?
  3. シーンは、虚空に浮かぶ接続されていないジェネリックなカードの集まりですか?
  4. ユーザーが選択したか、承認されたリファレンスが必要としているわけでもないのに、ダークが使用されていますか?
  5. カメラの動きが因果関係を導くのではなく、装飾していますか?
  6. 本物のアセットが利用可能であるにもかかわらず、欠落していますか?
  7. 選択されたInstagramの配置で、重要な要素が判読不能ですか?
  8. 結果が、承認されたリファレンスのスペーシング、密度、マテリアル、モーションリズムと一致していませんか?

ゲートを通過するまで、非公開で修正してください。

QAと納品

  1. オープニング、各カメラの到達地点、トランジション、ペイオフ、エンドホールドの静止画をレンダリングします。
  2. 承認されたリファレンスと並べて、フレーミング、密度、アイデンティティ、マテリアルの抑制、洗練度を比較します。
  3. 本物のアセットが判読可能であることを確認します。
  4. ホールド→移動→ホールドであり、移動中にアクションが隠れていないことを確認します。
  5. 完全なMP4を検査し、空の移動、クロップ、デッドフレーム、ジェネリックなフィラー、ネオン/グロー、弱いエンドホールドがないか確認します。
  6. 同じ承認されたビジュアルシステムのように見える場合にのみ納品します。

技術的制約

  • useCurrentFrame()、spring()、interpolate() を使用してモーションを駆動します。CSSアニメーションは使用しないでください。
  • interpolate() の入力範囲は厳密に増加している必要があります。
  • ワールドは適度なサイズに保ちます。大きなぼかし/シャドウレイヤーはコストが高く、通常はビジュアルルールに違反します。
  • ティックデータには表形式の数字を使用します。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

関連スキル