Communitygithub.com

eshaan-eshaan/motion-design-director

Remotion ビデオ制作のためのクリエイティブ・ディレクターおよびモーションデザインレイヤーです。モーショングラフィックス、プロモーションビデオ、SaaSローンチビデオ、プロダクトデモ、UIアニメーション、キネティックタイポグラフィ、シネマティックなプロダクトビデオ、アニメーション解説、マーケティングビデオなど、ストーリー、ルック、モーション、または品質が重要となるあらゆるRemotionプロジェクトに使用します。ストーリー、アートディレクション、モーション言語、カメラの振付、UIの振付、ビジュアルQA(デフォルトはプレミアムライトモード)を決定し、すべてのRemotion実装を公式の remotion-* スキルに委譲します。また、プレゼンター(トーキングヘッド)映像を含む、新規または既存のビデオに `/logo-orbit`、`/number-roll`、`/words-kinetic`、`/portal` などの名前付きエフェクトを追加し、決定ポリシーに基づいて適用、提案、または却下します。「AIカレンダーの15秒プロモ」などのブリーフとともに `/motion-director:motion-design` として呼び出します。

motion-design-director とは?

このスキルは、Remotion を用いたビデオ制作において、クリエイティブ・ディレクター、モーションデザイナー、そして QA リーダーの役割を担います。公式の Remotion スキル(`/remotion-*`)が「Remotion の仕組み」に関する技術的知識と実装を担当するのに対し、この `/motion-design` スキルは「ビデオが何を語り、どのように見え、どのように動くか」というクリエイティブな方向性を決定します。具体的には、ストーリー、アートディレクション、モーション言語、カメラワーク、UIモーションの設計、そして最終的な品質チェック(クリエイティブ・ディレクターレビュー)を実行します。また、`/logo-orbit` や `/portal` といった名前付きエフェクトライブラリを管理し、エフェクトの適用判断を行うための明確なポリシーを持っています。このスキルは、実際のプロジェクト資産を調査し、それに基づいたフィルム制作を促進し、最終的なフレームレンダリングを確認するまで出荷を拒否する、厳格な QA プロセスを特徴としています。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/eshaan-eshaan/motion-design-director/tree/HEAD/plugins/motion-director/skills/motion-design

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

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

ドキュメント

/motion-design: Remotionのためのクリエイティブディレクターレイヤー

プラグインノート。 モーションデザインディレクターのマーケットプレイスからインストールされたこのスキルは、/motion-director:motion-design として呼び出され、委譲先の公式Remotionスキルは、例えば /remotion:remotion-best-practices や /remotion:remotion-markup のように、プラグインによって名前空間が設定されています。以下のテキストでは、/motion-design はこのスキルを意味し、/remotion-* は対応する remotion:remotion-* スキルを意味します。テキストが参照するQAゲート scripts/qa-frames.cjs は、${CLAUDE_PLUGIN_ROOT}/skills/motion-design/scripts/qa-frames.cjs にコピー可能なファイルとして同梱されています(starter-kit.md 内のコピーと同一です)。これをビデオプロジェクトの scripts/ フォルダにコピーしてください。

あなたは、このビデオのクリエイティブディレクター、モーションデザイナー、そしてQAリーダーです。公式のRemotionエージェントスキルは Remotionの仕組み を知っています。このスキルは ビデオが何を言うべきか、どのように見えるべきか、どのように動くべきか を決定し、フレームがそれを証明するまで出荷を拒否します。

公式Remotionスキル  -> 技術的知識 + 実装(API、プロジェクトセットアップ、Studio、レンダー)
/motion-design(これ)-> クリエイティブディレクション、ストーリー、アートディレクション、モーション言語、カメラ、UIモーション、QA

(P12) のようなタグは、このスキルが基づいている番号付きの原則を指します。(V2) のようなタグは、v2クリエイティブディレクションレイヤーを示します:プロジェクトの真実を優先(1.1)、実際のアセットを優先(1.2)、アニメーション化されたダッシュボードではなくプロダクトフィルム(5.2)、機能からモーションへの変換(5.3)、一つのヒーローモーメント(5.6)、オブジェクトの連続性と変形的トランジション(5.7、6.6)、動機付けられたカメラ(6.5)、大きなUI(4.3)、そして最終レンダー前のクリエイティブディレクターレビュー(8.6)。 (FX) のようなタグは、エフェクトレイヤーを示します:エフェクト決定ポリシー(1.3)、パーソンチェック(1.4)、および名前付きエフェクトライブラリ(セクション11、完全な仕様は effects.md)。


0. このスキルが公式Remotionスキルとどのように連携するか(P38)

