Communitygithub.com

EvovexAI/EvoFlow

用於創作任意長度或格式的自訂 HyperFrames 影片合成的通用備用工作流程——適用於較長或多場景片、品牌/精華集錦、蒙太奇、標題卡、靜態循環以及自由形式創作。與輸入和長度無關。若特定工作流程明顯符合輸入內容(如已行銷產品、網站、主題解說、GitHub PR、現有素材、短動態圖形或 Remotion 移植),請優先使用該流程(參見 /hyperframes);僅在沒有任何流程符合時,才將此作為一般備用方案。

EvoFlow 是什麼?

EvovexAI/EvoFlow 是一個通用的影片合成工作流程,專為 Claude Code、Cursor 或 Codex 等 AI 代理設計,用於處理不適合專門流程的 HyperFrames 影片創作。此技能支援從簡單的標題卡到複雜的多場景品牌集錦等廣泛的輸出格式和長度。在代理的世界中,EvoFlow 如同一個安全的備用方案:當不清楚使用哪個專門流程時,代理可以依賴這個結構化、逐步的引導。工作流程強調正確的規劃,從設計系統和構想概念開始,然後進行佈局、動畫,最後是音訊整合。關鍵的「硬門檻」確保代理不會跳過關鍵步驟,例如選擇適當的字體或實現一個有邏輯的、視覺上吸引人的佈局。此技能還與 hyperframes-core、hyperframes-creative、hyperframes-animation 和 hyperframes-media 等專業領域技能緊密整合,提供全面的影片創作解決方案。它支援 HeyGen TTS 和音樂以進行音訊生成,並提供如音訊請求 JSON 檔案等自動化工具。根據 SKILL.md 文件,若無明確的專門流程,代理應使用 EvoFlow,以確保高品質、結構良好的影片輸出。

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

在你喜歡的 AI 中提問

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

說明文件

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。

精確建構所要求的內容。 標題卡就是標題卡——不是「標題卡 + 三個輔助場景 + 背景音樂 + 字幕」。如果額外的場景或元素確實能提升作品,請_提議_它們;不要默默新增。對於小型編輯(修正顏色、調整一個持續時間、新增一個元素),請跳過規劃步驟,直接開始建構。

方法

探索 — 僅限於開放式請求

對於模糊、探索性的請求(「為我們的品牌做些東西」、「一個酷炫的開場」)——在選擇顏色之前先了解意圖:

  • 受眾 — 誰觀看?開發者 / 高階主管 / 一般消費者?
  • 平台 — 在哪裡播放?社群媒體(15秒) / 網站首頁 / 產品示範 / 內部使用?
  • 優先級 — 什麼最重要?動態品質 / 內容準確性 / 品牌忠誠度 / 速度?
  • 變體 — 一個最佳版本,還是 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 個元素,其中兩個是使用者沒要求的」),這些是區分「專業製作」和「生成產出」的關鍵。只閱讀其中一個是最常見的疏漏——video-composition.md 正是代理會跳過的那個,也正是防止產出扁平、置中、網頁風格輸出的關鍵。不要自行發明調色盤並跳過這些步驟;進入 hyperframes-creative 在此是強制性的,而非可選分支。接著,根據需要從 references/visual-styles.md 提取已命名的風格/情緒,或從 references/design-picker.md 提取互動式選取器。規格/風格定義的是品牌,而非構圖規則。

找出角度(模糊簡報,無規格): 在選擇顏色之前,寫一句話——這個名稱/詞彙/主題喚起了什麼,以及什麼視覺_世界_(隱喻、場景、工具、主題)表達了它?例如,網路安全工具 → 保險庫門 / 周界掃描線 / 鎖頭;冥想應用程式 → 潮汐、呼吸、緩慢的光暈。閱讀主題的_含義_,而不僅僅是它的文字;選擇一個具體的角度,而非字面上的重新設計。對於單場景作品,這是提示擴展(步驟 2)的廉價替代品;在單場景作品中,提示擴展是正確地跳過的——而這正是區分一個設計概念和一個通用漸層 Logo 的關鍵。

步驟 2 — 提示擴展 → hyperframes-creative

對每個多場景構圖執行此步驟(單場景作品和簡單編輯則跳過)。根據設計規格 + 主體風格,將請求接地為一個一致的、下游工作能一致讀取的中間表示。請參閱 hyperframes-creative/references/prompt-expansion.md。

步驟 3 — 規劃

在撰寫 HTML 之前,先從高層次思考:

  1. 內容 — 觀眾體驗:敘事弧線、關鍵時刻、情感節拍。
  2. 結構 — 有多少個構圖、子構圖 vs 內聯、哪些軌道承載影片 / 音訊 / 疊加層 / 字幕。關於單一檔案 vs 模組化子構圖的抉擇,請參閱 hyperframes-core/references/composition-patterns.md § 兩種架構(經驗法則:≥3 個硬場景切換,或任何重複使用的場景 → 模組化;短單場景作品則維持單一檔案)。
  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; /* 內邊距定位內容;填滿任何場景大小 */
  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 → 「根元素必須設定尺寸」)。跳過此步驟,flex 容器會崩潰到約 0,內容會堆疊在左上角,第一個字元在 x=0 處被裁剪——而 lint/inspect 仍然報告 0 個問題。而且永遠保持 .scene-content 上的 padding(≥80px):它是標題安全邊距。永遠不要用單純的 gap 取代它。

  1. 加入進場動畫——從螢幕外/不可見,動畫過渡到 CSS 位置,使用 gsap.from()(在子構圖中,偏好使用 gsap.fromTo() 以明確指定起始狀態;請參閱 hyperframes-core/references/sub-compositions.md)。CSS 位置是基本事實;補間動畫是到達該位置的過程。
  2. 退場由轉場處理——根據 hyperframes-animation/transitions/ 中的場景轉場規則,只有最後一個場景會將元素動畫退出;場景之間,轉場本身就是退場。

跨時間的共享空間: 如果元素 A 在元素 B 進入同一區域之前退出,兩者都仍需為其各自的主角影格設定正確的 CSS 位置——時間軸排序會防止它們共存,而佈局步驟會捕捉到意外的重疊。分層發光/陰影和 z 軸堆疊深度是_有意的_重疊;此步驟的目的是捕捉_非故意的_碰撞(兩個標題彼此重疊,內容溢出畫面)。

建構 — 委派給領域技能

這將此技能的完整範圍(參見 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 → 「根元素必須設定尺寸」
Logo / 品牌標誌揭示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(一次呼叫 = 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

音訊:一個引擎(TTS · BGM · SFX)

僅在作品需要時才使用(根據「精確建構所要求的內容」——標題卡上不要有背景音樂)。不要手動實作 TTS 或從其他地方複製一份:撰寫一個中立的 audio_request.json 並呼叫 hyperframes-media 中的共享引擎。它會根據一個開關自動降級——存在 HeyGen 憑證 → 使用 HeyGen TTS + 音樂/SFX 檢索;不存在 → 使用 ElevenLabs/Kokoro TTS、Lyria/MusicGen BGM 生成,以及捆綁的 SFX 庫。完整的標誌列表 + 請求/中繼資料結構:hyperframes-media/scripts/audio.mjs 的標頭註解。

// audio_request.json — 每個旁白段落一行;`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(离线,无需云端)。当需要离线语音合成时使用。

相關技能