Communitygithub.com

hyperframes-registry

安装、发现并将注册表块和组件连接到 HyperFrames 组合中。适用于运行 hyperframes add 或 hyperframes catalog、安装单个项目或匹配标签的所有块、将已安装的项目连接到 index.html,或使用 hyperframes.json 时。涵盖发现、安装位置、块子组合接线、组件片段合并以及编写新块或组件以向上游贡献(创意 → 脚手架 → 验证 → PR)。

hyperframes-registry 是什么?

HyperFrames Registry 是一个 AI 代理技能,专为 HyperFrames 框架开发,用于发现、安装和管理可复用的块(Blocks)和组件(Components)。块是独立的子组合,拥有自己的尺寸、时长和时间线,通过 `data-composition-src` 属性嵌入到宿主组合中;组件是效果片段,没有独立尺寸,直接粘贴到宿主组合的 HTML 中。该技能支持通过 `hyperframes add <name>` 命令安装精确命名的项目,也支持通过标签批量安装(如 `hyperframes add captions`)。安装后,CLI 会输出已写入的文件以及需要粘贴到宿主组合中的代码片段,用户还需手动添加 `data-composition-id`、`data-start` 和 `data-track-index` 等属性来正确接线块。发现功能通过 `hyperframes catalog --query` 提供本地语义搜索,支持词语匹配和本地设备端模型排名,并允许用户通过 `hyperframes feedback` 报告目录中缺失的效果。该技能适用于 Claude Code、Cursor、Codex 等 AI 代理平台,帮助开发者快速搭建复杂的 HyperFrames 动画组合,无需手动编写重复代码。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jasonfast123/hyperframes-skills/tree/main/skills/hyperframes-registry

在你喜欢的 AI 中提问

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

文档

HyperFrames Registry

注册表提供可通过 hyperframes add <name> 安装的可复用块和组件。

  • 块(Blocks) — 独立的子组合(拥有自己的尺寸、时长、时间线)。通过宿主组合中的 data-composition-src 包含。
  • 组件(Components) — 效果片段(没有自己的尺寸)。直接粘贴到宿主组合的 HTML 中。

快速参考

hyperframes add data-chart              # 安装一个块
hyperframes add grain-overlay           # 安装一个组件
hyperframes add captions                # 安装所有标记为 captions 的块
hyperframes add shimmer-sweep --dir .   # 指定目标项目
hyperframes add data-chart --json       # 机器可读输出
hyperframes add data-chart --no-clipboard  # 跳过剪贴板(CI/无头模式)

安装后,CLI 会打印写入的文件以及需要粘贴到宿主组合中的代码片段。该片段只是一个起点——在接线块时,您需要添加 data-composition-id(必须与块的内部组合 ID 匹配)、data-start 和 data-track-index 属性。

位置值首先作为精确项目名称解析。如果没有匹配的项目且该值是标签,则命令将安装所有带有该标签的块。注册表依赖项在请求的项目之前安装。hyperframes add 仅用于块和组件;对于示例,请使用 hyperframes init <dir> --example <name>。

安装位置

默认情况下,块安装到 compositions/<name>.html。组件安装到 compositions/components/<name>.html。

这些路径可在 hyperframes.json 中配置:

{
  "registry": "https://raw.githubusercontent.com/heygen-com/hyperframes/main/registry",
  "paths": {
    "blocks": "compositions",
    "components": "compositions/components",
    "assets": "assets"
  }
}

请参阅 install-locations.md 了解完整详情。

接线块

块是独立的组合——通过宿主 index.html 中的 data-composition-src 包含它们:

<div
  data-composition-id="data-chart"
  data-composition-src="compositions/data-chart.html"
  data-start="2"
  data-duration="15"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

关键属性:

  • data-composition-src — 块 HTML 文件的路径
  • data-composition-id — 必须与块的内部 ID 匹配
  • data-start — 块在宿主时间线中出现的时间(秒)
  • data-duration — 块播放的时长
  • data-width / data-height — 块画布尺寸
  • data-track-index — 图层顺序(数值越大越靠前)

请参阅 wiring-blocks.md 了解完整详情。

接线组件

组件是片段——将它们的 HTML 粘贴到组合的标记中,CSS 粘贴到样式块中,JS 粘贴到脚本中(如果有):

  1. 读取已安装的文件(例如 compositions/components/grain-overlay.html)
  2. 将 HTML 元素复制到组合的 <div data-composition-id="..."> 中
  3. 将 <style> 块复制到组合的样式中
  4. 将任何 <script> 内容复制到组合的脚本中(在时间线代码之前)
  5. 如果组件公开了 GSAP 时间线集成(请参阅片段中的注释块),将这些调用添加到您的时间线中

请参阅 wiring-components.md 了解完整详情。

发现

使用 CLI 作为主要发现界面。在浏览之前先按意图搜索: 注册表中包含的项目数量远超手动扫描,因此列出所有项目并通过名称或标签匹配是缓慢的路径,并且在作者的措辞与您的措辞不同时失败。

