Communitygithub.com

モーション・グラフィックス - ディスパッチエントリ

ユーザーが短くデザイン重視のモーショングラフィック(キネティックタイポグラフィ、統計/数値カウントアップ、チャート/データ可視化、ロゴスティング、ブランドロックアップ、ローワーサード、コールアウト、ソーシャルオーバーレイなど)を希望する場合に使用します。通常10秒未満、最大30秒程度で、ナレーションや生アクションは含みません。MP4または透明オーバーレイでレンダリング可能です。

モーション・グラフィックス - ディスパッチエントリ とは?

このスキルは、短くデザイン主導のモーショングラフィックを制作するための詳細なエージェントワークフローを提供します。キネティックタイポグラフィ、統計数値のカウントアップ、チャートのアニメーション、ロゴのリビール、ローワーサードなどのカテゴリをカバーし、ユーザーから提供されたコンテンツに依存する「フォームカテゴリ」と、ウェブページ、ニュース、ツイート、画像をリアルタイムで検索する「検索駆動型カテゴリ」を区別します。ワークフローは、アセットファーストのアプローチに従い、実際の素材をソースしてからショットのデザインと構成を行います。主にClaude Codeや類似のコーディングエージェントでの使用を想定しており、macOS Apple SiliconまたはLinux x64、Node.js、FFmpegを前提としています。agentとして、`hyperframes` CLIツールを活用し、プロジェクトディレクトリ内で計画、ソーシング、デザイン、ビルド、レンダリング、検証の各フェーズを構造化された手順で実行します。

対応~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/The-Ai-automation-Queen/content-system/tree/HEAD/skills/hyperframes/motion-graphics

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

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

ドキュメント

モーション・グラフィックス — ディスパッチエントリ

ステップ0の前にルートを確認してください。 このスキルは短く、デザイン主導で、ナレーションのないモーショングラフィック(モーションがメッセージであり、約10秒未満、音声なし)を作成します。より長く、マルチシーン、またはナレーション付きの作品 → /general-video;ウェブサイトのナレーション付きビデオ → /website-to-video;トピック説明動画 → /faceless-explainer;製品プロモーション → /product-launch-video;既存の映像へのキャプション → /embedded-captions。対象外:ライブ/レンダリング時のデータ、またはキャプチャできない映像。モーション・ファーストかナレーション付きか不明な場合?最初に/hyperframesをお読みください。

アセットファーストの短いデザイン主導モーショングラフィックです。アセットファースト:ショットをデザインする前にアセット戦略を決定し実際の素材を入手し、その素材に基づいてショットをデザインし、カタログ機能を再利用して構成します。すべての成果物はPROJECT_DIR = videos/<project-name>/(ステップ0で作成)の下に置かれます。以下のパスはすべてこのディレクトリからの相対パスです。

フェーズ実行主要成果物詳細フロー
initBashhyperframes.jsonステップ0
planサブエージェント — 検索の要否を判断 + 分類 + アセット戦略shot-plan.json(ドラフト:カテゴリ、asset_needsクエリ、概要)agents/director.md(パート1)
source ◇Bash — メディア・ユース解決(asset_needsが空の場合はスキップ)assets/ + assets/index.mdphases/source/guide.md
designサブエージェント — 解決済みアセットを基にショットデザインshot-plan.json(最終版:ブロック + レイアウト + モーション + 位置情報)agents/director.md(パート2)
buildサブエージェント — 再利用ファーストの構成compositions/index.htmlagents/builder.md
renderBash — hyperframes render(MP4、またはオーバーレイ用に--format webm/mov)renders/video.mp4ステップ5
verifyBash — lint / inspect -> 障害時は修復サブエージェントを起動(その場で修正)agents/finalize.md

◇ sourceは、選択されたカテゴリがアセットを宣言している場合のみ実行されます。純粋なコード/テキストカテゴリ(例:kinetic-type、ほとんどのcharts/stat)はasset_needs: []を持ち、計画からデザインへ直接スキップします。

カテゴリ — 検索判断による分割

planの最初の判断は:これには検索が必要か? この分岐によりカテゴリは2つのグループに分けられます。その後、具体的なカテゴリが選択されます — 検索駆動型の場合は、検索結果のコンテンツタイプに基づいて選択されます。各カテゴリはcategories/<id>/module.md(計画・ビルドルール)に対応し、共有モーション語彙はreferences/motion-vocabulary.md(→ hyperframes-animationルール/ブループリント + レジストリブロック)にあります。

フォームカテゴリ — 検索不要;ユーザーがコンテンツを提供するもの:

