Communitygithub.com

EvovexAI/EvoFlow

创作任意长度或格式的自定义 HyperFrames 视频合成作品的通用回退工作流——包括长片、多场景作品、品牌/炫酷集锦、蒙太奇、标题卡、静态循环和自由形式合成。对输入和长度无限制。如果存在专门工作流能明确匹配输入(如营销产品、网站、主题解说、GitHub PR、现有素材、短动态图形或 Remotion 移植),则优先选择该工作流(参见 /hyperframes);仅当无合适匹配时将此作为通用回退。

EvoFlow 是什么?

EvoFlow 是一个专为 HyperFrames 平台设计的通用视频合成工作流,适用于那些没有专门工作流匹配的定制化项目。它能够处理从标题卡到多场景品牌宣传片等各种格式和长度的内容,并强调“按需精确构建”——在添加额外元素前需先提出建议,而非默默加入。该工作流从视觉识别系统入手,强制用户阅读 `house-style.md` 和 `video-composition.md` 等参考文件,以确保输出具有专业质感,而非简单的居中布局。它还包含一个严格的“硬关卡”,要求明确概念角度、字体搭配和前景密度计划,之后才允许编写任何 HTML。EvoFlow 支持 Claude Code、Codex 和 Cursor 等 AI 代理平台,并通过领域技能(如 `hyperframes-animation` 和 `hyperframes-media`)进行模块化构建,同时自动处理音频(TTS、BGM、SFX)和字幕任务。

兼容平台~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

对每个多场景合成运行此步骤(单场景作品和琐碎编辑跳过)。将请求对照设计规范 + house style 进行基础化,转化为下游工作能一致读取的中间表示。参见 hyperframes-creative/references/prompt-expansion.md。

步骤 3 —— 规划

在编写 HTML 之前,从高层次思考:

  1. 内容 —— 观众体验:叙事弧线、关键时刻、情感节拍。
  2. 结构 —— 多少个合成、子合成与内联、哪些轨道承载视频/音频/叠加/字幕。关于单片文件与模块化子合成的选择,参见 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. 添加入场动画 —— 使用 gsap.from() 从屏幕外/不可见动画到 CSS 位置(在子合成中优先使用 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(预先提取频段;映射到运动)
旁白 / 画外音 / 音乐 / 音效 / 字幕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 生成,以及捆绑的音效库。完整标志列表 + 请求/元数据模式:hyperframes-media/scripts/audio.mjs 的头部注释。

// audio_request.json — 每个旁白片段一行;`id` 是你的(将 audio_meta 关联回来)
{
  "lines": [
    { "id": "s1", "text": "您的开场白。", "sfx": ["whoosh"] },
    { "id": "s2", "text": "下一个节拍。" },
  ],
  "bgm": { "query": "平静电影感背景音乐" }, // 省略 "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(离线,无需云端)。当需要离线语音合成时使用。

相关技能