Communitygithub.com

EvovexAI/EvoFlow - 汎用動画ワークフロー

任意の長さや形式のカスタムHyperFrames動画コンポジションを作成するためのフォールバックワークフロー。長尺・複数シーン作品、ブランド/サズルリール、モンタージュ、タイトルカード、静止ループ、自由形式のコンポジションに対応します。入力や長さに依存しません。専門ワークフロー(製品、ウェブサイト、トピック解説、GitHub PR、既存映像、短いモーショングラフィック、Remotion移植)が明らかに適合する場合はそちらを優先し、当ワークフローは汎用フォールバックとしてのみ使用してください。

EvoFlow - 汎用動画ワークフロー とは?

EvoFlowは、HyperFramesエコシステムにおける汎用動画作成ワークフローです。特定の入力(製品ローンチ動画、ウェブサイト紹介、説明動画、PR動画、既存映像の編集、モーショングラフィック、Remotionの移植)に対して専門ワークフローが存在しない場合のフォールバックとして設計されています。このスキルは、シングルシーンから複数シーンにわたるコンポジションをサポートし、設計システムの確立、プロンプト拡張、レイアウト先行設計、アニメーション適用といった段階的なアプローチを提供します。特に重要なのは「レイアウト先行」の原則で、GSAPでアニメーションを追加する前に、各要素が最も目立つ瞬間の静的CSSをまず記述します。また、オーディオ処理に関しては、TTS、BGM、SFXを一元管理する`hyperframes-media`エンジンに委譲し、`audio_request.json`を介して制御します。このワークフローは、`hyperframes-creative`(デザイン)、`hyperframes-animation`(モーション)、`hyperframes-core`(規約)、`hyperframes-media`(メディア)といった各専門スキルを適宜参照しながら、高品質な動画を効率的に生成します。

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

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

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

ドキュメント

media-use: オーディオ/画像を取得する前に、/media-useを呼び出してHeyGenカタログからBGM/SFX/画像を解決してください。最初に--adoptを実行して既存アセットを登録します。詳細は/media-useスキルを参照してください。

general-video — 汎用動画ワークフロー

ルートを確定してから構築してください。 これはカスタムコンポジション作成のためのフォールバックです。入力が専門ワークフローに明確に適合する場合は、そちらを優先してください:製品マーケティング→/product-launch-video;一般的なウェブサイト→/general-video;トピック解説→/faceless-explainer;GitHub PR→/pr-to-video;既存映像→/embedded-captions·/talking-head-recut;短いナレーションなしモーショングラフィック→/motion-graphics;Remotion移植→/remotion-to-hyperframes。対象外:ライブ/レンダリング時データ、完成動画のNLEスタイル編集、HyperFramesでキャプチャできない映像の制作。不明な場合は、まず**/hyperframesを読んでください。**

依頼されたものを正確に構築してください。 タイトルカードはタイトルカードです — タイトルカード+3つの補助シーン+環境音楽+キャプションではありません。追加のシーンや要素が実際に作品を向上させる場合は、それを_提案_してください。黙って追加しないでください。小さな編集(色の修正、1つの長さ調整、1つの要素追加)の場合は、計画ステップをスキップして直接構築に進んでください。

アプローチ

発見 — 曖昧なリクエストの場合のみ

漠然とした探索的なリクエスト(「ブランド向けに何か作って」「格好いいイントロを」)の場合 — 色を選ぶ前に意図を理解してください:

  • オーディエンス — 誰が見るのか? 開発者 / 経営陣 / 一般消費者?
  • プラットフォーム — どこで再生されるのか? ソーシャル(15秒) / ウェブサイトヒーロー / 製品デモ / 社内?
  • 優先事項 — 最も重要なのは? モーション品質 / コンテンツ正確性 / ブランド忠実度 / スピード?
  • バリエーション — 1つの最良案か、それとも2~3の意味的に異なるオプションか(異なるペース、エネルギー、構造 — 単なる色の変更ではない)?

具体的なリクエスト(「タイトルカードを追加」「シーン3のタイミングを修正」)の場合は、発見ステップをスキップしてください。

ステップ1 — デザインシステム → hyperframes-creative

まず視覚的アイデンティティを確立します。プロジェクトにデザイン仕様がある場合は、それを読んでください(優先順位は frame.md → design.md → DESIGN.md。ブランドの真実として扱います — 正確な色、フォント、制約)。

仕様がない場合は、色やフォントを選ぶ前に必ずhyperframes-creative/references/house-style.mdとhyperframes-creative/references/video-composition.mdの両方を読む必要があります。 house-style.mdは「プロンプトを解釈して実際のコンテンツを生成する」ための開始点、レイジーデフォルトリスト、レイヤーレシピを提供します。video-composition.mdは、映像メディアの密度/スケール/前景の詳細化(データバー、レジストレーションマーク、等幅メタデータ、「8~10要素、うち2つはユーザーが依頼していないもの」)に関するルールを提供し、これを読むことで「生成された」ではなく「制作された」見た目を実現します。片方だけを読むのが最も一般的なミスです — video-composition.mdはエージェントがスキップしがちなファイルであり、まさにこれがフラットで中央寄せのウェブページ風の出力を防ぐものです。パレットを自己発明してこれらをスキップしないでください。hyperframes-creativeへの移行はここでは必須であり、オプションの分岐ではありません。そこから、必要に応じて名前付きスタイル/ムード → references/visual-styles.md、またはインタラクティブピッカー → references/design-picker.md も取得してください。仕様/スタイルはブランドを定義しますが、コンポジションルールは定義しません。

