hyperframes
Skill2 starsChanged 3 months agoMITView on GitHub
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
71 other projects use a version of this, 3 of them edited.
Adopted by
Most recently taken up by
- podo/design-agent-skillstheir own version, first seen Nov 8, 2026
- cafe3310/public-agent-skillstheir own version, first seen Nov 8, 2026
- cblain100-prog/motion-design-claude-codetheir own version, first seen Nov 8, 2026
- notivn/AIEVv2their own version, first seen Nov 8, 2026
- OpenMontageInc/OpenMontagetheir own version, first seen Nov 8, 2026
- calesthio/OpenMontagetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use cut-mistakes, cut-silences and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
nateherkaiSkillcut-mistakes
Agent 2 of the video editing pipeline. Finds and removes spoken mistakes — stutters, repeated words, false starts, and retakes (re-recorded lines) — from a talking-head recording. Use after cut-silences, when asked to cut mistakes, remove stutters / repeats / filler restarts, clean up flubs, or keep the best take. Works review-gated: it proposes every cut with context and a reason for approval, then renders only the approved cuts via ffmpeg. Requires a word-level transcript.
Also in 5 projects that use this
nateherkaiSkillcut-silences
Agent 1 of the video editing pipeline. Removes silences and dead air from a talking-head recording. Use when asked to cut silences, trim pauses, remove dead air / gaps, or tighten the pacing of a raw video, given a word-level transcript. Produces an edit list (EDL), a re-timed transcript for downstream agents, and optionally the cut video via ffmpeg. Does NOT cut mistakes, repeats, or false starts — that is the cut-mistakes agent.
Also in 5 projects that use this
NexumAI-onlineSkillshort-form-edit
Convertí una grabación hablada en un reel, YouTube Short o anuncio corto terminado, con apertura que genere curiosidad, resolución respaldada por el contenido, cortes narrativos, gráficos sincronizados, B-roll en movimiento, subtítulos, música sutil y efectos. Para videos largos usá edit-video; para quitar sólo pausas, cut-silences.
Also in 4 projects that use this
anton-abyzovSkillwaapi
Web Animations API adapter patterns for HyperFrames. Use when authoring element.animate() motion, Animation currentTime seeking, document.getAnimations(), KeyframeEffect timing, fill modes, or native browser animations that must render deterministically in HyperFrames.
Also in 5 projects that use this
LangChainSkillhyperframes-keyframes
Use when a HyperFrames composition needs a punch-in, punch-out, zoom, reframe, Ken Burns treatment, camera move, visual match/whip handoff, or other seek-safe 2D/3D keyframes; also for GSAP, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.
Also in 14 projects that use this
Google CloudSkillvideo-storytelling
Cinematic video ad storytelling expertise. Covers 3-act narrative structure, emotional arcs, camera motion, scene transitions, and voiceover pacing for 10-second commercial video ads using Gemini Omni. Load this skill when generating video ads or storylines.
Also in 5 projects that use this
- +2 more from nateherkai
Other versions71 projects use a version of this.
Word for word · 1
- STARDUSTLC666/dsh-hyperframes★ 30100% same
Edited · 3
- heygen-com/hyperframes★ 81k93% same
- cadecode/agent-skills★ 189% same
- aipphilie/claude-skills★ 099% same
Wrote their own version · 67
- calesthio/OpenMontage★ 78ksame name
- OpenMontageInc/OpenMontage★ 78ksame name
- spinabot/brigade★ 11ksame name
- openai/plugins★ 7.8ksame name
- nateherkai/hyperframes-student-kit★ 2.2ksame name
- edenfunf/reelmimic★ 1.8ksame name
- Unclecheng-li/AI_Animation★ 1.7ksame name
- nateherkai/herk-edit-kit★ 1.5ksame name
- ChrisChen667788/wind-comic★ 706same name
- EvovexAI/EvoFlow★ 612same name
57 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .codex/AGENTS.mdAGENTS.md
- agent-kit-conventionsSkill
- agent-kit-conventionsSkill
- archifySkill
- boundary-demoSkill
- deepen-designSkill
- design-taste-frontendSkill
- excalidraw-architectureSkill
- frontend-designSkill
- hyperframes-cliSkill
- hyperframes-registrySkill
- manage-agent-kitSkill
- mcp-builderSkill
- media-useSkill
- product-qaSkill
- source-driven-developmentSkill
- threads-oral-notesSkill
- ui-ux-pro-maxSkill
- youtube-scriptSkill
- youtube-script-writerSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 2 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 66 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 6
Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.
- Very specific: line 20
Every timed element has class="clip", data-start and data-duration in seconds, and shows over [start, start + duration): land an end state …
- Very specific: line 24
Never tween display, visibility or autoAlpha on a .clip.
- Very specific: line 25
No CSS transform on an element GSAP transforms.
- Very specific: line 26
Never play(), pause() or seek media.
- Very specific: line 27
Every <audio> has an id or it is left out of the mix.
- Very specific: line 28
Only the bundled fonts (references/format.md) resolve by name.
- Very specific: line 47
After your last edit: npx hyperframes check --json.
- Distinctive: line 52
Call it "the HyperFrames desktop app", never "Studio".
- Very specific: line 54
Before the delivery render of a new video, open the Studio preview, even in no-questions mode, and say they can edit there.
- Very specific: line 55
After the delivery render, pass on its Framey line in your own words: offer to run the hyperframes open it names or give its download link.
- Very specific: line 56
When any command says to run catch-up, run npx hyperframes catch-up [dir] before your next change.
“Common” is measured: kept by at least 6 in 10 of the 66 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.
HyperFrames
HyperFrames renders HTML to video by seeking a paused timeline frame by frame, so every render is identical; the person edits the same files in the Studio preview. Use it unless another framework or a plain browser recording is asked for. Run the CLI as npx hyperframes <command> (/hyperframes-cli); at the start of a new video, npx hyperframes usage --json reports the person's remaining plan usage (say "unknown" when it is).
index.html is the root composition: it declares the video's variables and mounts one scene per sub-composition from compositions/. Media and fonts live in assets/. A new project: npx hyperframes init <dir>. A website as the subject: npx hyperframes capture <url> --json.
Build what was asked: no voiceover or captions and no new aspect ratio unless the request or the source calls for them; a film over ~15 s that tells something gets music and sound on its visible actions unless the person asked for silence (references/sound.md). A new video is 1920×1080 at 30 fps. A question, a hold or a loose idea gets an answer or a proposal, not an edit. Before hand-writing a named effect, transition, caption style, chart or card, search the registry (/hyperframes-registry). Any media (a presenter or avatar, footage, voice, music): /media-use, which says when HeyGen is needed and what is free. Show real things from their source (the product's screens, the brand's logo, a real place's imagery); draw only what has none.
Contract
npx hyperframes check --json reports most violations with a Fix: line.
- Every timed element has
class="clip",data-startanddata-durationin seconds, and shows over[start, start + duration): land an end state just before its end.data-track-indexis only a Studio lane; paint order isz-index. - The video's length is the root's
data-duration: overrun is cut, an early end holds the last frame. - Each composition builds one paused timeline and registers it after its tweens:
window.__timelines["<data-composition-id>"] = tl. - No
Date.now(), unseededMath.random(), network fetches, timers orrepeat: -1. Everything visible is a function of timeline time. - Never tween
display,visibilityorautoAlphaon a.clip; animate a child. - No CSS
transformon an element GSAP transforms; animate transforms, notleft/top/width/height. - Never
play(),pause()or seek media. A<video>keeps its sound withdata-has-audio="true", else it ismuted; music, voice, replacement sound and J/L cuts are a separate<audio>. - Every
<audio>has anidor it is left out of the mix. Nocrossoriginon media. Time a<video>or its wrapper, never both. - Only the bundled fonts (
references/format.md) resolve by name; any other family needs@font-faceto a file inassets/fonts/. - Asset paths:
assets/...(no leading/), in sub-compositions too. - Grades, grain, blur and vignettes on footage go through
npx hyperframes media-treatment(/media-use), never CSS filters. - A scene file puts its styles, markup and scripts inside
<template>and styles its root as#root. Intended overflow or overlap:data-layout-allow-overflow,data-layout-allow-overlap.
Keep it editable
Studio edits the tags you write.
- One scene per sub-composition, short readable ids; the root holds only scene hosts, media and audio.
- Timed elements are written in the HTML, not made by script, each with a stable
id. - Copy, brand colours and swappable media are variables (
data-var-text,data-var-src,var(--id)). - One kind per track:
data-track-kind="graphics"on scene and overlay hosts,captionson the one host that holds every caption group. - Content stays inside the 90% action-safe box, captions and key text inside 80% title-safe; Studio draws the guides, never add them.
Work loop
- An existing project:
npx hyperframes timeline --jsonshows what plays when; before any change,npx hyperframes history --since mine --who <you>shows what the person changed since your last turn: build on it (/hyperframes-cli). - A new film over ~15 s that tells something: its type's file (below), then
references/story.md: three storylines that are three different films, in words only; the person picks unless they asked for the file or no stops. ThenSPEC.md(references/spec.md): every adjective as a number, the defaults banned by name, the shots by frame. - After your last edit:
npx hyperframes check --json; fix every error, weigh every warning. A film:npx hyperframes snapshot --reviewandreferences/review.md, ending inREVIEW.md. A small edit: snapshot what you changed (--at,--range,--composition) and look before you reply. - Render when the person approves the Studio preview, asks for the file or asks for no stops, after your check and review pass; otherwise stop at the preview and wait.
The HyperFrames desktop app
Call it "the HyperFrames desktop app", never "Studio"; offer it as the better way to keep editing, not the only one.
- Before the delivery render of a new video, open the Studio preview, even in no-questions mode, and say they can edit there. If
previewprinted "Keep editing by chatting with Framey", add that the Edit with Framey button opens the app. - After the delivery render, pass on its Framey line in your own words: offer to run the
hyperframes openit names or give its download link; else say nothing (autonomous: the delivery note). - When any command says to run
catch-up, runnpx hyperframes catch-up [dir]before your next change; what it lists is their work, not a new request.
What to read
| The request | Read |
| Launch, promo, feature | references/types/launch.md |
| Explainer, tutorial | references/types/explainer.md |
| Music video | references/types/music.md |
| Chart, numbers | references/types/data.md |
| Vertical or social clip | references/types/vertical.md |
| 3D, simulation, generative | references/types/3d.md |
| Character, mascot, story short | references/types/character.md |
| A real place or map; a website, PR or script; kinetic type | references/film.md |
| Captions; cards over a talking head | references/captions.md; references/overlays.md |
| Motion: eases, titles, cuts, punch-ins, speed, holds | references/motion.md |
| Scenes, attributes, media, lint; GSAP, Lottie, 3D, canvas | references/format.md; references/runtimes.md |
Decks: /slideshow. Remotion source: /remotion-to-hyperframes. Figma: /figma. Installing, refreshing or upgrading skills and the pinned CLI: references/skill-lifecycle.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

