hyperframes-read-first

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

HyperFrames — read this first

HyperFrames — 请先阅读本文

Start here for any HyperFrames task — especially with no project agent config (
CLAUDE.md
/
AGENTS.md
/
.cursorrules
) present. Capability map + video router below.
所有HyperFrames任务请从此处开始 — 尤其当项目中没有代理配置文件(
CLAUDE.md
/
AGENTS.md
/
.cursorrules
)时。下方为能力映射表及视频路由规则。

Capability map — which skill for which intent

能力映射表 — 不同需求对应哪个技能

You want to…Go to
Make a video (from a URL, brief, topic, GitHub PR, existing footage, or a single element to animate)the video router below (§ Video routing)
Author / edit an HTML composition — the
data-*
contract, clips, tracks, sub-compositions, variables
/hyperframes-core
Animate — atomic motion rules, scene blueprints, transitions, runtime adapters (GSAP / Lottie / Three.js / Anime.js / CSS / WAAPI / TypeGPU)
/hyperframes-animation
Creative direction
design.md
, palettes, typography, narration, beat planning, audio-reactive
/hyperframes-creative
Media preprocessing — TTS voiceover, background music, transcription, background removal, captions
/hyperframes-media
CLI dev loop — init, lint, validate, inspect, preview, render, publish, doctor
/hyperframes-cli
Install registry blocks / components (
hyperframes add
)
/hyperframes-registry
The composition authoring contract (every timed element needs
data-start
/
data-duration
/
data-track-index
; timed elements need
class="clip"
; GSAP timelines are paused and registered on
window.__timelines
; deterministic logic only — no
Date.now()
/
Math.random()
/ network) is not duplicated here — it lives in
/hyperframes-core
. Read that before writing composition HTML.
你想要……前往
制作视频(从URL、brief、主题、GitHub PR、现有素材或单个元素制作动画)下方的视频路由规则(§ 视频路由)
创作/编辑HTML合成内容
data-*
约定、片段、轨道、子合成、变量
/hyperframes-core
动画制作 — 原子运动规则、场景蓝图、转场效果、运行时适配器(GSAP / Lottie / Three.js / Anime.js / CSS / WAAPI / TypeGPU)
/hyperframes-animation
创意指导
design.md
、调色板、排版、旁白、节奏规划、音频响应
/hyperframes-creative
媒体预处理 — TTS旁白、背景音乐、转录、背景移除、字幕
/hyperframes-media
CLI开发循环 — 初始化、代码检查、验证、查看、预览、渲染、发布、诊断
/hyperframes-cli
安装注册表模块/组件
hyperframes add
/hyperframes-registry
合成内容创作约定(每个定时元素需要
data-start
/
data-duration
/
data-track-index
;定时元素需添加
class="clip"
;GSAP时间轴默认暂停并注册到
window.__timelines
;仅使用确定性逻辑 — 禁止
Date.now()
/
Math.random()
/ 网络请求)未在此处重复 — 该内容位于
/hyperframes-core
。编写合成HTML前请先阅读该文档。

What HyperFrames cannot do — check this first

HyperFrames无法完成的任务 — 请先查看这部分

HyperFrames authors an HTML composition and renders it to MP4 from code. That model has hard outer edges. A request past one of them is not a routing choice — it is out of scope, so decline (or point at the right tool) instead of reaching for a workflow. These follow from the architecture, not from any single request:
  • The render is deterministic and self-contained. Every value, asset, and piece of text is baked in when you author; the render does no network call and no live / at-render-time data pull (core rule: no
    Date.now()
    /
    Math.random()
    / network). "Refresh the numbers live at render time" is out — fetch the data once at author time and bake it in, or decline.
  • Existing video is overlaid, never edited. HyperFrames composes frames on top of a source clip —
    /embedded-captions
    adds a caption layer,
    /graphic-overlays
    adds designed graphic cards (lower-thirds, data callouts, titles) — and the clip plays unchanged underneath, but neither post-processes the encoded video stream. Changing the footage itself (its timing, color, framing, order, or audio) is NLE-style editing and out of scope.
  • Remotion import is one-way.
    /remotion-to-hyperframes
    translates the Remotion framework's source into HyperFrames. There is no reverse (HyperFrames → Remotion, or → any other framework — out of scope), and a non-Remotion React / web-animation source has no Remotion source to translate — re-create it via
    /general-video
    .
  • It cannot produce inputs it does not have. No screen / session recording, no camera capture, no AI talking-head / lip-synced avatar generation. If the footage or asset does not exist yet, HyperFrames cannot conjure it — ask the user to supply it (or use the right capture tool) first.
Everything else — a video from a URL, brief, topic, PR, footage-to-annotate, or a single element to animate — is in scope; route it below.

HyperFrames通过代码创作HTML合成内容并将其渲染为MP4。该模式存在明确的边界。超出边界的请求不属于路由选择范畴,而是超出范围,因此应直接拒绝(或指向正确工具),而非尝试适配工作流。这些限制源于架构设计,而非单个请求:
  • 渲染过程是确定性且独立的。创作时需嵌入所有数值、资源和文本;渲染过程不进行网络调用,也不实时拉取数据(核心规则:禁止
    Date.now()
    /
    Math.random()
    / 网络请求)。“渲染时实时刷新数据”的需求超出范围 — 需在创作时一次性获取数据并嵌入,或直接拒绝。
  • 仅能叠加现有视频,无法编辑视频本身。HyperFrames在源片段之上合成帧 —
    /embedded-captions
    添加字幕层,
    /graphic-overlays
    添加设计好的图形卡片(下三分之一栏、数据标注、标题) — 源片段在下方正常播放,但两者均不处理编码后的视频流。修改素材本身(时长、颜色、画幅、顺序或音频)属于非线性编辑(NLE)范畴,超出范围。
  • Remotion导入为单向操作
    /remotion-to-hyperframes
    将Remotion框架的源文件转换为HyperFrames格式。不支持反向转换(HyperFrames → Remotion或其他框架 — 超出范围),非Remotion的React/网页动画源文件无法通过该路径转换 — 需通过
    /general-video
    重新创建。
  • 无法生成未提供的输入内容。不支持屏幕/会话录制、摄像头捕获、AI虚拟主播/唇同步头像生成。若素材或资源尚未存在,HyperFrames无法凭空生成 — 需先要求用户提供(或使用正确的捕获工具)。
除此之外 — 从URL、brief、主题、PR、待标注素材或单个元素制作动画的视频需求均在范围内;请按照下方规则进行路由。