方向性を見つける(曖昧なブリーフ、仕様なし): 色を選ぶ前に、一文を書いてください — この名前/単語/トピックは何を喚起し、どのような視覚的_世界_(メタファー、設定、楽器、モチーフ)がそれを表現しますか? 例:サイバーセキュリティツール → 金庫のドア / 境界線スキャンライン / ロックタンブラー;瞑想アプリ → 潮の満ち引き、息、ゆっくりとした光の広がり。主題の_意味_を読んでください。単なる文字通りの再スタイルではありません。文字通りの再スタイルではなく、具体的な方向性を選んでください。これは、シングルシーン作品(拡張が正しくスキップされる場合)に対するプロンプト拡張(ステップ2)の安価な代替手段であり、これがデザインされたコンセプトと、グラデーション上のジェネリックロゴとの違いです。

ステップ2 — プロンプト拡張 → hyperframes-creative

複数シーンのすべてのコンポジションで実行します(シングルシーン作品と自明な編集ではスキップ)。デザイン仕様+ハウススタイルに照らしてリクエストを展開し、下流の作業が一貫して同じ方法で読むことができる中間表現を作成します。hyperframes-creative/references/prompt-expansion.mdを参照してください。

ステップ3 — 計画

HTMLを記述する前に、ハイレベルで考えます:

  1. 何を — 視聴者体験:ナラティブアーク、キーモーメント、感情的なビート。
  2. 構造 — コンポジション数、サブコンポ vs インライン、どのトラックがビデオ/オーディオ/オーバーレイ/キャプションを運ぶか。モノリシック単一ファイル vs モジュラーサブコンポの判断については、hyperframes-core/references/composition-patterns.md § 2つのアーキテクチャ(経験則:ハードシーンカットが3つ以上、または再利用されるシーンがある場合 → モジュール化;短いシングルシーン作品は1ファイルに留める)を参照してください。
  3. リズム — 実装する前にパターンに名前を付けます(例:fast-fast-SLOW-SHADER-hold);hyperframes-creative/references/beat-direction.mdを参照してください。
  4. タイミング — どのクリップが再生時間を決定するか、トランジションの位置、ペーシング。
  5. レイアウト — 最初に最終状態を構築します(以下参照)。
  6. アニメーション — その後、hyperframes-animationを介してモーションを追加します。

アニメーションの前にレイアウト

すべての要素を、最も目立つ瞬間に配置される位置 — 完全に入力され、正しく配置され、まだ終了していない状態 — に配置します。まず静的HTML+CSSとして記述します。まだGSAPは使用しません。

理由: アニメーションの開始状態(画面外、スケール0、不透明度0)に要素を配置し、_思う_着地位置にトゥイーンする場合、最終レイアウトを推測していることになります — 重なりはレンダリングまで見えません。最初に最終状態を構築すれば、モーションを追加する前にレイアウトの問題を確認して修正できます。

  1. 各シーンのヒーローフレームを特定します — 最も多くの要素が同時に見える瞬間。それが構築するレイアウトです。
  2. そのフレームの静的CSSを記述します。コンテンツコンテナは、絶対オフセットではなくパディングでシーンを埋める必要があります:
.scene-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 120px 160px; /* padding positions content; fills any scene size */
  gap: 24px;
  box-sizing: border-box;
}

コンテンツコンテナに position: absolute; top: Npx を決して使用しないでください — コンテンツがスペースより高い場合にオーバーフローします。絶対配置は装飾要素用に予約してください。

⚠ 上記のwidth/height: 100%は、すべての祖先が確定した高さを持っている場合にのみ機能します。 ルートの<div data-composition-id>と、それと.scene-contentの間のラッパーはサイズ設定されている必要があります(ルートにposition: relative; width: 1920px; height: 1080px — hyperframes-core → 「Root must be sized」を参照)。これをスキップすると、flexコンテナは約0に縮小し、コンテンツは左上隅に積み重なり、最初のグリフはx=0でクリップされます — その間lint/inspectは問題0を報告し続けます。そして、.scene-contentの**padding(≥80px)は常に保持**してください:これがタイトルセーフマージンです。これを単なるgapに置き換えないでください。

  1. エントランスを追加 — gsap.from()を使用して、画面外/不可視からCSS位置へアニメーションします(サブコンポジションでは、開始状態を明示するためにgsap.fromTo()を推奨します。hyperframes-core/references/sub-compositions.md参照)。CSS位置が正解であり、トゥイーンはそこへの道のりです。
  2. 終了はトランジションで処理 — hyperframes-animation/transitions/のシーントランジションルールに従い、最終シーンのみが要素をアニメーションアウトします。シーン間ではトランジション自体が終了です。

