首页 / 全部技能 / 内容创作 / make-a-video
内容创作 · nateherkai/hyperframes-student-kit

make-a-video

Beginner-friendly end-to-end video creator for HyperFrames. Use when the user says "make a video", "create a video", "new video", "build a video", "video from scratch", "I want to make a video", "help me create a video", or when someone who's never used HyperFrames before arrives with a concept, script, or rough idea and wants a finished MP4. Interviews the user in one pass, then builds the full video with mandatory preview and visual-verification gates.

L4 高权限 · 分级授权与审计V1 已固定执行命令联网读写文件Dual-pass Audit
Author nateherkaiGitHub nateherkai/hyperframes-student-kit ↗Stars 1070License NOASSERTION(仓库根 LICENSE,实为 MIT 文本)Commit 0d30152a82
管控等级描述 skill 的能力与建议配套的管控措施,不代表质量或安全认证,也不表示可用或不可用。是否使用由用户和管理者决定。不同 agent 宿主对权限的约束各不相同,请勿假定宿主一定会提供安全兜底。第三方 skill 版权归原作者,使用风险由使用者自行承担。

1实现原理 · 为什么它能做到

整体是「两阶段八门」的状态机:Phase 1 一次访谈问全(Gate 1-4),Phase 2 逐门建造(Gate 5-8),每门必须产出下一门要消费的具体产物,且明令不许跳门。

.claude/skills/make-a-video/SKILL.md
Two phases, eight sequential gates. Every gate produces a concrete artifact the next gate consumes. Don't skip gates.
描述里承诺『interviews the user in one pass』,与 Gate 1 的 one-question-at-a-time 是同一件事的两面:一轮搞定,但不许一次抛十个问题。

入口先做分流:URL → website-to-hyperframes;9:16 口播带人脸 → 先用本 skill 跑到 Gate 4 再交给 short-form-edit;只要框架规则 → hyperframes。

.claude/skills/make-a-video/SKILL.md
**Hand off when:** - The user pastes a URL and wants a video from that site → invoke `/website-to-hyperframes` … - The user asks for framework rules, not a video → invoke `/hyperframes`
Gate 5 里还有一次 handoff 复查:若 brief 是 9:16 口播 + 场景覆盖层,就在此处把 brief 交给 /short-form-edit。

访谈阶段有硬门:Gate 1 收齐六项(用途/受众/时长/画幅/帧率/平台约束),Gate 4 必须写 BRIEF.md 并等用户明确点头才允许开工。

.claude/skills/make-a-video/SKILL.md
4. **Show the brief. WAIT for explicit approval.** Don't proceed to Gate 5 without a clear "yes, build it."
Gate 4 还强制读工作区根的 MOTION_PHILOSOPHY.md(若存在则 mandatory),并把它作为美学基线。

风格阶段先盘点、后提问,绝不替用户选品牌:先扫 workspace 与项目 assets,再渐进式问调色/字体/logo/参考片/节奏/音乐;只有当用户明确拒绝提供时才回落到 MOTION_PHILOSOPHY 默认值。

.claude/skills/make-a-video/SKILL.md
**Before asking the user anything, inventory existing assets.** Check `<workspace-root>/assets/` and any project `assets/` folder. Don't ask for what's already there.
对应 Non-negotiables:DO NOT impose a brand on the user.(先问,明确拒绝后才用默认)

建造阶段给的是可复制的骨架:npx hyperframes init(或复用同型项目的 hyperframes.json/meta.json)、assets/style-profile.md 作单一事实源、故事板每拍写清概念/视觉元素/运动语言/缓动/退出/音频,并建议三幕 20% / 55% / 25% 结构。

.claude/skills/make-a-video/SKILL.md
- Act 1 (hook) ≈ 20% of duration - Act 2 (body) ≈ 55% - Act 3 (payoff + outro with 4–6 second hold) ≈ 25%
脚手架命令在 Gate 5:`npx hyperframes init`,另可 offer 复制兄弟项目的配置做模板。

子组合的模板写死三件套:作用域样式([data-composition-id])、IIFE 包裹的暂停 GSAP 时间线、以及末尾的 SLOT 锚补时 tween;时间线注册到 window.__timelines。

