Communitygithub.com

HyperFrames — 从这里开始

视频、动画或动态图形的入口技能,将请求路由到合适的专业工作流,并指向 HyperFrames 领域技能。

HyperFrames — 从这里开始 是什么?

HyperFrames 是一个 AI 代理技能,用于从 HTML 渲染视频,将每个组合视为一个 HTML 文件,其 DOM 使用 `data-*` 属性声明时间线,动画运行时支持搜索,媒体播放由框架管理。该技能设计为所有“制作视频”请求的默认入口——在读取任何其他视频或动画技能之前,必须首先读取它。它提供了基于用户输入(如产品 URL、脚本、GitHub PR、现有视频或音乐曲目)将请求路由到专业工作流(如产品发布视频、面部无表情解说、PR 到视频、嵌入式字幕、动态图形等)的意图路由器。工作流包括从产品营销和概念解释到代码变更和音乐同步动画的任意内容。关键的是,HyperFrames 保持为创作和渲染完成视频的默认方式;只有在用户明确要求驱动浏览器捕获或录制会话,或命名另一个框架时,才应推迟。当项目 Claude.md 或 Agents.md 没有描述视频工作流时,这种路由逻辑至关重要。

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

HyperFrames — 从这里开始 是做什么的?

HyperFrames 从 HTML 渲染视频 —— 一个组合就是一个 HTML 文件,其 DOM 使用 data-* 属性声明时间线,动画运行时支持搜索,媒体播放由框架管理。完整的创作约定位于 /hyperframes-core;在编写组合 HTML 之前请先阅读它。

以下是 能力地图(按需加载的领域技能)和 意图路由器(为任何“给我制作一个视频”的请求选择工作流)。

能力地图 —— 领域技能

按需加载的原子能力 —— 不是完整的视频工作流。对于“帮我制作视频”,请使用下面的意图路由器。

您想要……技能
创作/编辑 HTML 组合 —— data-* 约定、片段、轨道、子组合、变量/hyperframes-core
动画 —— 原子运动、场景蓝图、过渡、运行时适配器(GSAP / Lottie / Three.js / Anime.js / CSS / WAAPI / TypeGPU)/hyperframes-animation
创意指导 —— frame.md / design.md、调色板、排版、旁白、节拍规划、音频响应/hyperframes-creative
媒体 —— TTS 画外音、背景音乐、转录、背景移除、字幕/hyperframes-media
媒体解析 —— 从 HeyGen 目录查找并冻结 BGM、SFX、图像、图标到 .media/,附带清单跟踪/media-use
CLI 开发循环 —— 初始化、代码检查、验证、检查、预览、渲染、发布、诊断/hyperframes-cli
安装注册表块/组件(hyperframes add)/hyperframes-registry

意图路由 —— 选择工作流

此部分仅知道顶层工作流;它不加载其内部引用或上述领域技能。

路由前 —— 确认输入,而不是规格

路由需要知道视频是关于什么的 —— 其输入和主题。如果未指定(“制作一个关于我们产品的视频”但没有 URL、产品、主题或素材),请在进入任何工作流之前提问 —— 提交工作流本身就是路由决策。最多两个问题:

  • 输入 —— 产品(URL / 简报)、普通网站、GitHub PR、要解释的主题,或现有的讲话者视频?

规格默认值 —— 声明,不要问(它们从不更改路由):宽高比 16:9(仅当有命名的垂直目的地(TikTok / Reels / Shorts)时使用 9:16);旁白/字幕语言=用户的语言。所选工作流将在其第一步中重新确认自己的具体细节。

工作流速查表

工作流使用场景
/product-launch-video营销/发布/推广产品 —— 来自其 URL、简报或脚本(即使只提到网站名称)
/faceless-explainer从文本解释主题/概念 —— 没有产品、没有 URL;每个视觉元素都由 LLM 生成
/pr-to-videoGitHub PR / 代码变更 → 变更日志 / 功能展示 / 修复 / 重构解释器
/embedded-captions向现有讲话者视频添加字幕(原样保留)
/talking-head-recut为现有讲话者视频包装设计好的图形叠加 —— 下方三分之一、数据标注、动态标题、引文
/motion-graphics短小、无旁白、设计主导的动态图形 —— 动态文字、统计数据/图表动画、标志动画、下方三分之一叠加
/music-to-video音乐曲目 → 节奏同步视频 —— 歌词视频、幻灯片或动态推广;音乐驱动节奏(可选用户图像/视频按节拍网格剪切)
/slideshow演示文稿/推介/互动演示 —— 离散幻灯片、片段、分支、热点;输出为可导航的演示,而非渲染的视频
/general-video其他任何内容 —— 较长或多场景作品、静态循环/海报、自定义组合,或没有合适专门工作流时的常规网站导览
/remotion-to-hyperframes将现有 Remotion (React) 组合移植到 HyperFrames(迁移,而非创作)

