Communitygithub.com

EvovexAI/EvoFlow

當使用者想要以動態為主、設計導向的短動態圖形時使用:包含動態字體、數字/數據計數、圖表/資料視覺化、商標動畫、品牌鎖定畫面、低位字卡、註解、社交媒體疊加、動態標題/推文/新聞、動態海報或快速頁面截圖亮點,通常少於10秒,可長達約30秒,無旁白。

EvoFlow 是什麼?

這是一個專門用於快速產出設計導向、無旁白的短動態圖形的 AI 代理人技能(適用於 Claude Code 等平台)。它採用「資產優先」的建構流程:首先決定資產策略並取得真實素材,再圍繞素材設計鏡頭,最後透過重複使用目錄功能來組合。支援「形式類別」(如動態字體、數據統計、圖表、商標揭露、低位字卡),以及「搜尋驅動類別」(如網頁、新聞、推文、資產融合,依搜尋結果決定動畫類型)。核心工作流程包含初始化、規劃(決定是否需搜尋)、素材來源、設計、建置(重用目錄區塊)、渲染輸出為 MP4 或透明疊加格式(WebM/MOV),最後進行驗證。此技能的獨特之處在於其約 10–30 秒的極簡焦點,以及嚴格的資產前置決策,可避免在不相關的長片或旁白專案中誤用。

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

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

motion-graphics — 分派入口

在步驟 0 之前確認路由。 此技能製作簡短、設計導向、無旁白的動態圖形(以動態為訊息;約 10 秒以內,無配音)。更長、多場景或帶旁白的處理 → /general-video;網站旁白影片 → /general-video;主題解說 → /faceless-explainer;產品宣傳 → /product-launch-video;現有影片加字幕 → /embedded-captions。超出範圍:即時/渲染時資料,或無法擷取的影片。不確定是動態優先還是旁白優先?先閱讀 /hyperframes。

一個簡短的設計導向動態圖形。資產優先:在設計鏡頭之前先決定資產策略並取得真實素材,然後圍繞你擁有的素材設計鏡頭,再透過重複使用目錄功能來組合。所有成品都放在 PROJECT_DIR = videos/<project-name>/(在步驟 0 建立);以下所有路徑都相對於此。

階段執行方式主要產出物詳細流程
initBashhyperframes.json步驟 0
plansubagent — 決定是否搜尋? + 分類 + 資產策略shot-plan.json(草稿:類別、asset_needs 查詢、簡報)agents/director.md(第 1 部分)
source ◇Bash — media-use 解析(若 asset_needs 為空則跳過)assets/ + assets/index.mdphases/source/guide.md
designsubagent — 圍繞解析後的資產設計鏡頭shot-plan.json(最終版:區塊 + 佈局 + 動態 + 位置)agents/director.md(第 2 部分)
buildsubagent — 重用優先的組合compositions/index.htmlagents/builder.md
renderBash — hyperframes render(MP4,或 --format webm/mov 用於疊加)renders/video.mp4步驟 5
verifyBash — lint / inspect → 失敗時由修復 subagent 處理(原地修復)agents/finalize.md

◇ source 僅在所選類別宣告需要資產時執行。純程式碼/文字類別(例如 kinetic-type、大多數 charts/stat)的 asset_needs: [] 會直接從規劃跳過到設計。

類別 — 依搜尋決定分類

plan 的第一個決定是:需要搜尋嗎? 這個分支將類別分為兩組;然後選出具體類別 — 對於搜尋驅動的類別,依搜尋回傳的內容類型。每個類別是一個 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 劇情融合)

建置順序:一次一個,覆蓋優先(粗略即可)。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>:使用使用者提供的目錄,否則使用來自意圖的短 kebab-case 名稱(<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 部分)

分派一個子代理人。提示 = 完整的 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 + 一段鏡頭簡報)。結構: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 部分 + 分派上下文,包含已解析的 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 + 一次原地修復傳遞 + 重新渲染)。在修復中絕不更改固定的持續時間。

報告 + 選用預覽

報告最終輸出(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。
  • 類別模組契約: 一個 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(离线,无需云端)。当需要离线语音合成时使用。

相關技能