๐Ÿ“„ Codex ่„šๆœฌๅบ“ โ† ่ฟ”ๅ›ž็›ฎๅฝ• โฌ‡ ไธ‹่ฝฝ .md
๐Ÿ“ 0120-hyperframes-video ๐Ÿ“… 2026-10-03

HyperFrames Composition Project

Skills โ€” USE THESE FIRST

Always invoke the relevant skill before writing or modifying compositions. Skills encode framework-specific patterns (e.g., window.__timelines registration, data-* attribute semantics, shader-compatible CSS rules) that are NOT in generic web docs. Skipping them produces broken compositions.

Doing anything with HyperFrames? Start at /hyperframes-read-first โ€” it tells you what HyperFrames can do and which skill or workflow handles your intent (make a video, TTS / BGM, prep footage, author / animate, render, install blocks), and routes every "make me a video" request to the right workflow. Read it first, especially when there's no project context to orient you. The video workflows it routes to:

Porting an existing composition? /remotion-to-hyperframes translates a Remotion (React) composition into HyperFrames HTML โ€” a source migration, separate from the creation workflows above.

The domain skills (/hyperframes-core, /hyperframes-animation, /hyperframes-creative, /hyperframes-cli, /hyperframes-media, /hyperframes-registry) and the full capability map live inside /hyperframes-read-first โ€” it is the single source of truth for which skill handles which intent.

Tailwind v4 projects (hyperframes init --tailwind): see /hyperframes-core โ†’ references/tailwind.md.

Skills not available? Ask the user to run npx hyperframes skills and restart their
agent session, or install manually: npx skills add heygen-com/hyperframes.

Commands

npm run dev          # start the preview server (long-running โ€” keep it alive in background)
npm run check        # lint + validate + inspect
npm run render       # render to MP4
npm run publish      # publish and get a shareable link
npx hyperframes lint --verbose  # include info-level findings
npx hyperframes lint --json     # machine-readable output for CI
npx hyperframes docs <topic> # reference docs in terminal

npm run dev is a long-running server, not a one-shot command. It blocks until stopped.
In Claude Code, always run it with run_in_background: true. Never run it as a foreground
command โ€” it will time out and the server will die, breaking the browser preview.

Documentation

For quick reference, use the local CLI docs command (no network required):

npx hyperframes docs <topic>

Topics: data-attributes, gsap, compositions, rendering, examples, troubleshooting

For full documentation, discover pages via the machine-readable index โ€” do NOT guess URLs:

https://hyperframes.heygen.com/llms.txt

Project Structure

Linting โ€” ALWAYS RUN AFTER CHANGES

After creating or editing any .html composition, always run the full check before considering the task complete:

npm run check

Fix all errors before presenting the result. Inspect warnings should be reviewed before rendering.

Key Rules

  1. Every timed element needs data-start, data-duration, and data-track-index
  2. Elements with timing MUST have class="clip" โ€” the framework uses this for visibility control
  3. Timelines must be paused and registered on window.__timelines:
    js window.__timelines = window.__timelines || {}; window.__timelines["composition-id"] = gsap.timeline({ paused: true });
  4. Videos use muted with a separate <audio> element for the audio track
  5. Sub-compositions use data-composition-src="compositions/file.html" to reference other HTML files
  6. Only deterministic logic โ€” no Date.now(), no Math.random(), no network fetches
็”ฑ Codex ็”Ÿๆˆ ยท hob0003 ยท ็”ฑ Codex ่‡ชๅŠจ็”Ÿๆˆ ยท ๅฎžๆ—ถๅŒๆญฅ