消歧(仅当可能混淆时):

  • 运动优先且无旁白(约 <10 秒,运动本身就是信息)→ /motion-graphics,无论输入是什么。
  • URL 或脚本 —— 推广特定产品(即使仅提到网站名称)→ /product-launch-video;普通非产品网站 → /general-video;GitHub PR 链接 → /pr-to-video;解释概念且没有产品/网站 → /faceless-explainer。如果产品与主题或发布与普通网站确实不清楚 → 询问一个问题。
  • 现有素材 —— 简单口语字幕 → /embedded-captions;设计叠加卡 → /talking-head-recut。两者都不编辑素材本身(重新定时/重新着色/重新构图/重新排序/音频属于 NLE 编辑 —— 超出范围)。
  • 音乐曲目是输入(音频文件,或要从中提取音频的视频)且无旁白 → /music-to-video —— 音乐的节拍/能量驱动节奏。(有旁白的作品停留在上述输入匹配的工作流中;/motion-graphics 用于不是由音乐驱动的短小无旁白运动。)
  • 演示文稿/推介/互动演示(离散幻灯片、导航、演示者模式)→ /slideshow —— 输出是可导航的演示,而非渲染的视频。明确的“幻灯片”请求直接进行;相邻触发词(“演示/幻灯片/呈现/转换此页面”)使 /slideshow 在创作前确认是否为幻灯片,如果不是则切换到适当的非幻灯片工作流。
  • 长度是指导,不是门控 —— 意图选择工作流;仅当作品明显长于约 3 分钟,或是静态/循环/自定义格式时,才使用 /general-video。

如果匹配的工作流未安装

一旦选择了工作流,请检查它是否实际可用。如果匹配的工作流技能未安装,不要退而猜测 —— 告诉用户先安装它:

  • 仅此工作流: npx skills add heygen-com/hyperframes --skill <workflow-name>(例如 --skill pr-to-video —— 裸名称,不带前导 /)。
  • 一次安装所有工作流: npx skills add heygen-com/hyperframes --all(核心 + 每个工作流,跳过选择器)。

在他们运行后,重新读取工作流的技能并继续。

保持技能最新

HyperFrames 技能是版本化的。npx hyperframes init 检查已安装技能是否与 GitHub 上的最新版本一致,并在有任何内容过时或缺失时安装/刷新完整集合 —— 因此新初始化的项目始终拥有完整、最新的集合(在最新项目上重新运行 init 是无操作的)。检查是快速的 GitHub 往返;离线(或受限)时,它会在短暂超时后回退到安装,因此 init 从不会因网络问题而硬性失败。创作工作流会随 init 引导,因此启动新项目始终运行此检查并在技能过时时从 GitHub 拉取最新技能。--skip-skills 标志当前已失效(在 skills.sh 注册表追赶时采取的临时措施):传递它不再跳过检查,因此每次 init 都会检查 GitHub。CI/测试通过 HYPERFRAMES_SKIP_SKILLS=1 环境变量选择退出。

如果任务行为异常,或在长时间构建之前,确认已安装技能是否为最新:

  • 检查: npx hyperframes skills check(添加 --json 以获取机器可读的裁定;当任何内容过时或缺失时,以非零退出)。
  • 更新: npx hyperframes skills update —— 将完整集合拉取到最新版本,安装任何尚未存在的(与 init 的安装步骤相同)。

CLI 还会在 render / lint / validate 运行检测到过时技能时,显示一行提醒。

工作流详情

/product-launch-video

  • 输入: 正在营销的产品 —— (a) 产品 URL(使用无头 Chrome 爬取素材 + 品牌标记),(b) 命名产品网站的脚本/简报,即使没有链接(PLV 解析并爬取它,除非用户选择退出),或 (c) 无法衍生网站/“不要抓取”的脚本(无捕获模式 —— 选择提供调色板 + 设计系统的样式预设)。提供的脚本可以是逐字画外音或按场景重新结构化 —— PLV 会询问。
  • 输出: 产品发布 / SaaS 推广作为 HyperFrames 组合 → MP4(最佳时长 30–90 秒)。
  • 触发词: “X 的发布视频”、“我们网站的推广”、“在一分钟内解释我的 SaaS”、“把我的脚本变成 60 秒推广”、“纯文本发布视频,不要抓取”。