時間を超えた共有スペース: 要素Aが要素Bが同じ領域に入る前に終了する場合でも、両方の要素はそれぞれのヒーローフレームに対して正しいCSS位置が必要です — タイムラインの順序付けにより共存は防がれ、レイアウトステップが偶発的な重なりをキャッチします。レイヤー化されたグロー/シャドウとzスタックの奥行きは_意図的な_重なりです。このステップは_意図しない_衝突(2つの見出しが重なる、コンテンツがフレームからはみ出す)をキャッチするためのものです。

構築 — ドメインスキルに委任

以下は、このスキルの全表面(description参照)をそのリファレンスにマッピングします — 網羅的ではありません。意図がリストにない場合は、hyperframes-creative(ルック/コンセプト)、hyperframes-animation(モーション)、hyperframes-core(規約)、hyperframes-media(オーディオ/キャプション)を経由してください。最初の行は付加的です — あなたの意図行と併せて読んでください。どちらか一方だけではありません。

構築するもの…最初に読むもの(順序順)
常に — すべての非自明な作品で、以下の意図行に加えてhyperframes-creative/references/house-style.md + references/video-composition.md(ステップ1 / HARD-GATEでもゲートされています。「生成された」ではなく「制作された」外観のための前景詳細化)
キネティックタイポグラフィ / テキスト重視hyperframes-animation/techniques.md(キネティックタイプ) + adapters/gsap-easing-and-stagger.md + rules/kinetic-beat-slam.md
タイトルカード / ローワーサード / オーバーレイ / PiP / テキスト背景透過hyperframes-creative/references/composition-patterns.md +(中央揃え/サイズ調整フレーム用)hyperframes-core → 「Root must be sized」
ロゴ / ブランドマーク リビールhyperframes-animation/rules/svg-path-draw.md(ドローオン) + rules/3d-text-depth-layers.md + rules/scale-swap-transition.md
データ / 統計 / 数字hyperframes-animation/rules/counting-dynamic-scale.md + rules/stat-bars-and-fills.md + hyperframes-creative/references/data-in-motion.md
製品 / アプリ / UI デモhyperframes-animation/rules/3d-page-scroll.md + rules/cursor-click-ripple.md + rules/press-release-spring.md
オーディオリアクティブ / 音楽駆動hyperframes-creative/references/audio-reactive.md(事前抽出バンド、モーションにマッピング)
ナレーション / 音声 / 音楽 / SFX / キャプションhyperframes-media → 共有オーディオエンジン scripts/audio.mjs(1回の呼び出し = TTS + BGM + SFX → audio_meta.json);hyperframes-coreを介したキャプション作成+アセット配置。以下のオーディオを参照してください。
マルチシーン / トランジションhyperframes-animation/transitions/overview.md 次にtransitions/catalog.md(概要だけでは終わりません — GSAPレシピはカタログにあります)
モジュラー / サブコンポジションhyperframes-core/references/composition-patterns.md + references/sub-compositions.md

オーディオ:1つのエンジン(TTS · BGM · SFX)

作品で必要な場合のみ(「依頼されたものを正確に構築する」に従い — タイトルカードに環境音楽は不要)。TTSを手作りしたり、コピーをベンダー調達したりしないでください。中立的なaudio_request.jsonを書き、hyperframes-mediaの共有エンジンを呼び出します。1つのスイッチで自動的に劣化します — HeyGenクレデンシャルあり → HeyGen TTS + 音楽/SFX取得;なし → ElevenLabs/Kokoro TTS、Lyria/MusicGen BGM生成、およびバンドルされたSFXライブラリ。完全なフラグリスト+リクエスト/メタスキーマ:hyperframes-media/scripts/audio.mjsのヘッダーコメントを参照してください。

// audio_request.json — ナレーションセグメントごとに1行。`id`はユーザーが指定します(audio_metaに結合されます)
{
  "lines": [
    { "id": "s1", "text": "あなたのオープニングラインです。", "sfx": ["whoosh"] },
    { "id": "s2", "text": "次のビート。" },
  ],
  "bgm": { "query": "calm cinematic underscore" }, // "mode"を省略 → 自動(HeyGenなら取得、それ以外は生成)。無効にするには"none"
}
# <MEDIA_DIR> = インストールされたhyperframes-mediaスキルディレクトリ(このスキルの兄弟)
node <MEDIA_DIR>/scripts/audio.mjs --request ./audio_request.json --hyperframes . --out ./audio_meta.json

その後、audio_meta.jsonを読みます。各voices[].path +(bgm.path、sfx[])を<audio>トラックとしてマウントし、voices[].wordsをキャプションに使用します。すべてhyperframes-core(オーディオトラック+キャプション作成)に従ってください。BGMが生成パスを取った場合(bgm_pending: true)、最終レンダリングの前にhyperframes-media/scripts/wait-bgm.mjsを実行してください。

出力チェックリスト → hyperframes-cli

  • [ ]

…

[翻訳のため一部省略]

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

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 wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (general-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.

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(离线,无需云端)。当需要离线语音合成时使用。

関連スキル