Home / All Skills / Content & Media Creation / make-a-video
Content & Media Creation · 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 High-Privilege · Graded auth & full auditV1 Commit-PinnedExecute CommandNetwork AccessWrite FileDual-pass Audit
Author nateherkaiGitHub nateherkai/hyperframes-student-kit ↗Stars 1070License NOASSERTION(仓库根 LICENSE,实为 MIT 文本)Commit 0d30152a82
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

The entire process is a "two-phase, eight-gate" state machine: Phase 1 conducts a complete interview in one pass (Gates 1–4), and Phase 2 builds sequentially gate by gate (Gates 5–8), where each gate must produce concrete deliverables consumed by the next, strictly forbidding gate skipping.

.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.
The description promises to "interview the user in one pass," which represents the two sides of the same coin alongside Gate 1's one-question-at-a-time rule: gathering all info in a single cohesive interview round without throwing ten questions at the user at once.

Initial routing at the entry point: URL input → website-to-hyperframes; 9:16 talking-head with human face → execute up to Gate 4 with this skill, then hand off to short-form-edit; framework rules lookup only → 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`
There is a second handoff review in Gate 5: if the brief requires a 9:16 talking-head with scene overlays, hand off the brief to /short-form-edit right there.

Hard gates exist in the interview phase: Gate 1 gathers six essential requirements (purpose, audience, duration, aspect ratio, frame rate, platform constraints), and Gate 4 requires generating BRIEF.md and waiting for the user's explicit approval before starting construction.

.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 also enforces reading MOTION_PHILOSOPHY.md from the workspace root (mandatory if present) as the aesthetic baseline.

The style phase audits first and asks questions second, strictly avoiding imposing a brand on the user: scans the workspace and project assets first, then progressively queries palette, typography, logo, references, pacing, and music; only falls back to MOTION_PHILOSOPHY defaults if the user explicitly declines to provide them.

.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.
Corresponds to the Non-negotiable rule: DO NOT impose a brand on the user (ask first, use defaults only after explicit refusal).

The construction phase provides a reproducible scaffold: `npx hyperframes init` (or reusing hyperframes.json/meta.json from a sibling project), assets/style-profile.md as the single source of truth, beat-by-beat storyboard specifying concept, visuals, motion language, easing, exit, and audio, along with a recommended 20% / 55% / 25% three-act structure.

.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%
The scaffolding command is at Gate 5: `npx hyperframes init`, with an option to offer copying sibling project configurations as templates.

Sub-compositions strictly enforce a three-part template: scoped styles ([data-composition-id]), IIFE-wrapped paused GSAP timelines, and a trailing SLOT anchor padding tween at the end; timelines are registered to 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;
Accompanying discipline: after catalog blocks are installed via `npx hyperframes add <name>`, their CSS must be scoped to [data-composition-id="..."] because default catalog blocks contain `html, body { ... }` rules that pollute the parent document.

Determinism is a strict constraint: forbid Math.random(), Date.now(), and render-time fetch(); use seeded PRNGs or harmonic sine hashes instead.

.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).
The rationale is detailed in references/composition-scaffold.md: HyperFrames reads timelines synchronously during rendering, so non-determinism makes frame extraction and rendering non-reproducible.

Two mandatory preview gates plus frame visual inspection: draft rendering starts only after passing lint and Studio (localhost:3002) checks with explicit user consent; the draft must undergo ffmpeg frame extraction and actual visual inspection using the Read tool, followed by local server preview and user sign-off before the final render.

.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 uses `npx serve renders -p 8080 -n` for preview serving; final rendering uses --quality standard, while draft rendering uses --quality draft.

2Core Capabilities

01Beginner entry routing: routes to self-build, handoff, or framework reference lookup based on input format
02Structured interview: one-question-at-a-time, six-item intent gathering (purpose, audience, duration, aspect ratio, frame rate, platform constraints) + audio/subtitle planning
03Script and voiceover strategy collection, including TTS and transcription commands (npx hyperframes tts / transcribe)
04Style collection with the "do not impose a brand" discipline, using defaults only when info is missing without making brand decisions for the user
05BRIEF.md synthesis and hard approval gate (proceeding to construction strictly prohibited without an explicit yes)
06Project scaffolding and storyboarding: init or template reuse, asset consolidation, style-profile.md as single source of truth, beat-by-beat storyboard template
07Intent-to-catalog-block mapping table, translating colloquial requirements into npx hyperframes add <block> commands
08Sub-composition scaffolding discipline (scoped styles + IIFE + paused timeline + SLOT anchor + window.__timelines registration)
09Pre-render checklist (structural preflight + aesthetic preflight + lint)
10Two named mandatory preview gates and frame-by-frame visual inspection: Studio preview, ffmpeg frame extraction + Read tool image review, local playback sign-off, then final render

3External Dependencies

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 唯一假定存在的外部参考』)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Graded/per-use authorization, sandbox recommended
For Administrators
Approval workflow, rollback support, full audit
Evidence & Triggers (File Paths & Excerpts)
  • scripts/: Execute local scripts or commands: 0 scripts inside the skill itself (contains SKILL.md + 6 reference files verified via find -type f)
  • 网络端点: Declare external network access: Runtime only: local loopback only — Studio preview http://localhost:3002 and playback test server http://localhost:8080; none
  • 本地工作目录: File read/write & artifact outputs: Project files under video-projects/<slug>/ (or user-specified directory): BRIEF.md, STORYBOARD.md, index.html, com
Audit Notes: Evaluation target = this skill directory itself (SKILL.md + 6 reference files, 7 files total): consists purely of prompts, templates, and checklists with zero scripts, zero credential access, zero env inspection, zero third-party API calls, and no destructive/deletion operations. Its runtime behavior involves local project file read/write + official hyperframes CLI (init/lint/preview/render/transcribe/tts/add) + system ffmpeg + local loopback servers (3002/8080) — qualifying it for the "local tools/CLI and local file I/O only" Blue tier. It is not placed in the Green tier because the workflow actively creates/modifies project files, renders MP4 outputs, and pulls catalog block templates from the official registry (supply chain adjacent). It exhibits no Red tier characteristics (no sandbox bypass, no TLS downgrade, no anti-automation evasion, no arbitrary code execution surface); Google Fonts or local URLs in documentation are output-phase references or loopback endpoints, which do not escalate classification.

5Second-Pass Verification

  • [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 条目。

6Verdict & Scenarios

  • Breaks down the path from beginner to finished video into 8 gated steps with concrete deliverables and human approvals at key milestones, preventing off-track bulk generation.
  • Smart routing at entry instead of brute-forcing: URLs, 9:16 talking-head videos, and framework reference queries are directed to more appropriate skills.
  • Does not impose branding: audits existing assets before asking questions, and defaults are applied only when the user explicitly declines to specify styling.
  • Rigorous visual verification: requires inspecting extracted frames one by one with the Read tool, specifying checklist items (face cropping, subtitles, palette, overflow, empty frames, line-wrapping issues).
  • Hardens engineering best practices into rules: catalog block CSS scoping, forbidding class="clip" on video elements, avoiding Python http.server for previews, and enforcing timeline SLOT anchors.
  • Clear division of labor across 6 reference files, turning the question bank, style decision tree, intent mapping, storyboard templates, scaffolding, and checklists into reusable assets.
  • Best for: Ideal for: beginners using HyperFrames for the first time who only have a concept or script and want a supervised, end-to-end production workflow; also serves well as a standard operating procedure template for teams starting new video projects.
    Not for: Not suited for: looking up framework rules only (use /hyperframes directly), adding motion beats to existing projects (use hyperframes-video-beats), rapid editing of 9:16 talking-head videos (/short-form-edit), or users requiring single-prompt unattended rendering without multi-round approvals.
    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
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 0d30152a82.