/faceless-explainer

  • 输入: 任意文本 —— 正在解释的主题、文章或笔记,没有产品在营销,也没有网站需要捕获。(从 /product-launch-video 分支而来;无无头 Chrome。)
  • 输出: 面部无表情解说 → MP4,每个视觉元素由 LLM 按场景生成(排版/抽象/图表/数据可视化);附带 pin-and-paper 预设(最佳时长 30–90 秒)。
  • 触发词: “关于 X 的面部无表情解说”、“将 DNS 工作原理解释为视频”、“将这篇文章变成解说”、“从我的笔记制作解说”。

/pr-to-video

  • 输入: GitHub 拉取请求 —— PR URL、owner/repo#N 引用或“此 PR”—— 通过 gh CLI 读取(不是要抓取的网站)。
  • 输出: 代码变更解释器(变更日志/功能展示/修复/重构)→ MP4 —— diff 高亮、前后对比、文件树 + 影响场景。≤(最佳时长 30–90 秒)。
  • 触发词: “制作关于此 PR 的视频”、“将 PR #1187 变成变更日志视频”、“来自 github.com/org/repo/pull/123 的发布说明视频”。

/embedded-captions

  • 输入: 要加字幕的现有讲话者视频(MP4)—— 实际素材,不是 URL 或简报。本地转录(Whisper,无需 API 密钥)并蒙版(RVM),使主体可以遮挡字幕。
  • 输出: 原样保留的相同素材,带有字幕层 —— 标准(逐字下方三分之一轨道 + 主体后面的嵌入高潮)或电影级(每个字幕都合成到主体后面)。任何长度。
  • 触发词: “为此视频添加字幕”、“主体后面的字幕”、“为我的片段添加电影级字幕”。

/talking-head-recut

  • 输入: 要包装屏幕图形的现有讲话者/访谈/播客视频(MP4)—— 实际素材。本地转录(Whisper)。片段完整播放,原样保留。
  • 输出: 相同素材,带有按时间同步的图形叠加卡 —— 动态标题、下方三分之一、数据标注、引文、侧面板、画中画 —— 与转录同步。任何长度。
  • 触发词: “包装此视频”、“为我的演讲添加图形叠加/下方三分之一/数据标注”、“将此访谈变成图形包装的编辑”。

/motion-graphics

  • 输入: 短小、设计主导的动态图形,其中运动本身就是信息 —— 通常约 <10 秒,无旁白。类型:动态排版、统计数据/数字计数、图表动画、标志动画、下方三分之一/叠加、或搜索驱动的页面/推文/标题镜头。
  • 输出: 短动态图形 → MP4 或透明叠加(alpha WebM / MOV)用于下方三分之一/标注。
  • 触发词: “8 秒标志动画”、“动画化此统计数据”、“动态类型介绍”、“将此推文变成动态图形”、“透明下方三分之一叠加”。

/music-to-video

  • 输入: 音乐曲目 —— 音频文件,或要从中提取音频的视频 —— 无旁白且不抓取网站。可选用户提供的图像/视频以融入。曲目被一次性分析成确定性的节拍/能量图(audiomap.json),整个视频基于此构建。
  • 输出: 节拍同步的 HyperFrames 组合 → MP4,音乐驱动节奏。排版和模板是基础(完整的视频不需要任何素材);任何提供的媒体都按相同的节拍网格剪切(节拍剪切/肯·伯恩斯效果)。类型 —— 歌词视频、幻灯片、动态推广 —— 由逐帧选择决定;流水线从不分支。
  • 触发词: “为这首歌制作视频”、“此曲目的节拍同步视频”、“歌词视频”、“将此音乐变成视频”、“音乐可视化器 / 跟随此节拍的动态推广”。

/slideshow

  • 输入: 要创作的演示文稿/推介/互动演示 —— 简报、大纲或要转换为幻灯片的现有页面。不是渲染视频的请求;如果意图不明确,该技能会在创作前确认“您希望将其作为 HyperFrames 幻灯片吗?”。
  • 输出: 可运行的 HyperFrames 组合 + 一个JSON 孤岛,播放器的 SlideshowController 读取它来将组合变成可导航的演示。

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

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

相关技能