Communitygithub.com

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

短く、デザイン主導の、ナレーションなしのモーショングラフィックを生成します。キネティックタイポグラフィ、統計値のカウントアップ、チャート/データビジュアライゼーション、ロゴスティング、ブランドロックアップ、ローワーサード、コールアウト、ソーシャルオーバーレイ、アニメーション付き見出し/ツイート/ニュース、モーションポスター、キャプチャしたページのハイライトなどに適用します。通常10秒未満、最大30秒程度で、ナレーションアーク、ナレーション、または実写被写体は含みません。MP4または透明オーバーレイでレンダリング可能です。

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

このスキルは、Claude CodeやCodexなどのAIエージェントに、短くデザイン主導のモーショングラフィックを計画・構築・レンダリングするための詳細なワークフローを提供します。主な用途は、キネティックタイポグラフィ、統計値のカウントアップ、データのチャート/ビジュアライゼーション、ロゴアニメーション、ローワーサード、ソーシャルメディアオーバーレイなど、ナレーションや実写を伴わない、映像自体の動きがメッセージとなる作品です。通常10秒未満、最大30秒程度の長さで、MP4または透明なオーバーレイ形式で出力されます。このスキルは、アセットファーストのアプローチを採用しており、まず実際の素材(画像、テキスト、動画など)を取得または生成し、その後にその素材に基づいてショットをデザイン・構築します。ワークフローは、初期化、計画(サブエージェントによる検索の要否決定とカテゴリ分類)、素材収集(必要に応じてメディア検索/生成)、デザイン、構築(再利用可能なコンポーネントを優先)、レンダリング、検証の各ステップで構成されます。各カテゴリ(キネティックタイプ、統計、チャート、ロゴリビールなど)ごとに個別のモジュールがあり、`hyperframes` CLIツールと連携して動作するため、一貫性のある高品質な出力が期待できます。

対応~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/EvovexAI/EvoFlow/tree/HEAD/skills/public/motion-graphics

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

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

ドキュメント

モーション グラフィックス — ディスパッチエントリ は何をしますか?

ステップ 0 の前にルートを確認してください。 このスキルは短く、デザイン主導で、ナレーションのないモーショングラフィックを作成します(動きがメッセージであり、約10秒未満、ナレーションなし)。より長い、複数シーン、またはナレーション付きの作品 → /general-videoへ;ウェブサイトのナレーション付き動画 → /general-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 — media-use 解決(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。

オプションのキー(未設定の場合はローカルフォールバック)— media-use を介してアセットをソース/生成するカテゴリでのみ必要:

キー使用目的フォールバック
GEMINI_API_KEY / GOOGLE_API_KEY画像生成(media-use 解決)生成をスキップ/検索のみ
(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[] に出力します(ニュース / ウェブ / ツイート / 画像;2極クエリ)。特定の検索駆動カテゴリ(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:media-use、条件付き)

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 + ディスパッチコンテキスト(ステップ2が実行された場合は解決済みの assets/index.md を含む)+ 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コントラクトに準拠します(window.__timelines 上の一時停止されたGSAPタイムライン、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 はどちらも media-use の検索(ニュース/ウェブ/ツイート/画像)に依存しており、これは media-use の文書化された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  # media-use 出力(ソースされた場合)
      compositions/index.html   # ビルダー出力
      renders/video.mp4
    
  • 登録: hyperframes ルーター内 — 「デザイン主導の短いモーショングラフィック」意図 + ワークフロー説明を追加。/general-video から motion-graphics トリガーを切り出し、逆の「使用しないでください」エッジを追加。motion-graphics-genre.md §5-7 を参照。

Individual skills in this repo

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

EvovexAI/EvoFlow

Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on "captions/subtitles", "embed/cinematic captions", "VFX captions", "炸/特效/酷炫字幕", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription → hyperframes remove-background matting → HTML render → ffmpeg overlay. Requires hyperframes and a single-subject clip.

EvovexAI/EvoFlow

The fallback workflow for authoring custom HyperFrames video compositions at any length or format — longer or multi-scene pieces, brand / sizzle reels, montages, title cards, static loops, and freeform compositions. Input- and length-agnostic. If a specialized workflow clearly fits the input — a marketed product, a website, a topic explainer, a GitHub PR, existing footage, a short motion graphic, or a Remotion port — prefer it (see /hyperframes); use this only as the general fallback when none fit.

EvovexAI/EvoFlow

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.

EvovexAI/EvoFlow

HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).

EvovexAI/EvoFlow

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

EvovexAI/EvoFlow

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

EvovexAI/EvoFlow

Audio and media assets for HyperFrames compositions, produced by one shared audio engine (`scripts/audio.mjs`) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound effects (HeyGen audio-library retrieval by default, with local Lyria / MusicGen BGM generation and a bundled SFX library as the no-credential fallback), Whisper transcription, background removal, and caption authoring. Use for voiceover / TTS, BGM, SFX / sound effects, transcription, captions / subtitles / lyrics / karaoke / per-word styling, voice + provider selection, and music-mood prompting.

EvovexAI/EvoFlow

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, registry discovery, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

EvovexAI/EvoFlow

READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.

EvovexAI/EvoFlow

Use when the user has a music track (an audio file, or a video to pull audio from) and wants a beat-synced HyperFrames video, calm to hard-hitting. The music drives everything: one analyzer reads it once, the orchestrator lays out the frames and fills a per-frame plan, and one sub-agent builds each frame. Typography and templates are the floor — a complete video needs zero assets — but any images or videos the user supplies are cut into the frames on the same beat grid (beat-cut / ken-burns). The genre (lyric video, slideshow, kinetic promo) falls out of the per-frame choices; the pipeline never branches on it.

EvovexAI/EvoFlow

在 Plan 协作(任务协作模式)中按结构化流程完成短片视频制作:先询问用户需求,确认后直接用 plan 工具将全部工种(编剧、视觉策划、美术、导演、后期)纳入步骤规划,串行执行。

EvovexAI/EvoFlow

turn a product or marketing URL, pasted script, or brief into a product launch video, including SaaS promos, feature reveals, app launches, company promos, and product marketing videos. Use this skill when the user wants to market, launch, promote, or reveal a product. Do not use it for general non-launch website tours, non-product topic explainers, GitHub pull requests, captioning existing footage, or short unnarrated motion graphics. If the intent is unclear, route through /hyperframes first. This is the new shot-sequence architecture: every visual frame is authored as a time-coded shot sequence picked from a menu of golden blueprints, so frames develop over their full duration instead of freezing after entrance.

EvovexAI/EvoFlow

turn a GitHub pull request (a PR URL like github.com/<owner>/<repo>/pull/<N>, an <owner>/<repo>#<N> ref, or 'this PR' in a checked-out repo) into a code-change explainer video, up to ~3 min (sweet spot 30-90s) — changelog, feature reveal, fix, or refactor walkthrough, rendered from the diff / commits / files. The input is a CODE CHANGE read via the gh CLI; there is no website capture. Use this skill for a GitHub PR. Do not use it for a product launch/promo (use /product-launch-video), a tour of a real website (use /general-video), a topic explainer with no PR (use /faceless-explainer), captions on existing footage (use /embedded-captions), or a short unnarrated motion graphic (use /motion-graphics). If the intent is unclear, route through /hyperframes first.

EvovexAI/EvoFlow

Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) "same video as my Remotion one" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.

EvovexAI/EvoFlow

本地文字转语音,使用sherpa-onnx(离线,无需云端)。当需要离线语音合成时使用。

関連スキル