1实现原理 · 为什么它能做到
七步流水线,每步产出一个人工或程序门禁文件才允许进入下一步。
The workflow has 7 steps. Each produces an artifact that gates the next.
抓站本身不需要任何 key:hyperframes capture 一次抓取设计 token、截图、字体与资产,并自动生成带 DOM 上下文的描述。
npx hyperframes capture <URL> -o captures/<project-name> … No API keys required. The capture extracts design tokens, screenshots, fonts, and assets with DOM-context descriptions automatically.
可选加 Gemini 视觉描述:把 GEMINI_API_KEY/GOOGLE_API_KEY 放仓库根 .env,可让 Gemini 2.5 Flash 生成更丰富的图片描述(有免费额度上限)。
**Optional:** Set `GEMINI_API_KEY` (or `GOOGLE_API_KEY`) in a `.env` file at the repo root for richer AI-powered image descriptions via Gemini 2.5 Flash vision.
DESIGN.md 被限定为「速查表」而非创意计划,创意计划留给 Step 4 的 STORYBOARD.md。
Write a simple brand reference for the captured website. 6 sections, ~90 lines. … This is a cheat sheet, not the creative plan — that comes in Step 4.
旁白先于画面:脚本是故事骨架,场景时长来自旁白而不是猜测。
Write the narration script. The story backbone. Scene durations come from the narration, not from guessing.
TTS 有三条路且默认走本地免费:Kokoro 本地 CPU 生成(无需 key),ElevenLabs 走 MCP 工具(音质最好但不返回时间戳,需另转写)。
- **Kokoro** (try first — free, no API key) — `npx hyperframes tts SCRIPT.md --voice af_nova --output narration.wav`. Runs locally on CPU. … - **ElevenLabs** (best voice quality, widest selection) — `mcp__elevenlabs__search_voices` to browse, `mcp__elevenlabs__text_to_speech` to generate. Does not return timestamps — transcribe separately after.
Step 6 构建必须真正调用 /hyperframes skill,而不是自带一套动画约定。
**Read:** The `/hyperframes` skill (invoke it — every rule matters)
交付前双校验零错误,并留 HANDOFF.md 供多会话续做。
Lint, validate, preview. Create a HANDOFF.md for multi-session continuity. … `npx hyperframes lint` and `npx hyperframes validate` pass with zero errors.
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| cli | HyperFrames CLI:capture / tts / transcribe / lint / validate |
| api | Gemini 2.5 Flash 视觉描述(可选,需 GEMINI_API_KEY / GOOGLE_API_KEY,写在仓库根 .env) |
| api | ElevenLabs 语音(经 MCP 工具 mcp__elevenlabs__*,可选;不返回时间戳需另行转写) |
| network | 被捕获的目标网站自身(URL 由用户提供) |
| package | 兄弟 skill:/hyperframes(Step 6 必须调用) |
4风险提醒 风险提醒:橙色 · 评估后使用
- 可选 Gemini 描述会把抓站截图外送(并需要把 key 写进仓库根 .env) — 若目标站含未发布内容或敏感界面,配置该 key 即意味着截图离开本机;不配置则仅损失 AI 描述质量(文档明示两者差异)。
- 抓回来的页面文本与资产是未消毒的外部输入 — 远端页面内容(含可选的自然语言图像描述)会进入 DESIGN.md/STORYBOARD.md 并成为构建上下文;理论上可携带指令式文本影响产出,本 skill 未提供内容消毒或指令隔离条款。
- Step 6 的「合成自评」门禁是软门禁 — 无脚本或人工签字可验(见 second_pass 的 discrepancy 条);实际质量取决于执行者的自查严格度,交付风险集中在这一步。
- 抓取的字体/图片资产有版权与来源风险 — 抓站会带下字体与图片资产供本地使用,但文档未声明对目标站素材的授权校验;商用前需自行确认。
- 抓站行为依赖外部 CLI 与目标站可用性 — npx hyperframes capture 需要 Node 与网络;目标站改版、需登录或有反抓取会让 Step 1 失败(文档未给登录态抓取方案)。
- 流程偏长,中间产物多 — 七步各自落盘(captures/DESIGN.md/SCRIPT.md/STORYBOARD.md/narration+transcript/compositions/HANDOFF.md),跳过任一环都会让后续门禁失去依据。
5第二遍独立确认
- [ok] Gemini key 与截图外发是否真实存在于文档(橙档关键证据) — references/step-1-capture.md 原文两处:抓站命令与 'No API keys required.',紧接着 '**Optional:** Set `GEMINI_API_KEY` (or `GOOGLE_API_KEY`) in a `.env` file at the repo root for richer AI-powered image descriptions via Gemini 2.5 Flash vision. Free tier: 5 RPM; paid tier removes the bottleneck.' 即外发可选,且降级路径(不做 AI 描述)同段说明。
- [ok] 本 skill 是否夹带脚本或隐藏执行面 — find 目录只返回 .md;无 package.json、无 scripts/。SKILL.md 与 references 内的命令都是 npx hyperframes / 外部工具类,由宿主执行。
- [ok] ElevenLabs 路径是否把「免费本地」选项挤掉(隐私判断) — step-5-vo.md 把 Kokoro 列为首选并注明 'try first — free, no API key' 与 'Runs locally on CPU',ElevenLabs 列第二且如实标注 'Does not return timestamps — transcribe separately after'。默认路径不出网(除抓站与 npx 拉取),付费服务是显式选项。
- [discrepancy] 「7 步每步一门禁」是否真的每步都有可判定 gate — [判定:轻微]Step 1–5、7 的 gate 都是可机械判定的文件存在或 CLI 零错误;但 Step 6 的 gate 是自评式的——'**Gate:** Every composition has been self-reviewed. No overlapping elements, no misplaced assets, no static images without motion.' 由 agent 自查,无脚本或人工签字支撑。属文档自认的软门禁,已在 traits 与 risks 中标注。
- [ok] 触发面声明是否与内容相符(只丢 URL 就用它) — frontmatter 第 4 条与正文 Quick Reference 都覆盖用户分享链接的情形;SKILL.md 的 Users say things like 三条示例(25s launch video、15s IG 广告、30s 产品 tour)方向一致。
6结论
689a696415fb5f9d…0d30152a82