npx skills add heygen-com/hyperframes flow is the right path for coding agents. For Claude Design, attach the HyperFrames skill file to your chat — empirically that produces sharper, more rule-compliant output than pasting the URL.
Get the skill
Download SKILL.md
Save the file, then drag it into a Claude Design chat as an attachment.
View on GitHub
Read the skill, copy sections, or link to it in a prompt.
Which setup to use
| Surface | Recommended setup |
|---|---|
| Claude Design | Download SKILL.md and attach it to your chat |
| Claude Code | npx skills add heygen-com/hyperframes, then use /hyperframes |
| Cursor / Codex / Gemini CLI | npx skills add heygen-com/hyperframes |
Prompt shape for Claude Design
Claude Design does not use slash commands. Lead with the skill file (attached or URL), describe the video, and ideally give Claude Design something to synthesize from — screenshots, a brand PDF, a reference video, a pasted palette, or at minimum a vibe in words. The skill reads inputs in this order of reliability: attachments → pasted content → web research → URLs. A modern SPA homepage returns almost nothing viaweb_fetch because JavaScript isn’t executed, so brand-accurate output on brief like “make a video for linear.app” depends on attaching screenshots or letting Claude Design search for the brand’s blog, press, or Wikipedia.
Strong Claude Design prompts usually include:
- the attached skill file (or its URL)
- the source material: screenshots, a brand PDF, a reference video, pasted copy, or a URL
- duration and aspect ratio
- tone or visual direction (if you have one — otherwise let Claude Design ask)
- explicit deliverables:
index.html,preview.html,README.md
Copy-paste prompts
Rich brief (attach SKILL.md + screenshots)
Pasted-content brief (attach SKILL.md + paste your copy)
Sparse brief (attach SKILL.md, let it ask)
Static URL brief (editorial piece, not a SPA)
Preview with @hyperframes/player
When Claude Design generates a preview.html, it embeds the composition with <hyperframes-player> and forwards the Claude Design sandbox’s preview token into the iframe src. Without the token forward, the in-pane preview renders black (the sandbox serves a "preview token required" placeholder to the iframe).
Copy this template verbatim:
location.search is empty (opened locally, outside Claude Design’s sandbox), the token-forward line is a no-op and the player loads ./index.html as expected.
The composition (index.html) must also pre-load the HyperFrames runtime right after GSAP so the player can drive playback inside Claude Design’s sandbox:
@hyperframes/player for the full API and framework examples.
What the skill teaches Claude Design
The skill is self-contained — it includes every HyperFrames-specific contract and every known Claude Design sandbox workaround, so Claude Design rarely needs to fetch additional references. Highlights:- An explicit opening redirect: Claude Design is told NOT to reach for its default video artifacts (
copy_starter_componentwithkind: "animations.jsx", the built-in “Animated video” skill, React + Babel JSX, hand-rolled scale-to-fit stage wrappers). This is the single change that most reliably keeps Claude Design on the HyperFrames path - Correct
data-*composition structure, the clip contract on scenes, and paused GSAP timelines registered onwindow.__timelines - Shader-transition timing rules: transitions must span the scene boundary (not start at it), animated content must be wrapped in
<div class="scene-content">so its pre-animation state doesn’t leak into the WebGL texture, and thescenes.length === transitions.length + 1invariant (withflash-through-whiteas the invisible-bridge escape hatch) - Sandbox-compatible preview: token-forwarding
preview.htmltemplate, runtime pre-load inindex.html,data-composition-id↔__timelineskey match (and a convention that the root element’s DOMidmatches too) - Attachment-first input model: read screenshots / PDFs / reference videos when provided, otherwise ask one short clarifying question before generating
- A banned-font list (including Fraunces, Inter Tight, and common AI defaults) plus a banned-pairings line to break the training-data monoculture
- Deterministic render-safe animation choices (no
Date.now(), no unseededMath.random(), norepeat: -1, nostagger: { from: "random" }) - Four worked-example anti-patterns with WRONG/RIGHT code pairs — exit tweens before shader transitions, non-deterministic
staggerorigins, absolute-positioned content containers, and SVG filter data URLs asbackground-image(the last one causesSecurityErroron Safari + cross-origin iframe environments) - A
README.mdtemplate for the end user withnpx hyperframes doctor/preview/rendercommands and FFmpeg install instructions
Next steps
Prompt Guide
More prompt patterns for HyperFrames across Claude Code, Claude Design, and other agents.
@hyperframes/player
Embed compositions with the official player component.