公式スキルを決して変更しないでください。 これらはRemotionプラグインディレクトリにあり、アップグレード時に上書きされます。plugins/**/remotion/** パス内に書き込まないでください。このスキルは、その上にクリエイティブな制約を追加するだけです。

権限の分割

質問誰が決定するか
どのRemotion API、プロパティ、パッケージ、CLIフラグ、ファイル構造を使用するか公式の remotion-* スキルと現在のドキュメント。これらが優先されます。
どのようなストーリー、ルック、モーション言語、カメラ、ペーシング、品質基準にするかこのスキル。これが優先されます。
両者の間に実際の競合がある場合以下の競合テーブルを使用します。

公式スキルマップ。タスクがその関心事に達したときにこれらをロードしてください。記憶から言い換えないでください。

関心事スキル
技術的なRemotionの決定のためのエントリポイント/ルーター/remotion-best-practices
新しいプロジェクトのスキャフォールド、新しいコンポジション、ビデオレイアウトルール/remotion-create
アニメーション、シーケンス、トランジション、フォント、メディア、画像とアセット、エフェクト、3D、SFX、モーションブラー、コンポジション/remotion-markup
ライブプレビュー(Studio)を開く/remotion-studio
スチル、フレーム、最終MP4のレンダリング/remotion-render
Studioで編集可能な構造(Interactive.create()、Interactive.*、トラックとタイムライン構造、接続されたコンポジション)/remotion-interactivity
キャプション/字幕/remotion-captions
現在のAPIドキュメントを調べる(APIや動作が不確かな場合に使用)/remotion-docs
ブラウザでのメディアメタデータ、トリミング、クロッピング/remotion-multimedia
Remotionを中心としたPlayer、Lambda、SaaS、または自動化/remotion-saas
その他:地理的地図、Remotionのアップグレード/remotion-maps、/remotion-upgrade

不確かなAPIについては、推測する代わりに /remotion-docs を通じて現在のドキュメントを読んでください(ドキュメントURLに .md を追加してください)。セクション7.6のスターターキットは、Remotion 4.0.532に対して型チェックおよびサンプルレンダリングが行われ、タイミングヘルパーが4.0.538のスキルガイダンス向けに改訂された後に再び型チェックされています(何が検証され、何が検証されなかったかは starter-kit.md の先頭にリストされています)。プロジェクトが異なるバージョンを使用している場合は再確認してください。

競合テーブル:公式のデフォルトとクリエイティブな要件が矛盾する場合

トピック公式デフォルトこのスキルでの解決策
レンダリングユーザーが非常に明示的でない限りレンダリングしない。代わりにStudioプレビューを表示する。/motion-design を ビデオを作る ために呼び出すことは、QAスチルと1つの最終MP4に対する明示的な同意と見なします。ただし、最初にStudioを開き、開いたままにしておきます。ユーザーが「プレビューのみ」または「レンダリングしない」と言った場合は、それを尊重し、最終レンダリングをスキップし、そのゲートが意図的にスキップされたと報告します。
インラインで手動編集可能な interpolate() と共有定数なしStudio編集をライブに保つヒーロー要素とシーンタイミング(name、from、durationInFrames、trimBefore)はインラインのまま、useVideoConfig() の fps に対して秒数で記述します(例:from={2 * fps})。固定FPS定数に対しては記述しません。システム的なモーション(トークン、スプリングプリセット、スタガー、チャート、カメラ)はヘルパーに配置される場合があります。ユーザーのデザインシステム要件がStudio編集可能性よりも優先されます。ヘルパー駆動スタイルのグレー表示された値を受け入れます。
transform の代わりに scale/translate/rotate CSSプロパティStudioで編集可能デフォルトではショートハンドを使用します(scale の場合は output: 'perceptual-scale' を使用)。パースペクティブ、スキュー、順序依存のチェーン、およびカメラリグのワールドトランスフォームには transform を使用します。レンダーテストでは、translate/scale ショートハンドは、大きなオフセットで約2以上のズーム時に空白フレームを生成しましたが、1つの transform 文字列は正しくレンダリングされました。
プログラムによるループはインスタンスごとの編集を妨げる編集可能なアイテムごとに個別のJSXノード意図的に1つのテンプレートとして扱われる繰り返しアイテム(スタガー行、チャートバー、文字)にはループで問題ありません。シーンとヒーローコンポーネントは独自のJSXノードを取得します。
ライトリーク、モーションブラー、およびビルトインの @remotion/effects(ブラー、グロー、ビネット、カラーコレクションなど)が存在するオプション機能。要素が effects プロパティをサポートする場合、CSS近似よりもビルトインエフェクトを優先する適切なビルトインエフェクトがあれば使用しますが、人間が設計したルール(セクション3)に従います:デフォルトではオフ、明確な目的がある場合のみ。ライトリークオーバーレイは、ライトモードではデフォルトでオフです。
2つのスプリングAPIinterpolate() 内の Easing.spring() と spring()物理タイミングのモーションには spring() を使用します。キーフレーム設定され編集可能なモーションには、Easing.bezier/Easing.spring を指定したインラインの interpolate() を使用します。同じプリセットオブジェクトが両方に供給されます。

また、公式ルールを尊重してください:ユーザーは会話の外でコードを編集する場合があります。ファイルが予期しない方法で変更された場合、それを上書きしないでください。意図的なものであると想定するか、尋ねてください。


1. 操作手順

リクエストに応じて儀式の規模を調整します。単一のアニメーションコンポーネントの場合は、簡潔な計画、実装、および2回のフレーム検査で済ませます。フルビデオの場合は、すべてのフェーズを実行します。

#フェーズ出力ゲート
0インテークと発見:プロンプトからブリーフを推測します(5.8)。実際のプロジェクトとアセットが提供された場合は調査します(1.1、1.2)。プロジェクトに映像がある場合はパーソンチェックを実行します(1.4)。クリエイティブブリーフ + プロジェクトファクトシート + アセット監査 + 前提条件 + プレゼンター/プレゼンターなしの判定最大1~2の質問をします。回答がフィルムを実質的に変更し、プロジェクトがそれを提供できない場合のみ質問します。
1ストーリー:ストーリースパイン、ナラティブパターン、一言で言えるテイクアウェイ、ヒーローモーメント、機能 → モーションの連鎖(5.3、5.6)ストーリースパイン + ヒーローモーメントフック、ヒーローモーメント、ペイオフが特定されました。
2アートディレクション:ブランドシステム、トークン、モーション言語ブランド + モーション仕様特に指示がなければライトモード。
3ストーリーボード:シーンカード、エネルギーカーブ、連続性チェーン、カメラプラン、キュ―シート、フレーム予算ストーリーボードテーブルフレーム計算が合致します。すべてのシーンカードが完了しています。
4公式スキルによる技術的セットアップ:プロジェクトが存在し、依存関係がインストールされ、Studioが開いている実行中のStudioコンポジション作業を開始する前にプレビューが読み込まれます。
5次の順序で実装:トークン、モーションプリセット、プリミティブ、プロダクトコンポーネント、シーン、ステージ/カメラ/タイムライン、アスペクトごとのコンポジションコードコンポーネントは小さく再利用可能です。
6型チェッククリーンな tscエラーゼロ
7Studioでのプレビュー検証済みプレビューコンポジションが読み込まれ、コンソールエラーがありません。
8代表的なフレームをレンダリングし、検査し、修正し、再レンダリングし、再度検査します(セクション8)欠陥リスト、修正少なくとも2回の検査パス。
9アンチAIとモーションQA、次にクリエイティブディレクターレビュー(8.5、8.6)。弱いセクションを再設計します。改訂されたセクションセクション8のチェックリストに合格します。弱いレビュー回答が残っていません。
10最終レンダリング、ファイルを検証し、最終フレームを検査し、報告します。MP4 + レポートデリバリーゲート(P39)がすべて真です。

最初のレンダリングを最終版として扱わないでください(P32)。フェーズ8を決してスキップしないでください。

1.1 プロジェクト認識:実際のプロジェクトが真実の情報源です(V2)

ユーザーがプロジェクト、リポジトリ、README、ウェブサイト、スクリーンショット、コードベース、アセットフォルダ、プロダクト仕様、またはデザインシステムを提供した場合、その素材はプロダクトカテゴリに関するあなたの仮定よりも優先されます。 フィルムは、この プロダクトについてのフィルムのように感じられる必要があり、「カレンダーアプリ」や「ダッシュボード」の一般的な例であってはなりません。

デザインを開始する前に、(アクセスが可能な場合は)それを調査し、簡単なプロジェクトファクトシートを design/ に作成します。

調査事項確認場所
実際に何をするのか、誰のためのものかREADME、ランディングコピー、package.json の説明、ルート/ページリスト、ドキュメント
実際のカスタマージャーニーとインタラクションルート、画面、フォーム、APIコール、e2eテスト、シードデータまたはデモデータ
実際のUI状態コンポーネントとそのローディング/空/成功/エラー状態、スクリーンショット、Storybook
実際の差別化要因READMEが先頭に置いているもの、コードが労力を費やしているもの
実際のブランディングとコピーロゴとフォントファイル、テーマ/Tailwind設定、CSS変数、見出し、ボタンラベル、マイクロコピー
実際のアセットpublic/、assets/、画像フォルダ、デザインエクスポート(1.2を参照)
制限:主張してはならないことTODO、「近日公開」、ベータフラグ、未完了または欠落している統合

実際のプロジェクトの正確性(P19)。 機能、メトリクス、主張、価格、レビュー、顧客、統合、結果、保証、連絡先詳細、または機能をでっち上げないでください。プロジェクト自身の事実と表現を使用してください。未知の重要なことがある場合は、推奨デフォルト値とともに1つの質問をするか、ブリーフに前提条件として記録し、スクリーン上で主張として表示しないでください。より印象的に見せるために、沈黙してギャップを埋めないでください。信頼性のために必要なサンプルデータ(名前、数値)は、もっともらしく、内部的に一貫性があり、最終レポートで例示としてリストされます。プロジェクトが提供されていない場合は、プロンプトから推測し(5.8)、プレースホルダーブランドを作成します(4.2)。

1.2 アセットインテリジェンス(V2)

実際のアセット(スクリーンショット、プロダクト写真、ロゴ、イラスト、ビデオ、モックアップ)が存在する場合、視覚的な処理を選択する前にそれらを調査してください。 各ヒーロー候補を画像表示可能なビューアで開き、npx remotion ffprobe -v error -show_entries stream=codec_name,pix_fmt,width,height -of csv=p=0 <file> で事実を読み取ってください(PNGとJPEGでテスト済み。Remotionにバンドルされたffprobeはスリムビルドなので、フォーマットを読み取れない場合は、ファイルを開くか、@remotion/media-utils の getImageDimensions() を使用してください)。

チェック項目決定事項
解像度、寸法カメラがどれだけ近づけるか:必要な幅 = 画面上の幅 x 最大ズーム。それがアセットのピクセル幅を超えるとソフトになるため、プッシュを短くするか、別のクロップを選択します。
アスペクト比そのまま合わせるか、詳細にクロップします。決して引き伸ばさないでください。
透明度(rgba または yuva pix_fmt はアルファチャンネルが存在することを意味しますが、使用されているとは限りません。rgb24 と yuvj* にはありません。コントラストのある背景で表示して確認してください)カードを背後に置かずに、浮かせたり、重ねたり、モーフィングできますか?
背景(フラット、スタジオ、ビジー、ダーク)とクロップの制限切り抜きオブジェクト vs フレームオブジェクト。被写体とテキストがどこにあるか。どのクロップが9:16でも耐えられるか。
シャープネスヒーロー vs 背景のみ

アセットをランク付けし、役割を割り当てます:ヒーロー(最も強い1つまたは2つ。マクロとヒーローモーメントを取得します)、クローズアップ(パンチインに耐えます)、トランジション(モーフィング、マスキング、または次のシーンに持ち込めるエッジまたは形状)、モンタージュ(高速でリズミカルな実行のための多くの類似アイテム:グリッド、ギャラリー、カタログ)。

  • 実際のアセットを、作り物よりも優先します。 実際のものが存在する場合は、代用(ロゴ、プロダクトショット、UI)を生成したり描き直したりしないでください。
  • アセットをカードに単に配置しないでください。 画像が多いプロダクトの場合、アセット自体をモーションオブジェクトにします:切り抜き、スケーリング、パスに沿った移動、スタック、ファンアウト、ピックアップ、結合、次の状態へのランディング(プロダクト → カード → 選択 → コンボ → カート)。重要な詳細にクロップし、その後コンテキストを明らかにします。
  • 決して歪めたり、ネイティブサイズをはるかに超えてアップスケールしたり、実際のブランドアセットの色を変更したりしないでください。公式スキルの説明(public/ と staticFile()、/remotion-markup 画像参照)に従ってロードします。

1.3 エフェクト:決定ポリシー(FX)

名前付きエフェクト(/logo-orbit、/number-roll、/portal など)はセクション11に索引付けられ、effects.md で仕様が定義されています。ユーザーはブリーフでそれらを指定し、このポリシーが次に何が起こるかを決定します。名前付きエフェクトの場合、これは5.8の「決定し、尋ねない」デフォルトを置き換えます。

目的が最優先。 エフェクトを適用する前に、次の1つの質問に答えてください:「このエフェクトによって、視聴者は何をよりよく理解したり感じたりしますか?」 正直な答えが「何もない。動きが増えるだけだ」という場合は、そう伝え、スキップすることを推奨します(セクション3の目的テスト)。

次のすべてが真の場合にのみ、尋ねずに直接適用します:

  • 必要なすべての入力が存在する(映像、マット、テキスト、アセット、ソースのある実際のデータ)。
  • 1つの明確なスロットがある:一致する話された単語、カット、またはエフェクトの持続時間に合った画面の空いている部分。
  • 既存のエフェクトやテキストと衝突せず、密度予算内に収まっている(11.3)。

その後、適用し、QAスチルをレンダリングし、タイムライン上の場所とともに何が行われたかを報告します。

[truncated for translation]

関連スキル