カテゴリ意図依存先
kinetic-typeインパクトのある一文/引用/タイトル、モーション優先テキストcaption-* ブロック + アニメーションルール
stat単一のヒーロー数字/カウントアップ + リングapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
charts棒/折れ線/円/レース/データからの%表示data-chart ブロック
logo-revealロゴスティング/ブランドロックアップ(ユーザーロゴ)logo-outro / rules/svg-path-draw
lower-thirds名前/タイトルバー、コールアウト、ソーシャルオーバーレイcaption-* + レジストリオーバーレイブロック

検索駆動型カテゴリ — まず検索し、その後コンテンツタイプに応じてアニメーション化(RWAパス):

返されるコンテンツカテゴリアニメーション
ウェブページ / リンクwebpageウェブページ/UIアニメーション(スクロール、リビール、カーソル、コールアウト)
ニュース記事news見出しリビール + ソースカード + キーファクトコールアウト
ツイートtweetアニメーションツイートカード
画像 / エンティティasset-fusionアセットのジオメトリがチャートになる(RWA内因的フュージョン)

ビルド順序:一度に1つずつ、カバレッジ優先(ラフで可)。kinetic-typeはプロトタイプから移植済み。残りはこれに従います。

前提条件

macOS Apple Silicon または Linux x64。システムツール:brew install node ffmpeg。npx hyperframes doctor を一度実行。macOS GPUレンダリング:export PRODUCER_BROWSER_GPU_MODE=hardware。

オプションのキー(未設定時はローカルフォールバック)— メディア・ユースを介してアセットをソース/生成するカテゴリのみ必要:

キー用途フォールバック
GEMINI_API_KEY / GOOGLE_API_KEY画像生成(メディア・ユース解決)生成をスキップ / 検索のみ
(asset_scout / 検索プロバイダー)webpage/news/tweet + asset-fusion 実アセット検索カテゴリはアセットなしにダウングレード

フロー

ステップ 0 — 初期化

カレントワーキングディレクトリはエージェントワークスペースのルートです。すべての成果物をPROJECT_DIR = videos/<project-name>/の下に書き込みます。<project-name>:ユーザーが指定したディレクトリ名、または意図から導かれる短いケバブケースの名前(<subject>-motion)を使用します。ワークスペースのベース名やタイムスタンプは使用しないでください。

$PROJECT_DIR/hyperframes.json が存在しない場合のみ実行:

PROJECT_DIR="${MOTION_GRAPHICS_DIR:-videos/<project-name>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank

initはインストール済みスキルとGitHub上の最新バージョンを比較し、古いものがあればグローバルセットを更新します。

制約: ワークスペースルートでhyperframes initを決して実行しないでください。PROJECT_DIR内に別のhyperframes/をネストしないでください。すべてのBashコマンド(マスター + サブエージェント)は(cd "$PROJECT_DIR" && ...)サブシェルで実行し、ベアなcdは使用しないでください。

ステップ 1 — 計画(サブエージェント:ディレクター パート1)

1つのサブエージェントを起動します。プロンプト = agents/director.md全文 + ## Dispatch context(SKILL_DIR / PROJECT_DIR / ユーザーのリクエスト / Schema: <SKILL_DIR>/references/shot-plan-ir.md)。以下の処理を行います:

  1. 判断:これには検索が必要か?(最初の分岐)
    • いいえ → フォームカテゴリ(kinetic-type / stat / charts / logo-reveal / lower-thirds)を選択します。コンテンツはユーザー提供。asset_needs: []。
    • はい → 検索計画をasset_needs[](ニュース/ウェブ/ツイート/画像;二極クエリ)に出力します。具体的な検索駆動型カテゴリ(webpage / news / tweet / asset-fusion)はステップ2で返されるコンテンツタイプによって確定され、ステップ3で最終決定されます。
  2. ドラフトshot-plan.json(エンベロープ + 選択されたフォームカテゴリ または 検索意図 + asset_needs + 1段落のショット概要)を書き込みます。スキーマ:references/shot-plan-ir.md。

検証:[ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing

ステップ 2 — ソーシング ◇(Bash: メディア・ユース、条件付き)

shot-plan.json.asset_needsが空でない場合、アセットを解決します(検索/生成/取得 → フリーズされたプロジェクトローカルパス + 台帳)。詳細はphases/source/guide.md(media-use resolveをラップ。検索駆動型カテゴリはニュース/ウェブ/ツイート/画像検索を使用)。asset_needsが空の場合は、ステップ3にスキップします。

# 参考 — 詳細は phases/source/guide.md を参照
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/source/resolve.mjs --plan ./shot-plan.json --out ./assets)