# 对整个目录按节拍应该执行的操作进行排名
npx hyperframes catalog --query "reveal a headline one line at a time"
npx hyperframes add caption-clip-wipe

搜索是本地进行的,不发送任何内容。默认情况下,它根据与项目名称、标题和描述共享的词汇进行排名,因此它只能找到重复您词语的项目;--on-device 则根据含义进行排名,但需要一次性下载模型。使用 --json 时,信封会显示哪个层回答了查询,因此请检查该信息,而不是假设已经进行了排名。

无论视频使用什么语言,始终用英语查询。 目录是用英语编写的,两个层都以此方式索引(本地设备模型也仅支持英语)。使用其他脚本的查询不会产生可搜索的术语,并且不会返回任何结果。在日语或中文项目上,这一点很容易出错,因为简报、字幕和旁白都使用该语言,查询自然也会随之而来:用英语描述 动作,然后用视频所需语言编写屏幕上的文字。如果查询返回“查询中没有可搜索的词语”,那就是这个规则的问题,而不是缺少组件,也不值得提交差距报告。

安装性在排名之后应用,而不是之前:向量携带但此注册表无法服务的名称将从结果中删除并计入 dropped,因此非零的 dropped 意味着两者属于不同代。请参阅 /hyperframes-cli 了解离线层、同意门以及如何刷新过时的索引。

要浏览或过滤而不是搜索:

npx hyperframes catalog
npx hyperframes catalog --type block
npx hyperframes catalog --type component
npx hyperframes catalog --type block --tag social
npx hyperframes catalog --json
npx hyperframes catalog --human-friendly

普通表格和 --json 模式仅列出匹配项;使用 hyperframes add <name> 安装选定的名称。--human-friendly 打开一个交互式选择器并立即安装所选项目。在 CI 或代理工作流中,首选 --json 后跟显式的 add。

报告目录中没有的内容

当搜索完成后,如果没有任何结果能满足需求,请在手动编写动作之前说明:

npx hyperframes feedback --search-miss "<您运行的查询>" --wanted "<您需要的动作>" --tier on-device

catalog --query 会为您打印这行命令,并预填好内容,而 --json 会将其作为 report_gap 携带——因此当您决定没有任何内容合适时,它已经准备好了。

当结果中的任何内容都不满足需求时,请始终报告,无论使用哪个层。 不要等到本地设备层响应:它需要下载 33 MB 且需要同意,因此代理运行默认使用 words,除非明确选择使用本地设备层,并且仅依赖于 on-device 会使几乎所有的报告都沉默。--tier 值会一并附带,因此在阅读时,词汇缺失与含义缺失仍然可以区分。描述您想要的效果,而不是您想象的项目名称:返回的是值得构建的动作列表,而报告一个不存在的项目名称则无济于事。这是唯一将查询发送到任何地方的路径,这正是为什么它是一个独立的、有意的命令,而不是搜索自动执行的操作。它不携带评分,也永远不会进入评分指标。

这是目录的全部需求信号。跳过它意味着您遇到的差距会被从安装次数中猜测出来,而安装次数无法看到没有人能安装的动作。

如果 CLI 无法访问配置的注册表,请检查原始清单作为备用:

curl -s https://raw.githubusercontent.com/heygen-com/hyperframes/main/registry/registry.json

CLI 无法访问的注册表不会清空发现的目录:当重新验证失败时,之前获取的清单会继续在 24 小时刷新窗口之外提供服务,因此 catalog 和 catalog --query 仍然会列出并针对磁盘上的最后一个副本进行排名。

add 仍然需要网络,即使对于您昨天安装的项目也是如此。 只有清单被缓存;项目的实际文件在每次安装时都会重新获取。因此,在离线状态下您可以搜索,并且可以查看项目是什么,但安装会在文件获取时失败。不要向用户承诺离线安装。

每个项目的 registry-item.json 包含:名称、类型、标题、描述、标签、尺寸(仅块)、时长(仅块)和文件列表。

请参阅 discovery.md 了解按类型和标签过滤的详细信息。

贡献新的块或组件

要编写一个新的注册表项目(字幕样式、VFX 块、过渡、下三分之一或可复用的组件)并将其作为上游 PR 提交——而不是安装现有的——请遵循 contributing.md 中完整的创意 → 脚手架 → 构建 → 验证 → 预览 → 发布工作流。起始模板(字幕 / VFX / 组件 / registry-item.json)可在 templates.md 中找到。

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

embedded-captions

>

faceless-explainer

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

figma

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

general-video

>

hyperframes

>

hyperframes-animation

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). Also covers auditing an existing composition

hyperframes-audio

>

hyperframes-cli

>

hyperframes-core

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=

hyperframes-creative

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`.

hyperframes-keyframes

>

jasonfast123/hyperframes-skills

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

media-use

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

motion-graphics

>

music-to-video

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

pr-to-video

Turn a GitHub pull request (a PR URL, owner/repo#N, or

remotion-to-hyperframes

Port an existing Remotion (React) composition

slideshow

>

talking-head-recut

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on

相关技能