Video routing

视频路由

This section knows ONLY top-level workflows. It does not load workflow-internal phases, domain skills (
hyperframes-*
— see the capability map above), or technical references.
本节仅涉及顶级工作流。不加载工作流内部阶段、领域技能(
hyperframes-*
— 见上方能力映射表)或技术参考文档。

Decision table

决策表

INPUT type (intent) is the primary axis; OUTPUT length is only a ceiling, not a gate. For a matching input, the specialized workflows handle anything up to ~3 minwhich workflow you enter is decided by intent (the input type, and for text the subject), not by length. Length matters only at the top end: a genuinely longer piece (a 3-5 min tutorial, a 5 min+ deep dive) is a different register and routes to
/general-video
. Within the ≤~3 min band, a third axis splits the two text-fed workflows — the subject: a product being marketed vs a topic being explained (see the disambiguation rule in step 3 below).
Length / InputProduct launch (URL / brief / script)General website / URLGitHub PR / code changeTopic / article / notes (no product, no URL)Existing video (talking-head) †
≤ ~3 min
/product-launch-video
/website-to-video
/pr-to-video
/faceless-explainer
/embedded-captions
·
/graphic-overlays
3-5min tutorial
/general-video
/general-video
/general-video
/general-video
/embedded-captions
·
/graphic-overlays
5min+ deep dive
/general-video
/general-video
/general-video
/general-video
/embedded-captions
·
/graphic-overlays
Static / loop
/general-video
/general-video
/general-video
/general-video
/general-video
Coverage today: the ≤ ~3 min band has dedicated workflows for product-launch / general-website / GitHub-PR / topic inputs (a URL splits by kind then intent — see step 3), and the existing video column is covered at any length — by
/embedded-captions
(captions / subtitles) or
/graphic-overlays
(designed graphic overlays), split by intent (see step 2). Every other cell is
/general-video
— the general HTML-composition authoring flow (input- and length-agnostic): everything longer than ~3 min (the 3-5 min / 5 min+ rows) and every static / loop format. The router never dead-ends on a creatable video; the only true "general / none" answer is a request outside HyperFrames itself (e.g. NLE-style editing of a finished video file — re-timing, recoloring, reframing, reordering, audio).
Existing footage splits by intent, not length. Captions / subtitles →
/embedded-captions
; designed graphic overlays / packaging — lower-thirds, data callouts, titled cards, pull-quotes — →
/graphic-overlays
. Both overlay the clip, which plays unchanged underneath; neither edits the footage itself.
Genre short-circuit (precedes the table). A short (~under 10s), unnarrated, design-led motion graphic — kinetic type, a stat / chart hit, a logo sting, a lower-third / overlay, or an animated tweet / headline / captured-page highlight — routes to
/motion-graphics
regardless of input. It is an OUTPUT genre, not an input type, so it takes precedence over the input-type table above when the ask is clearly motion-first with no narration (see step 2). A longer or narrated treatment routes by input type, or
/general-video
.
输入类型(意图)为主要依据;输出时长仅为上限,而非准入条件。对于匹配的输入,专用工作流可处理时长约3分钟以内的内容 — 进入哪个工作流由意图(输入类型,文本输入则看主题)决定,而非时长。仅在内容较长时需考虑时长:真正的长视频(3-5分钟教程、5分钟以上深度讲解)属于不同类型,需路由至
/general-video
。在≤约3分钟范围内,文本驱动的两个工作流需通过第三个维度区分 — 主题:推广产品 vs 讲解主题(见下方步骤3中的区分规则)。
时长 / 输入类型产品发布(URL / brief / 脚本)通用网站 / URLGitHub PR / 代码变更主题/文章/笔记(无产品、无URL)现有视频(真人出镜) †
≤ ~3分钟
/product-launch-video
/website-to-video
/pr-to-video
/faceless-explainer
/embedded-captions
·
/graphic-overlays
3-5分钟教程
/general-video
/general-video
/general-video
/general-video
/embedded-captions
·
/graphic-overlays
5分钟以上深度讲解
/general-video
/general-video
/general-video
/general-video
/embedded-captions
·
/graphic-overlays
静态/循环视频
/general-video
/general-video
/general-video
/general-video
/general-video
当前覆盖范围:≤ ~3分钟的内容针对产品发布/通用网站/GitHub PR/主题输入有专用工作流(URL需先区分类型再看意图 — 见步骤3);现有视频任意时长均有对应处理方式 —
/embedded-captions
(字幕/副标题)或
/graphic-overlays
(设计好的图形叠加层),根据意图区分(见步骤2)。其余所有情况均路由至
/general-video
— 通用HTML合成内容创作流程(与输入类型和时长无关):所有超过约3分钟的内容(3-5分钟/5分钟以上行)以及所有静态/循环格式视频。路由不会在可创建的视频需求上陷入死胡同;唯一真正“通用/无对应工作流”的情况是请求超出HyperFrames本身的范围(例如,对成品视频文件进行非线性编辑 — 调整时长、重新调色、重新构图、重新排序、修改音频)。
现有素材根据意图区分,与时长无关。字幕/副标题 →
/embedded-captions
;设计好的图形叠加层/包装 — 下三分之一栏、数据标注、标题卡片、引用内容 →
/graphic-overlays
。两者均在素材上方叠加内容,素材本身正常播放;均不编辑素材本身。
类型短路规则(优先于表格)。简短(约10秒以内)、无旁白、以设计为主的动态图形 — 动态文字、数据/图表展示、Logo动画、下三分之一栏/叠加层,或动画化的推文/标题/页面高亮内容 — 无论输入类型如何,均路由至
/motion-graphics
。这是输出类型,而非输入类型,因此当需求明确为以动效为主且无旁白时,优先适用该规则,而非上述输入类型表格。较长或带旁白的内容则根据输入类型路由,或路由至
/general-video

Migrating an existing composition (special case)

迁移现有合成内容(特殊情况)

