Communitygithub.com

vidmoat/layered-motion

モーショングラフィックスを後から編集可能にするスキル。アフターエフェクツ風にレイヤーとキーフレームで構成します。ローワーサード、アニメーションタイトル、キネティックタイポグラフィ、スッタβー表示、ロゴスティング、コールアウトなど、手動でのリタイミングやスタイル変更が必要なケース、または既にタイムライン上にコンポジションがある場合に使用します。

layered-motion とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が動画編集プロジェクト内で後編集可能なモーショングラフィックス(コンポジション)を構築するためのものです。各プロパティを個別にキーフレームアニメーションするレイヤー構成を作成し、ユーザーが後から簡単にタイミングやスタイルを変更できるようにします。対応プラットフォームの詳細は明示されていませんが、MCPツールやコマンド呼び出しを利用して、コンポジションの追加、レイヤーの操作、キーフレームアニメーション、トラックマット、エクスプレッション、テキストアニメーターなどを駆使します。ワークフローは「検索→小さく開始→キーフレームアニメーション→読み取り→フレーム確認」の順で進みます。ローワーサードや線の描画、図形のモーフィングなど具体的なユースケースに応じたツール選択のガイドラインも提供されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vidmoat/skills/tree/HEAD/skills/vidmoat/layered-motion

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

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

ドキュメント

レイヤードモーション(コンポジション)

コンポジションとは、複数のレイヤーで構成されたモーショングラフィックであり、各プロパティが個別にキーフレーム設定されています。ユーザーはコンポジションパネルでこれを開き、変更を加えることができます。グラフィックが編集される可能性が高い場合(名前が変わるローワーサード、リタイミングされるタイトルなど)に作成します。一回限りの編集予定のないグラフィックには、モーションコンポーネントやHTML要素で十分です。convertToComposition を使用すると、モーションコンポーネントやTSXコンポーネントを後でレイヤーに変換できます。

ワークフロー

  1. 検索する: ケイパビリティを検索し、種類 workflows、ID compositions で契約を探し、get_command_schema(MCP)または searchCatalogue 種類 commands、ID editComposition ですべての操作を確認します。
  2. 小さく開始する: 必要なレイヤーをコンポジションのピクセル単位で addComposition します。各レイヤーには、それが何であるかがわかる名前を付けます(「Name」「Role」「Bar」など)。ユーザーはパネルでその名前を読み取り、エクスプレッションもそれでレイヤーを検索します。
  3. キーフレームでアニメーション化する: プロパティは一度に一つずつ設定します。キーフレームのイージングは、そのキーに向かう動きを決定します。開始時は easeOutCubic(イーズアウト)、終了時は easeInCubic(イーズイン)を使用し、開始時間は0.4~0.6秒に収めます。
  4. 読み戻す: 次の編集の前に get_project(clips[].composition)で実際のレイヤー名、アニメーター、パス、エフェクトIDを確認します。
  5. フレームを確認する: 開始時、静止時、終了時のフレームを確認してから完了とします。

どのツールでどの表現を

  • 出現する文字: テキストアニメーター(多数のテキストレイヤーにキーを打つ代わりに)。コードや読み上げられるキャプションには textPreset typewriter、パンチの効いたフックには wordPop、落ち着いたタイトルには lineRise、エレガントな表示には fadeByChar を使用します。どれも合わない場合は、setAnimator で独自のアニメーターを作成します(unit、shape、range)。
  • シェイプのワイプや表示: マスクの幅やポイントをキーフレーム設定するか、表示が別のレイヤーの形状に従う場合はトラックマットを使用します。
  • 線が自動的に描かれる(アンダーライン、単語を囲む円、矢印): ストロークとトリムパスを持つシェイプレイヤーで、trimEnd を0から100にキーフレーム設定します。ラウンドキャップは手描きのように、バットキャップはカットされたように見えます。
  • シェイプが別のシェイプに変形する: パスのポイントをキーフレーム設定します。すべてのキーでポイント数が同じである必要があります。
  • 動き続けるもの(穏やかな浮遊、パルス): 多数のキーの代わりにエクスプレッション(value + wiggle(1, 6) または loopOut("pingpong"))を使用します。wiggle は小さく保ちます(数ピクセルなら生き生きと、数十ピクセルなら壊れているように見えます)。
  • あるレイヤーが別のレイヤーに追従する: それを読み取るエクスプレッション(layer("Bar").x)を使用します。これにより、リーダーを後で編集するとフォロワーも連動します。
  • 奥行きと仕上げ: エフェクトスタック(ドロップシャドウ、グロー、ストローク、カラーまたはグラデーションフィル、ブラー)。グラフィックごとにシャドウは1つ、柔らかく低めに。グローは明るい背景に暗い文字の場合のみ使用します。
  • 繰り返しまたは再利用可能なブロック(3回使用するネームタグ): プリコンポーズして、そのプリコンポを3回配置し、それぞれに異なるタイムオフセットを設定します。

レイヤーとしてのローワーサード

  1. バー(長方形、ブランドカラー)に長方形マスクを適用し、幅を0.5秒かけて0から最大値にキーフレーム設定(easeOutCubic)。
  2. 名前(テキスト、太字)をその上に、0.15秒遅れて textPreset lineRise で表示。役職(テキスト、細字、小さい)はさらに0.1秒後に fadeByChar で表示。
  3. 最低2.5秒間静止。終了時はグループ全体の不透明度かバーのマスクを0.3秒かけて0に戻す(easeInCubic)。
  4. 安全領域の下部(ローワーセーフエリア)に配置し、キャプションと重ならないようにします。

注意点

  • キーフレーム設定されたプロパティに setProps を使用する場合は time が必要です。これによりその時間にキーが設定されます。time がないと拒否されます(ベース値は表示されません)。
  • ロックされたレイヤーは、setLayer { locked: false } を実行するまで編集を拒否します。
  • トラックマットは直上のレイヤーを使用するため、並び替えでペアリングが変わります。
  • エクスプレッションは小さな言語です。time、value、index、duration、およびリストされた関数のみが使用可能です。それ以外は拒否され、使用可能な関数のリストが返されます。
  • トリムとストロークはシェイプのストロークに適用され、フィルには適用されません。

関連スキル:motion-graphics、titles、text-led-video。専門家:motion-designer。

Individual skills in this repo

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

関連スキル