.claude/skills/make-a-video/SKILL.md
tl.to({}, { duration: SLOT_DURATION }, 0); // anchor — MOTION_PHILOSOPHY Law 11 … window.__timelines["scene-name"] = tl;
配套纪律:目录块经 `npx hyperframes add <name>` 安装后必须把其 CSS 限定到 [data-composition-id="..."],因为 catalog 块自带 `html, body { ... }` 规则会污染父文档。

确定性是硬约束:禁 Math.random()/Date.now()/渲染期 fetch(),改用种子 PRNG 或谐波正弦哈希。

.claude/skills/make-a-video/SKILL.md
No `Math.random()`, no `Date.now()`, no render-time `fetch()`. Use seeded PRNGs or harmonic-sin hashes (MOTION_PHILOSOPHY §3.10).
原因在 references/composition-scaffold.md 里写明:HyperFrames 渲染期会同步读时间线,非确定性会让抽帧/渲染不可复现。

两道强制预览门 + 抽帧目检:lint 与 Studio(localhost:3002)通过并获用户明确同意后才渲染草稿;草稿必须用 ffmpeg 抽帧、用 Read 工具真的看图,再用本地服务器让人试播并获签核,最后才终渲。

.claude/skills/make-a-video/SKILL.md
3. **Call the `Read` tool on every PNG.** The Read tool loads the image into context — don't just list filenames. … Do NOT use Python's `http.server` — it doesn't support HTTP Range requests, so scrubbing breaks.
PREVIEW GATE 2 的服务器用 `npx serve renders -p 8080 -n`;终渲用 --quality standard,草稿用 --quality draft。

2核心能力

01新手入口分流:按输入形态决定自建、交接或退化为框架参考
02结构化访谈:一问一答、六项意图采集(用途/受众/时长/画幅/帧率/平台约束)+ 音频/字幕方案
03脚本与配音方案采集,含 TTS 与转写命令(npx hyperframes tts / transcribe)
04风格采集与「不强加品牌」纪律,缺失信息只给默认不替用户决定
05BRIEF.md 合成与硬门审批(不给出明确 yes 不许进入建造)
06工程脚手架与故事板:init/复用模板、assets 归集、style-profile.md 单一事实源、逐拍故事板模板
07意图 → 目录块映射表,把口语需求翻成 npx hyperframes add <block> 命令
08子组合脚手架纪律(作用域样式 + IIFE + 暂停时间线 + SLOT 锚 + window.__timelines 注册)
09预渲染检查清单(结构 preflight + 美学 preflight + lint)
10两道具名强制预览门与抽帧目检:Studio 预览、ffmpeg 抽帧 + Read 看图、本地试播签核、再终渲

3外部依赖

KindDependency / Endpoint
cliHyperFrames CLI(init / lint / preview / render / transcribe / tts / add,仓库依赖 hyperframes 包)
cliffmpeg(从草稿成片抽帧做目检)
clinpx serve(本地静态服务器,供用户试播签核;文档明确禁用 Python http.server 因无 Range 支持)
networkHyperFrames Studio 预览服务器(本地)
networkGoogle Fonts(**产物期**:style-intake 的默认字体对在生成的 composition 里按需引,浏览器/渲染器加载)
cli宿主问答工具 AskUserQuestion(访谈阶段逐题提问)
package工作区外部依赖 MOTION_PHILOSOPHY.md(作者自述为『本 skill 唯一假定存在的外部参考』)

4管控建议与判定依据

建议配套管控措施
面向 Agent
分级或逐次授权,建议在沙箱运行
面向管理者
审批流程、可回滚、全程审计
判定依据(文件路径与关键语句摘要)
  • scripts/: 执行本地脚本或命令: 本 skill 自身 0 个脚本(目录内为 SKILL.md + 6 个 references;find -type f 核对)
  • 网络端点: 声明外部网络访问: 执行期:仅本地回环 —— Studio 预览 http://localhost:3002 与试播服务器 http://localhost:8080;无
  • 本地工作目录: 文件读写与工件输出: video-projects/<slug>/(或用户指定目录)下的工程文件:BRIEF.md、STORYBOARD.md、index.html、com