The table above is for creating a video from an input. One workflow sits outside it: if the user explicitly asks to port / convert / migrate an existing Remotion (React) composition into HyperFrames →
/remotion-to-hyperframes
. This is source translation, not creation-from-input, so it has no INPUT × LENGTH cell. Route here ONLY on explicit migration language ("port my Remotion project", "convert this Remotion comp", "rewrite this as HyperFrames") — a passing mention of Remotion is not a trigger; default to the creation table or
/hyperframes-core
.
上述表格适用于从输入创建视频。有一个工作流不在表格范围内:若用户明确要求移植/转换/迁移现有Remotion(React)合成内容至HyperFrames →
/remotion-to-hyperframes
。这是源文件转换,而非从输入创建视频,因此没有输入×时长的对应单元格。仅当用户明确提及迁移相关表述(“移植我的Remotion项目”、“转换这个Remotion合成内容”、“重写为HyperFrames格式”)时才路由至此 — 仅提及Remotion不足以触发该路由;默认使用创建表格或
/hyperframes-core

Routing procedure

路由流程

  1. Determine INPUT type + target length. Routing needs to know what the video is about — its subject and input. If the subject itself is unspecified (e.g. "make a video about our thing" with no URL, named product, topic, or asset to work from), or the input type is unknown, ask before entering any workflow — clarify first; do not invoke a workflow Skill and then ask, since committing to a workflow is itself the routing decision. Ask at most 2 clarifying questions:
    • "What's your input — a product (URL or brief), a general website / URL, a GitHub PR / code change, a topic or article to explain, or an existing talking-head video to caption?"
    • "Target length — about 3 minutes or under, or longer (a 3-5 min tutorial / 5 min+ deep dive)?"
    • Spec defaults — state, don't ask (these do NOT affect the route, so never block routing on them): aspect 16:9 (the engine also supports 9:16 vertical — switch only if the user names a vertical destination like TikTok / Reels / Shorts); narration / caption language = the user's. Confirm only if the user pushes back; the chosen workflow re-confirms its own specifics at its Step 0.
  2. Pick by INPUT type (intent) first; length is only a ceiling, not a gate.
    • Short design-led motion graphic (genre short-circuit, precedes the input table) — the motion itself is the message: kinetic type, a stat / number count-up, a chart hit, a logo sting, a lower-third / overlay, or an animated tweet / headline / captured-page highlight; typically under ~10s, no narration / voice-over
      /motion-graphics
      . This is an OUTPUT genre, not an input type — when the ask is clearly a quick, unnarrated, design-led motion piece, route here regardless of input. A longer or narrated treatment of the same material is NOT this (route by input type, or
      /general-video
      ).
    • Existing talking-head video (the user has a clip and wants something added over it) → split by intent, at any length (input type wins over length): captions / subtitles (the spoken words as readable text) →
      /embedded-captions
      ; designed graphic overlays — lower-thirds, data callouts, titled info-cards, pull-quotes, a graphics-packaged edit →
      /graphic-overlays
      . (Editing the footage itself — re-timing, recolor, reframe, reorder, audio — is NLE-style and out of scope; see § What HyperFrames cannot do.)
    • GitHub PR / code change (a
      github.com/<owner>/<repo>/pull/<N>
      link, an
      owner/repo#N
      ref, or "this PR") →
      /pr-to-video
      (up to ~3 min).
    • Otherwise (product URL / brief / topic text): intent picks the workflow via step 3, and it handles anything up to ~3 min — a short 15-30 s promo and a ~100 s explainer both route by intent, not by length. Route to
      /general-video
      (the length-agnostic fallback — see step 4) only when the target is clearly longer than ~3 min (a 3-5 min tutorial, a 5 min+ deep dive). Never force a genuinely long piece into a ≤~3 min workflow — intent decides within the band,
      /general-video
      covers the rest.
  3. Disambiguate the ≤~3 min URL / text inputs (the intent split). Two splits:
    • URL kind + intent — a URL no longer auto-wins for PLV; its kind then intent decides: a GitHub PR link (
      .../pull/<N>
      ,
      owner/repo#N
      , "this PR") →
      /pr-to-video
      ; otherwise a website URL splits by intent — marketing / launching / promoting a specific product or SaaS
      /product-launch-video
      ; a general site → video (site tour, portfolio / blog / landing-page showcase, a social clip from the site's own visuals, or just "turn this site into a video") →
      /website-to-video
      . Both crawl with headless Chrome; PR URLs are read via
      gh
      . When it's genuinely unclear whether a site URL is a product launch or a general-site video, ask one question.
    • Product vs topic (text, no URL) — the decisive question is what the video is about, not the input format:
      • A specific product / company / SaaS / app / website being marketed, launched, or promoted
        /product-launch-video
        .
      • A concept / topic / article / how-something-works being explained, with no product and no URL
        /faceless-explainer
        .
      • Tie-breakers: "Promote / launch / sell / our product" wording → PLV. "Explain / teach / how X works / what is X" with no product → faceless. The shipped style for faceless is always
        pin-and-paper
        .
      • A named site without a pasted URL is still PLV. A script that mentions a product or its website ("our site is acme.io", "promote <brand>") routes to PLV even with no clickable link — PLV can web-search the site and crawl it for brand assets (unless the user opts out, → no-capture preset mode). Not pasting the URL does not make it a faceless / no-capture job. The verbatim-vs-restructure choice for a supplied script is internal to PLV and never changes the route.
      • Conflicting cues → ask, don't guess. If the supplied source is a product's own marketing (its landing page, a promo blog about their platform) yet the user explicitly asks to strip the promotion — a neutral explainer of the underlying concept, not an ad — treat it as genuinely ambiguous (is the video about their product, or the general concept?) and ask one question, rather than resolving to faceless on the "neutral" cue alone. Contrast: a general topic where a product is merely an aside the user says to exclude ("explain how OAuth works — we sell an auth product but don't mention it") is unambiguously faceless — no need to ask.
    • Still unclear after reading the request → ask exactly one question: "Is this promoting a specific product, making a video from a general website, explaining a topic/concept, walking through a GitHub PR, or adding captions to an existing video?"
  4. Fall back to
    /general-video
    .
    When no specialized workflow above matches, route to
    /general-video
    — the general HTML-composition authoring flow (the original
    hyperframes
    flow: design system → plan → layout-before-animation → build → validate), which is input- and length-agnostic. Do not fake-route into a specialized workflow (don't force a tutorial into PLV);
    /general-video
    is the correct general home, not a near-fit. The only genuine "no workflow / general" answer is a request outside HyperFrames itself — e.g. NLE-style cutting/editing of a finished video file (captioning a talking-head clip is
    /embedded-captions
    ; overlaying designed graphics on it is
    /graphic-overlays
    ).
  1. 确定输入类型 + 目标时长。路由需要知道视频的主题 — 内容和输入类型。若主题未明确(例如,“制作一个关于我们产品的视频”但未提供URL、产品名称、主题或素材),或输入类型未知,进入任何工作流前请先询问 — 先明确需求;不要先调用工作流技能再询问,因为选择工作流本身就是路由决策。最多询问2个澄清问题:
    • “你的输入是什么 — 产品(URL或brief)、通用网站/URL、GitHub PR/代码变更、待讲解的主题或文章,或需要添加字幕的现有真人出镜视频?”
    • “目标时长 — 约3分钟以内,还是更长(3-5分钟教程/5分钟以上深度讲解)?”
    • 默认设置 — 直接说明,无需询问(这些不影响路由,因此不要因这些问题阻塞路由):画幅比16:9(引擎也支持9:16竖屏 — 仅当用户指定竖屏平台如TikTok/Reels/Shorts时才切换);旁白/字幕语言=用户使用的语言。仅当用户提出异议时才确认;所选工作流会在其步骤0中重新确认具体细节。
  2. 优先根据输入类型(意图)选择;时长仅为上限,而非准入条件
    • 简短设计导向动态图形(类型短路规则,优先于输入表格) — 动效本身即为核心内容:动态文字、数据/数字计数、图表展示、Logo动画、下三分之一栏/叠加层,或动画化的推文/标题/页面高亮内容;通常约10秒以内,无旁白/语音解说
      /motion-graphics
      。这是输出类型,而非输入类型 — 当需求明确为快速、无旁白、设计导向的动效内容时,无论输入类型如何均路由至此。较长或带旁白的同类内容不适用此规则(根据输入类型路由,或路由至
      /general-video
      )。
    • 现有真人出镜视频(用户已有片段并希望添加内容) → 根据意图区分,任意时长(输入类型优先于时长):字幕/副标题(将语音内容转换为可读文本) →
      /embedded-captions
      设计好的图形叠加层 — 下三分之一栏、数据标注、标题信息卡、引用内容 →
      /graphic-overlays
      。(编辑素材本身 — 调整时长、重新调色、重新构图、重新排序、修改音频 — 属于非线性编辑范畴,超出范围;见§ HyperFrames无法完成的任务。)
    • GitHub PR/代码变更
      github.com/<owner>/<repo>/pull/<N>
      链接、
      owner/repo#N
      引用,或“本次PR”) →
      /pr-to-video
      (时长约3分钟以内)。
    • 其他情况(产品URL/brief/主题文本):通过步骤3根据意图选择工作流,该工作流可处理约3分钟以内的内容 — 15-30秒的短宣传视频和约100秒的解说视频均根据意图路由,而非时长。仅当目标时长明显超过约3分钟(3-5分钟教程、5分钟以上深度讲解)时,才路由至
      /general-video
      (与时长无关的兜底选项 — 见步骤4)。切勿强行将长视频塞入≤约3分钟的工作流 — 时长范围内根据意图选择,其余情况由
      /general-video
      覆盖。
  3. 区分≤~3分钟的URL/文本输入(意图划分)。分为两种情况:
    • URL类型 + 意图 — URL不再自动对应PLV;需先区分类型再看意图:GitHub PR链接(
      .../pull/<N>
      owner/repo#N
      、“本次PR”) →
      /pr-to-video
      ;其他网站URL根据意图区分 — 营销/发布/推广特定产品或SaaS
      /product-launch-video
      通用网站转视频(网站导览、作品集/博客/落地页展示、从网站素材制作社交视频,或仅“将此网站转为视频”) →
      /website-to-video
      。两者均通过无头Chrome抓取;PR URL通过
      gh
      工具读取。若无法明确网站URL是产品发布还是通用网站视频,询问一个问题即可。
    • 产品vs主题(文本,无URL) — 决定性问题是视频主题,而非输入格式:
      • 特定产品/公司/SaaS/应用/网站营销、发布或推广
        /product-launch-video
      • 概念/主题/文章/工作原理讲解,且无产品、无URL
        /faceless-explainer
      • 区分依据:包含“推广/发布/销售/我们的产品”等表述 → PLV。包含“讲解/教学/X如何工作/什么是X”且无产品 → faceless。faceless默认使用
        pin-and-paper
        风格预设。
      • 提及网站但未粘贴URL仍属于PLV。脚本中提及产品或其网站(“我们的网站是acme.io”、“推广<brand>”)即使未粘贴可点击链接,仍路由至PLV — PLV可通过网络搜索网站并抓取品牌资产(除非用户选择不搜索,→ 无捕获预设模式)。未粘贴URL不会使其成为faceless/无捕获任务。提供的脚本是直接用作旁白还是重构为更简洁的场景化旁白,由PLV内部决定,不影响路由。
      • 线索冲突 → 询问,不要猜测。若提供的源是产品自身的营销内容(落地页、关于其平台的宣传博客),但用户明确要求去除营销属性 — 制作中性的概念讲解视频,而非广告 — 则视为真正的歧义(视频是关于他们的产品,还是通用概念?),询问一个问题,而非仅根据“中性”线索直接选择faceless。对比:通用主题中产品仅为用户要求排除的次要内容(“讲解OAuth的工作原理 — 我们销售认证产品但不要提及”),则明确属于faceless — 无需询问。
    • 阅读请求后仍不明确 → 仅询问一个问题:“这是推广特定产品、将通用网站转为视频、讲解主题/概念、演示GitHub PR,还是为现有视频添加字幕?”
  4. 兜底路由至
    /general-video
    。当上述专用工作流均不匹配时,路由至
    /general-video
    — 通用HTML合成内容创作流程(原始
    hyperframes
    流程:设计系统 → 规划 → 动画前布局 → 构建 → 验证),与输入类型和时长无关。不要强行路由至专用工作流(不要将教程塞入PLV);
    /general-video
    是正确的通用选项,而非近似匹配选项。唯一真正“无工作流/通用”的情况是请求超出HyperFrames本身的范围 — 例如,对成品视频文件进行非线性编辑(为真人出镜片段添加字幕是
    /embedded-captions
    ;添加设计好的图形叠加层是
    /graphic-overlays
    )。

Workflow descriptions (for disambiguation)

工作流说明(用于区分)

/product-launch-video

/product-launch-video

  • Input: A product being marketed, supplied as one of: (a) a product URL → crawled with headless Chrome for assets, brand tokens, page structure; (b) a script / brief that names a product site (even without a pasted link) → PLV resolves the site by web search and crawls it for brand tokens + assets, unless the user opts out of searching; (c) a script / brief with no derivable site (or an explicit "don't scrape") → no-capture mode, you pick a style preset that supplies the palette + design system (text/typography scenes, no scraped assets). A supplied script can be used verbatim as the voice-over or restructured into punchier per-scene narration — PLV asks which.
  • Output: product launch / SaaS explainer / promo video as a HyperFrames composition rendered to MP4 — up to ~3 min (sweet spot ~30-90s; longer still when a verbatim script runs long — verbatim length follows the script)
  • Triggers: "make me a launch video for X", "promo for our website", "explain my SaaS in a minute", "feature reveal for X.com", "marketing video for our product", "I have a script — turn it into a 60s promo", "here's my launch script for <brand>, our site is <name>", "use my script word-for-word as the voiceover", "make a text-only launch video, no website / don't scrape anything"
  • Do NOT use for: pure-text explainers about a topic / concept with no product (→
    /faceless-explainer
    ) — note a script that names a product or its site is PLV, not faceless, even when no URL is pasted; a general (non-launch) website → video — a site tour / showcase / social clip not centered on marketing a product (→
    /website-to-video
    ); a GitHub PR / code-change explainer (→
    /pr-to-video
    ); adding captions to an existing video (→
    /embedded-captions
    ); anything clearly over ~3 min (tutorials, deep dives →
    /general-video
    ); customer interviews, motion graphics without a product context, static brand assets (a short product promo, even 15-30 s, is still PLV — length is not the gate, the product intent is)
  • 输入:待营销的产品,提供方式包括:(a) 产品URL → 通过无头Chrome抓取资产、品牌标识、页面结构;(b) 提及产品网站的脚本/brief(即使未粘贴链接) → PLV通过网络搜索找到网站并抓取品牌标识+资产,_除非_用户选择不搜索;(c) 无法推导网站的脚本/brief(或明确说明“不要抓取”) → 无捕获模式,选择提供调色板+设计系统的风格预设(文本/排版场景,无抓取资产)。提供的脚本可直接用作旁白重构为更简洁的场景化旁白 — PLV会询问选择哪种方式。
  • 输出:产品发布/SaaS解说/宣传视频,以HyperFrames合成内容渲染为MP4 — 时长约3分钟以内(最佳时长约30-90秒;若脚本直接用作旁白,时长则跟随脚本长度)
  • 触发词:“为X制作发布视频”、“为我们的网站制作宣传视频”、“用一分钟讲解我的SaaS”、“为X.com制作功能展示视频”、“为我们的产品制作营销视频”、“我有一个脚本 — 转为60秒宣传视频”、“这是<brand>的发布脚本,我们的网站是<name>”、“直接使用我的脚本作为旁白”、“制作纯文本发布视频,不要网站/不要抓取任何内容”
  • 请勿用于:无产品的纯文本主题/概念讲解(→
    /faceless-explainer
    ) — 注意:脚本中提及产品或其网站即使未粘贴URL,仍属于PLV,而非faceless;非发布类通用网站转视频 — 网站导览/展示/社交视频,核心并非产品营销(→
    /website-to-video
    );GitHub PR/代码变更解说(→
    /pr-to-video
    );为现有视频添加字幕(→
    /embedded-captions
    );明显超过约3分钟的内容(教程、深度讲解 →
    /general-video
    );客户访谈、无产品背景的动态图形、静态品牌资产(即使是15-30秒的短产品宣传视频,仍属于PLV — 时长并非准入条件,产品营销意图才是)

/website-to-video

/website-to-video

  • Input: A general website / URL the user wants turned into a video — when the goal is a video of / from the site itself, not a product launch. Captured with headless Chrome for real screenshots + brand assets. (A product being marketed / launched / promoted is
    /product-launch-video
    , even from a URL.)
  • Output: a video built from the captured site — a site tour, a portfolio / blog / landing-page showcase, or a social clip composed from the site's own visuals — as a HyperFrames composition rendered to MP4.
  • Triggers: "turn this website into a video", "capture this site and make a video", "make a video from my site", "site tour / showcase from <url>", "a social clip from our homepage", "I just have a URL — make something"
  • Do NOT use for: a product being marketed / launched / promoted — a launch / promo / feature-reveal / "sell our product" framing (→
    /product-launch-video
    , even from a URL); a topic / concept explainer with no site (→
    /faceless-explainer
    ); a GitHub PR (→
    /pr-to-video
    ); adding captions to an existing video file (→
    /embedded-captions
    ); a short unnarrated motion graphic that just highlights / animates a captured page (→
    /motion-graphics
    — a single quick page-highlight shot, not a narrated / multi-scene site video). When it's genuinely unclear whether a site URL is a product launch or a general-site video, ask one question.
  • 输入:用户希望转为视频的通用网站/URL — 目标是制作网站本身的视频,而非产品发布。通过无头Chrome抓取真实截图+品牌资产。(营销/发布/推广产品的情况属于
    /product-launch-video
    ,即使提供的是URL。)
  • 输出:基于抓取的网站制作的视频 — 网站导览、作品集/博客/落地页展示,或从网站素材制作的社交视频 — 以HyperFrames合成内容渲染为MP4。
  • 触发词:“将此网站转为视频”、“抓取此网站并制作视频”、“用我的网站制作视频”、“从<url>制作网站导览/展示视频”、“用我们的首页制作社交视频”、“我只有一个URL — 制作视频”
  • 请勿用于营销/发布/推广产品 — 发布/宣传/功能展示/“销售我们的产品”等场景(→
    /product-launch-video
    ,即使提供的是URL);无网站的主题/概念讲解(→
    /faceless-explainer
    );GitHub PR(→
    /pr-to-video
    );为现有视频文件添加字幕(→
    /embedded-captions
    );仅突出/动画化单个页面的简短无旁白动态图形(→
    /motion-graphics
    — 单个快速页面高亮镜头,而非带旁白/多场景的网站视频)。若无法明确网站URL是产品发布还是通用网站视频,询问一个问题即可。

/faceless-explainer

/faceless-explainer

  • Input: Arbitrary text — a topic line, an article, notes, or a brief — being explained, with no product being marketed and no site to capture. (If the text names a product or its site, that is
    /product-launch-video
    , which can resolve + crawl the site — even when no URL is pasted.) Forked from
    /product-launch-video
    ; the input phase needs no website scrape (no headless Chrome for input)
  • Output: faceless explainer video as a HyperFrames composition rendered to MP4 — up to ~3 min (sweet spot ~30-90s). Every visual is LLM-invented per scene (typography / abstract graphics / diagram / data-viz); ships the
    pin-and-paper
    style preset
  • Triggers: "make a faceless explainer about X", "explain how DNS works as a video", "turn this article into an explainer video", "video explaining [concept], no product", "topic → short educational video", "explainer from my notes"
  • Do NOT use for: anything centered on a specific product / company being marketed, or a script that names a product site even without a pasted URL (→
    /product-launch-video
    , which web-searches + crawls it); a request that supplies a URL — a product site (→
    /product-launch-video
    ), a general website to turn into a video (→
    /website-to-video
    ), or a GitHub PR (→
    /pr-to-video
    ); adding captions to an existing video (→
    /embedded-captions
    ); anything clearly over ~3 min (tutorials, deep dives →
    /general-video
    ); product ad / promo formats (→
    /product-launch-video
    ); a pre-recorded / user-supplied voiceover or other media to time visuals to — faceless invents every visual and generates its own narration (TTS), it does not sync to supplied audio (→
    /general-video
    ); videos that need real screenshots or scraped brand assets (a short explainer, even under 30 s, is still faceless — length is not the gate, the explain-a-topic intent is)
  • 输入:任意文本 — 主题、文章、笔记或brief — 用于讲解,且无待营销产品、无待抓取网站。(若文本提及产品或其网站,则属于
    /product-launch-video
    ,可解析并抓取网站 — 即使未粘贴URL。)派生自
    /product-launch-video
    ;输入阶段无需网站抓取(无需无头Chrome获取输入)
  • 输出:无真人出镜解说视频,以HyperFrames合成内容渲染为MP4 — 时长约3分钟以内(最佳时长约30-90秒)。每个场景的视觉元素均由LLM生成(排版/抽象图形/图表/数据可视化);默认使用
    pin-and-paper
    风格预设
  • 触发词:“制作关于X的无真人出镜解说视频”、“用视频讲解DNS的工作原理”、“将此文章转为解说视频”、“制作关于[概念]的视频,无产品”、“主题→短教育视频”、“用我的笔记制作解说视频”
  • 请勿用于:以特定产品/公司营销为核心的内容,或脚本中提及产品网站即使未粘贴URL的情况(→
    /product-launch-video
    ,可通过网络搜索+抓取);提供URL的请求 — 产品网站(→
    /product-launch-video
    )、通用网站转视频(→
    /website-to-video
    )、GitHub PR(→
    /pr-to-video
    );为现有视频添加字幕(→
    /embedded-captions
    );明显超过约3分钟的内容(教程、深度讲解 →
    /general-video
    );产品广告/宣传格式(→
    /product-launch-video
    );预录制/用户提供的旁白或其他媒体用于同步视觉元素 — faceless会生成所有视觉元素并自行生成旁白(TTS),不支持与提供的音频同步(→
    /general-video
    );需要真实截图或抓取品牌资产的视频(即使是30秒以内的短解说视频,仍属于faceless — 时长并非准入条件,讲解主题的意图才是)

/embedded-captions

/embedded-captions

  • Input: An existing talking-head / single-subject video (MP4) the user wants captioned — actual footage, not a URL or a text brief. Transcribed locally (Whisper, no API key) and matted (RVM) so the subject can occlude captions; no website scrape, no headless Chrome.
  • Output: the same footage, untouched, with a caption layer added — Standard (default): a verbatim lower-third rail carrying the transcript plus an embedded climax composited behind the subject at the peak; or Cinematic: pure embed, every caption composited into the scene behind the subject. Any length — short reel to long explainer.
  • Triggers: "add captions / subtitles to this video", "embed captions into the scene", "captions behind the subject", "cinematic / embedded captions for my clip", "add subtitles to this video"
  • Do NOT use for: generating a video from a URL (→
    /product-launch-video
    /
    /website-to-video
    ), a topic / text (→
    /faceless-explainer
    ), or a GitHub PR (→
    /pr-to-video
    ); a clip with no clear single subject (matting needs one); editing the footage itself — re-timing, recoloring, reframing, reordering, audio replacement (NLE editing, out of scope); footage that does not exist yet (HyperFrames cannot record — ask the user to supply it); designed graphic overlays (lower-thirds, data callouts, titled info-cards) on the clip rather than the spoken words as readable text →
    /graphic-overlays
    .
  • 输入:用户希望添加字幕的现有真人出镜/单主体视频(MP4) — 实际素材,而非URL或文本brief。本地转录(使用Whisper,无需API密钥)并进行抠像(RVM),以便主体可遮挡字幕;无需网站抓取,无需无头Chrome。
  • 输出原素材保持不变,添加字幕层 — 标准模式(默认):底部栏显示完整转录文本,高潮部分的字幕嵌入主体后方;或电影模式:纯嵌入,所有字幕均合成到主体后方的场景中。支持任意时长 — 短视频到长解说视频均可。
  • 触发词:“为这个视频添加字幕/副标题”、“将字幕嵌入场景”、“字幕置于主体后方”、“为我的片段添加电影级/嵌入字幕”、“为这个视频添加副标题”
  • 请勿用于:从URL生成视频(→
    /product-launch-video
    /
    /website-to-video
    )、从主题/文本生成视频(→
    /faceless-explainer
    )、从GitHub PR生成视频(→
    /pr-to-video
    );无明确单主体的片段(抠像需要单个主体);编辑素材本身 — 调整时长、重新调色、重新构图、重新排序、替换音频(非线性编辑,超出范围);尚未存在的素材(HyperFrames无法录制 — 需要求用户提供);为片段添加设计好的图形叠加层(下三分之一栏、数据标注、标题信息卡)而非将语音内容转为可读文本 →
    /graphic-overlays

/graphic-overlays

/graphic-overlays

  • Input: An existing talking-head / interview / podcast video (MP4) the user wants packaged with designed on-screen graphics — actual footage, not a URL or brief. Transcribed locally (Whisper). The clip plays in full underneath; nothing is cut, re-timed, or recolored.
  • Output: the same footage with a sequence of timed graphic-overlay cards composited on top / beside it — kinetic titles, lower-thirds, data callouts, pull-quotes, side panels, picture-in-picture — synced to the transcript, via a design system of 10 styles × 4 layouts × 3 frames. Any length. (This is the replacement for the removed
    /footage-recut
    info-card overlay flow.)
  • Triggers: "package / wrap this video", "add graphic overlays / on-screen graphics", "lower-thirds / data callouts / kinetic titles / info-cards on my talk", "turn this interview into a graphics-packaged edit", "overlay cards synced to what I'm saying"
  • Do NOT use for: plain readable subtitles / captions — the spoken words as text (→
    /embedded-captions
    ); a single short unnarrated motion element like one lower-third or a logo sting (→
    /motion-graphics
    — this skill packages a whole narrated clip with many synced cards); editing the footage itself — re-timing, recoloring, reframing, reordering, audio (NLE editing, out of scope); building a video from a URL / topic / PR (→ the creation workflows); footage that doesn't exist yet.
  • 输入:用户希望添加设计好的屏幕图形包装的现有真人出镜/访谈/播客视频(MP4) — 实际素材,而非URL或brief。本地转录(使用Whisper)。片段完整播放;不进行剪辑、调整时长或重新调色。
  • 输出:原素材上叠加一系列定时图形卡片 — 动态标题、下三分之一栏、数据标注、引用内容、侧边栏、画中画 — 与转录文本同步,使用包含10种风格×4种布局×3种框架的设计系统。支持任意时长。(此为已移除的
    /footage-recut
    信息卡叠加流程的替代方案。)
  • 触发词:“包装这个视频”、“添加图形叠加层/屏幕图形”、“为我的演讲添加下三分之一栏/数据标注/动态标题/信息卡”、“将这个访谈转为带图形包装的版本”、“添加与语音同步的叠加卡片”
  • 请勿用于:纯可读字幕/副标题 — 将语音内容转为文本(→
    /embedded-captions
    );单个简短无旁白的动效元素如下三分之一栏或Logo动画(→
    /motion-graphics
    — 本技能为整个带旁白的片段添加多个同步卡片);编辑素材本身 — 调整时长、重新调色、重新构图、重新排序、修改音频(非线性编辑,超出范围);从URL/主题/PR制作视频(→ 创建类工作流);尚未存在的素材。

/pr-to-video

/pr-to-video

  • Input: A GitHub pull request — a code change, given as a PR URL (
    github.com/<owner>/<repo>/pull/<N>
    ), an
    owner/repo#N
    ref, or "this PR" in a checked-out repo. A URL, but a PR link read via the
    gh
    CLI — NOT a marketing site to scrape.
  • Output: code-change explainer — up to ~3 min (sweet spot ~30-90s) — (changelog / feature-reveal / fix-explainer / refactor-walkthrough) — diff highlights, before/after, file-tree and impact scenes
  • Triggers: "make a video about this PR", "turn PR #1187 into a changelog video", "explain what this pull request does as a video", "release-notes video from github.com/org/repo/pull/123", "turn this PR into a video"
  • Do NOT use for: a product / marketing website URL (→
    /product-launch-video
    ) or a general website to turn into a video (→
    /website-to-video
    ); a topic / article / text with no PR (→
    /faceless-explainer
    ); adding captions to an existing video (→
    /embedded-captions
    ); a whole-repo tour or multi-PR release (no workflow yet →
    /general-video
    )
  • 输入GitHub拉取请求 — 代码变更,提供方式包括PR URL(
    github.com/<owner>/<repo>/pull/<N>
    )、
    owner/repo#N
    引用,或已检出仓库中的“本次PR”。属于URL,但为PR链接,通过
    gh
    CLI读取 — 并非待抓取的营销网站。
  • 输出:代码变更解说视频 — 时长约3分钟以内(最佳时长约30-90秒) — (变更日志/功能展示/修复说明/重构演示) — 差异高亮、前后对比、文件树及影响场景
  • 触发词:“制作关于本次PR的视频”、“将PR #1187转为变更日志视频”、“用视频讲解本次拉取请求的内容”、“从github.com/org/repo/pull/123制作发布说明视频”、“将本次PR转为视频”
  • 请勿用于:产品/营销网站URL(→
    /product-launch-video
    )或通用网站转视频(→
    /website-to-video
    );无PR的主题/文章/文本(→
    /faceless-explainer
    );为现有视频添加字幕(→
    /embedded-captions
    );整个仓库导览或多PR发布(暂无对应工作流 →
    /general-video

/remotion-to-hyperframes

/remotion-to-hyperframes

  • Input: An existing Remotion (React) video composition's source — the user explicitly asks to port / convert / migrate / rewrite it as HyperFrames. Direction is one-way (Remotion → HyperFrames) and specific to the Remotion framework; this is NOT a creation-from-input workflow.
  • Output: A HyperFrames HTML composition translated from the Remotion source, graded against the Remotion render with an SSIM eval harness + tiered test corpus
  • Triggers: "port my Remotion project to HyperFrames", "convert this Remotion comp", "migrate from Remotion", "rewrite this as HyperFrames HTML"
  • Do NOT use for: authoring a NEW composition (even while A/B-testing a Remotion video), a passing mention of Remotion, or "the same video as my Remotion one" without an explicit migrate request (→ creation workflows /
    /hyperframes-core
    ); the reverse direction — exporting HyperFrames back out to Remotion or any other framework (out of scope, see § What HyperFrames cannot do); a non-Remotion React / web-animation source (no Remotion source to translate → re-create it via
    /general-video
    )
  • 输入:现有Remotion(React)视频合成内容的源文件 — 用户明确要求移植/转换/迁移/重写为HyperFrames格式。转换为单向操作(Remotion → HyperFrames),且仅针对Remotion框架;此并非从输入创建视频的工作流。
  • 输出:从Remotion源文件转换而来的HyperFrames HTML合成内容,通过SSIM评估工具+分层测试集与Remotion渲染结果比对评分
  • 触发词:“将我的Remotion项目移植到HyperFrames”、“转换这个Remotion合成内容”、“从Remotion迁移”、“重写为HyperFrames HTML”
  • 请勿用于:创作合成内容(即使是A/B测试Remotion视频)、仅提及Remotion、或“制作与我的Remotion视频相同的视频”但未明确要求迁移(→ 创建类工作流 /
    /hyperframes-core
    );反向转换 — 将HyperFrames导出回Remotion或其他框架(超出范围,见§ HyperFrames无法完成的任务);非Remotion的React/网页动画源文件(无Remotion源文件可转换 → 通过
    /general-video
    重新创建)

/motion-graphics

/motion-graphics

  • Input: A request for a short, design-led MOTION GRAPHIC where the motion itself is the message — typically under ~10s (up to ~30s), no narration / voice-over. Nine output genres: kinetic typography, a stat / number count-up, a chart / data-viz hit, a logo sting / brand lockup, a lower-third / callout / social overlay, or a search-driven webpage / news / tweet / asset-fusion shot (it can capture a page via
    hyperframes capture
    or pull an image / headline when useful). An OUTPUT-genre short-circuit — it spans inputs, so it precedes the input-type table when the ask is clearly motion-first and unnarrated.
  • Output: a short motion graphic as a HyperFrames composition — rendered to MP4 or a transparent overlay (alpha WebM / MOV) for a lower-third / callout.
  • Triggers: "an 8s logo sting", "animate this stat / number", "a kinetic-type intro", "a quick stat / chart hit", "turn this headline or tweet into a motion graphic", "a motion poster", "a transparent lower-third / callout overlay"
  • Do NOT use for: a longer, multi-scene, or narrated piece, a brand reel, or any custom composition past ~10-15s (→
    /general-video
    ); a narrated video OF a website / site tour (→
    /website-to-video
    — motion-graphics' webpage genre is a single quick page-highlight shot, not a narrated site video); a narrated topic explainer (→
    /faceless-explainer
    ); a product launch / promo (→
    /product-launch-video
    ); a GitHub PR (→
    /pr-to-video
    ); adding captions to existing footage (→
    /embedded-captions
    )
  • 输入:对简短、设计导向的动态图形的需求,动效本身即为核心内容 — 通常约10秒以内(最长约30秒),无旁白/语音解说。包含九种输出类型:动态文字、数据/数字计数、图表/数据可视化展示、Logo动画/品牌标识、下三分之一栏/标注/社交叠加层,或搜索驱动的网页/新闻/推文/资产融合镜头(可通过
    hyperframes capture
    捕获页面或在需要时拉取图片/标题)。属于输出类型短路规则 — 覆盖所有输入类型,因此当需求明确为以动效为主且无旁白时,优先适用该规则,而非上述输入类型表格。
  • 输出:简短动态图形,以HyperFrames合成内容渲染为MP4或透明叠加层(带Alpha通道的WebM/MOV),用于下三分之一栏/标注。
  • 触发词:“8秒Logo动画”、“动画化这个数据/数字”、“动态文字开场”、“快速数据/图表展示”、“将这个标题或推文转为动态图形”、“动态海报”、“透明下三分之一栏/标注叠加层”
  • 请勿用于:较长、多场景或带旁白的内容、品牌宣传片、或超过约10-15秒的自定义合成内容(→
    /general-video
    );带旁白的网站视频/网站导览(→
    /website-to-video
    — 动态图形的网页类型为单个快速页面高亮镜头,而非带旁白的网站视频);带旁白的主题解说(→
    /faceless-explainer
    );产品发布/宣传(→
    /product-launch-video
    );GitHub PR(→
    /pr-to-video
    );为现有素材添加字幕(→
    /embedded-captions

/general-video

/general-video

  • Input: Anything not handled above — a creative brief, a single element to animate, an edit to a composition you're building. Input- and length-agnostic.
  • Output: A HyperFrames HTML composition (any length / format) authored with the original
    hyperframes
    flow: design system → prompt expansion → plan → layout-before-animation → build (delegating to the
    hyperframes-*
    domain skills) → validate.
  • Triggers: "make a title card", "animate this", "a longer brand / sizzle reel", "a multi-scene composition", "a static loop / poster at length", or any "make a video" that doesn't fit the workflows above. (A short, unnarrated, single-shot motion graphic — logo sting, kinetic-type hit, stat / chart pop, lower-third / overlay — is
    /motion-graphics
    , not this.)
  • Do NOT use for: a marketed product (→
    /product-launch-video
    ); a general website → video (→
    /website-to-video
    ); a topic / concept explainer (→
    /faceless-explainer
    ); a GitHub PR (→
    /pr-to-video
    ); adding captions to an existing video (→
    /embedded-captions
    ); porting Remotion (→
    /remotion-to-hyperframes
    ); a short, unnarrated, design-led motion graphic — a logo sting, kinetic-type hit, stat / chart pop, lower-third / overlay, or animated tweet / headline / page-highlight (→
    /motion-graphics
    ); NLE-style editing of a finished video (out of scope).
  • 输入:上述未覆盖的所有内容 — 创意brief、单个待动画化元素、正在构建的合成内容的编辑需求。与输入类型和时长无关。
  • 输出:通过原始
    hyperframes
    流程创作的HyperFrames HTML合成内容(任意时长/格式):设计系统 → 提示扩展 → 规划 → 动画前布局 → 构建(委托给
    hyperframes-*
    领域技能) → 验证。
  • 触发词:“制作标题卡”、“动画化这个元素”、“较长的品牌/宣传视频”、“多场景合成内容”、“静态循环/海报视频”,或任何“制作视频”但不符合上述工作流的需求。(简短、无旁白、单镜头动态图形 — Logo动画、动态文字展示、数据/图表弹出、下三分之一栏/叠加层 — 属于
    /motion-graphics
    ,而非本工作流。)
  • 请勿用于:营销产品(→
    /product-launch-video
    );通用网站转视频(→
    /website-to-video
    );主题/概念讲解(→
    /faceless-explainer
    );GitHub PR(→
    /pr-to-video
    );为现有视频添加字幕(→
    /embedded-captions
    );移植Remotion(→
    /remotion-to-hyperframes
    );简短、无旁白、设计导向的动态图形 — Logo动画、动态文字展示、数据/图表弹出、下三分之一栏/叠加层,或动画化的推文/标题/页面高亮(→
    /motion-graphics
    );对成品视频进行非线性编辑(超出范围)。

Out of scope for video routing

视频路由的超出范围内容

  • Domain skills (
    /hyperframes-core
    ,
    /hyperframes-animation
    ,
    /hyperframes-cli
    ,
    /hyperframes-creative
    ,
    /hyperframes-media
    ,
    /hyperframes-registry
    ) — these are NOT routed here, but they ARE in the capability map at the top of this skill; a workflow's build phase loads them as technical references.
  • Workflow-internal phases — phases live inside each workflow's folder and are dispatched by that workflow's orchestrator, not by this router.
  • 领域技能
    /hyperframes-core
    /hyperframes-animation
    /hyperframes-cli
    /hyperframes-creative
    /hyperframes-media
    /hyperframes-registry
    ) — 这些不在本路由范围内,但属于本文顶部的能力映射表;工作流的构建阶段会将其作为技术参考加载。
  • 工作流内部阶段 — 阶段位于每个工作流的文件夹内,由该工作流的编排器调度,而非本路由。