グレースフルデグラデーション:検索/プロバイダーが利用できない場合、カテゴリはアセットなしにフォールバックします(context.logに記録)。

ステップ 3 — デザイン(サブエージェント:ディレクター パート2)

サブエージェントを起動します(プロンプト = agents/director.mdパート2 + 解決済みのassets/index.md(ステップ2を実行した場合)を含むディスパッチコンテキスト + catalog-map.md)。利用可能なアセットを中心にショットをデザインします:カタログブロック + hyperframes-animationルール/ブループリント、レイアウト、モーション、ビート、そして(asset-fusionの場合は)element_positions + スポイトパレットを選択します。shot-plan.json(content.block + content.customize + カテゴリ別コンテンツ)を最終決定します。

ステップ 4 — ビルド(サブエージェント:ビルダー、再利用ファースト)

サブエージェントを起動します。プロンプト = agents/builder.md全文 + ディスパッチコンテキスト(shot-plan.json、catalog-map.md、そのカテゴリのmodule.md、references/motion-vocabulary.md、references/builder-contract.md)。再利用ファースト:npx hyperframes add <block> + その場でカスタマイズ。ギャップとアセットフュージョンアフォーダンスのみ手動で記述します。出力compositions/index.htmlはHFコントラクト(一時停止されたGSAPタイムラインwindow.__timelines、class="clip" + 安定したID、tl.seek(0)、決定論的)に準拠します。

ステップ 5 — レンダリング(Bash)

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q draft -o ./renders/video.mp4)
# 透明オーバーレイのバリアント:--format webm (または mov)

ステップ 6 — 検証(Bash → 障害時は修復サブエージェントを起動)

(cd "$PROJECT_DIR" && npx hyperframes lint . && npx hyperframes inspect .)

exit 0 → 完了。lint/inspectエラー時は、修復サブエージェント(agents/finalize.md:スナップショットQA + 1回のその場修正パス + 再レンダリング)を起動します。修復中に固定された期間を変更しないでください。

レポート + オプションのプレビュー

最終出力(renders/video.mp4、または.webm / .movオーバーレイバリアント)+ 再生時間を報告します。実行中にプレビューを開かないでください。 リクエストがあった場合のみ、レンダリング後に最終ファイルを提供するために開始します:

(cd "$PROJECT_DIR" && npx hyperframes preview)   # Studio UI;または `npx hyperframes play` で共有可能なリンク

フラグはhyperframes-cliスキイル(references/preview-render.md)にあります。

再開テーブル

状態再開ポイント
shot-plan.json なしステップ 1(計画)
shot-plan.json に asset_needs あり、assets/ なしステップ 2(ソーシング)
shot-plan.json 最終版、compositions/index.html なしステップ 3/4(デザイン+ビルド)
compositions/index.html 存在、renders/video.mp4 なしステップ 5(レンダリング)+ ステップ 6
renders/video.mp4 存在レポート + 停止

デザインノート(メンテナー向け — 実行時はこれを読みません)

  • アセットファーストの根拠: ソーシングは先行して行われ、ショットデザインに情報を提供します(RWAフロー:分析 → 検索 → レビュー → 構成)。検索駆動型カテゴリ(webpage/news/tweet)とasset-fusionはどちらもメディア・ユースの検索(ニュース/ウェブ/ツイート/画像)に依存しており、これはメディア・ユースの文書化されたRWA系統です。
  • 再利用ファースト: エコシステム内でのLLM生成テンプレートの類似物は「カタログブロック + hyperframes-animationルールを構成する」です。HFの一時停止されたGSAPタイムラインは、RemotionのuseCurrentFrameに相当します。
  • カテゴリモジュールコントラクト: 1つのcategories/<id>/module.md(計画 + ビルド)、references/motion-vocabulary.mdを共有(+ オプションの評価)。カテゴリの追加 = フォルダをドロップ + その分類子行をagents/director.mdに、その行をcatalog-map.mdに登録。フェーズパイプラインは変更されません。
  • ディレクトリ構造:
    videos/<project-name>/
      hyperframes.json  context.log
      shot-plan.json            # IR(ディレクター出力)
      assets/  assets/index.md  # メディア・ユース出力(ソースされた場合)
      compositions/index.html   # ビルダー出力
      renders/video.mp4
    
  • 登録: hyperframesルーター内 — 「デザイン主導の短いモーショングラフィック」意図 + ワークフローの説明を追加。モーション・グラフィックスのトリガーを/general-videoから切り出し。逆Do-NOT-useエッジを追加。motion-graphics-genre.md §5-7を参照。

関連スキル