审计说明: 。判级对象=本 skill 自身目录(SKILL.md + 6 个 references,共 7 个文件):全部是提示词、模板与检查清单,零脚本、零凭证读取、零 env 访问、零第三方 API 调用,也不涉及删除/破坏性操作。其运行时行为是本地工程读写 + 官方 hyperframes CLI(init/lint/preview/render/transcribe/tts/add)+ 系统 ffmpeg + 本地回环服务器(3002/8080)——属『仅本地工具/CLI 与本地读写』的蓝档。之所以不落绿档:流程会实际创建/改写项目工程并渲染写出 MP4,还经官方 registry 拉入 catalog 块模板(供应链相邻面)。无红档特征(无沙箱关闭、无 TLS 降级、无反自动化绕过、无任意代码执行面);文档出现的 Google Fonts/本地 URL 属产物期引用或回环地址,按分档细则不判级。

5第二遍独立确认

  • [ok] 目录文件清单与脚本面 — find 返回 SKILL.md(12.6KB)+ references/{build-checklist,catalog-intent-map,composition-scaffold,interview-questions,storyboard-template,style-intake}.md;无 scripts/、无 .js/.mjs/.py,无隐藏文件。
  • [ok] URL/网络面归类 — 命中的 URL 三类:localhost:3002(Studio)、localhost:8080(试播)、fonts.googleapis.com(默认字体对,产物期)。无第三方 API 端点、无上传路径、无云服务名。
  • [ok] 凭证面反例搜索 — 0 处 env/API_KEY/TOKEN/SECRET 命中;全文未要求账号、配额或密钥(与 edit-video 形成对照:那里把服务前置与成本纪律写进主流程)。
  • [ok] 门禁与非协商条款回源 — Gate 4 的 'WAIT for explicit approval.'、Gate 7 的 'Silence is not approval.'、Gate 8 的 Read-every-PNG、SLOT 锚、class="clip" 禁令、Math.random/Date.now 禁令、'Never put index.html at the workspace root.' 均在源码定位到,无遗漏改写。
  • [ok] references 引用完整性 — SKILL.md References 段列的 6 个文件全部存在于 references/ 目录,且每个文件开头自述所属 Gate(Gate 1-3 / Gate 5 / Gate 6 / Gates 7-8),引用链无死链。
  • [ok] CLI 能力是否被误记为云服务 — 文档只写 `npx hyperframes tts --help` 与 `npx hyperframes transcribe ...`,未指定服务商或密钥;故 external_deps 只记 CLI 本体,不虚增 API 条目。

6结论

  • 把「新手到成片」拆成 8 道带产物的门,且关键节点都设人工审批,避免一次性生成一堆跑偏的东西。
  • 入口会分流而不是硬做:URL、9:16 口播、只想看框架规则三种输入都被明确交给更合适的 skill。
  • 不强加品牌:先盘点资产再提问,默认值只在用户明确拒绝提供风格时启用。
  • 视觉验证写得很实在:必须用 Read 工具逐张看抽帧,并列出要看什么(裁脸、字幕、配色、溢出、空帧、边界落词)。
  • 工程细节经验被固化成规则:catalog 块 CSS 必须 scope、video 不许加 class="clip"、试播别用 Python http.server、时间线必须补 SLOT 锚。
  • 6 份 references 分工明确,等于把访谈题库、风格决策树、意图映射、故事板模板、脚手架、检查清单都落成可复用文件。
  • 适合: 适合:第一次用 HyperFrames、手里只有概念或脚本、想要一条有人把关的端到端流程的新手;也适合作为团队的新项目标准作业流程模板。
    不适合: 不适合:只想查框架规则(直接 /hyperframes)、已有工程只想补几个动效节拍(用 hyperframes-video-beats)、9:16 口播快剪(/short-form-edit),以及不接受多轮审批、要一次性无人值守出片的人。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload make-a-video.tar.gz
    sha256: d16534f6ceefd132…
    Option B · Copy Guide for Agent
    install.json
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 0d30152a82.