HyperFrames Studio conventions
SkillDev toolsA skill for building HyperFrames video projects that people open in Studio. It teaches the agent the hyperframes claude skill conventions for timeline layout: one caption track, one element kind per track, and every scene as its own sub-composition. It also defines safe zones so captions and key content stay inside title-safe margins.
Available today. Use it from your connected AI after setup.
No other account needed.
Have a HyperFrames project that will be opened in Studio.
Then ask your AI: use the HyperFrames Studio conventions skill
What your AI can do with it
- Structures each scene as its own sub-composition loaded with data-composition-src
- Keeps all captions on a single track marked data-track-kind="captions"
- Assigns one element kind per track using data-track-kind values video, graphics, captions,
- Applies safe-zone rules so captions and key content stay inside title-safe margins
- Keeps rulers and safe-box overlays in the preview pane instead of the composition HTML
- Checks work by running hyperframes lint and reviewing the timeline layout
Getting started
- Have a HyperFrames project that will be opened in Studio.
- Add the hyperframes-studio skill to the agent's available skills.
- Ask the agent to build or edit the project following the Studio conventions.
- Have the agent run hyperframes lint and review the timeline layout to confirm the structure.
What this skill tells your AI
The instructions your AI receives, as published by heygen-com/hyperframes in skills/hyperframes-studio/SKILL.md and read by ahel’s review.
Studio draws one timeline row per top-level element. A project that follows the
rules below opens as a short, readable timeline; one that does not opens as a wall
of unlabeled rows the user cannot edit. These are conventions for what to build.
For how to change a clip, follow /hyperframes-core references/creator-editing-recipes.md
and never invent a different form of the same edit.
1. Every scene is a sub-composition
The root composition holds only timed hosts, media and audio. Any scene with nested
structure (a div containing children, a title with a subtitle, a chart) is its own
file loaded with data-composition-src, wiring in
references/sub-compositions.md.
Nested markup left inside the root does not become a row of its own. It hides inside one opaque row that cannot be trimmed or moved part by part.
Author as if a structure lint rejects any violation.
2. One caption track
- All captions live on one track: a single sub-composition host (one
data-track-index) markeddata-track-kind="captions"that carries every caption group in order. - Never one row per caption group, and never captions mixed onto a track with another kind.
- Word-timing rules are unchanged: see
/embedded-captionsand thecaption_*lint rules.
3. One element kind per track
Group by kind so each row is one thing the user can select, mute or drag as a set.
| Kind | data-track-kind |
|---|---|
| Base video / A-roll | video (from the tag) |
| Scenes, overlays, graphics | graphics |
| Captions | captions |
| Audio (voiceover, music, sound effects) | audio (from the tag) |
Put data-track-kind on sub-composition hosts. Video and audio kinds come from the tag, so
<video> and <audio> need no attribute. Give each kind its own data-track-index; the number
is display only; it never changes what renders on top. Use CSS for
layering.
4. Safe zones
Any ruler or safe-box overlay lives in the preview pane, never inside the composition, so
do not add guide elements to the HTML.
Both framings (wide and vertical) use the same two safe boxes, Premiere's defaults. The preview
toggle draws them with a tick at the midpoint of every edge. Source:
ACTION_SAFE_PERCENT and TITLE_SAFE_PERCENT in packages/studio/src/utils/previewSafeMargins.ts.
| Box | Share of the frame | Inset on every edge |
|---|---|---|
| Action-safe | 90% | 5% |
| Title-safe | 80% | 10% |
- Safe margins: everything visible stays inside the action-safe box (90%), and captions and key content stay inside the title-safe box (80%).
- Two-up and 50/50 layouts keep each half's content inside the title-safe box.
Checking your work
Run hyperframes lint and fix every finding. Then open the project in Studio and
check that the timeline shows a base row, one row per scene host, one caption row and the audio rows.
Signals
- GitHub stars
- 53k
- Forks
- 5k
- Last commit
- Sep 2026
- Installs
- 62k installs
Questions
- When should this skill be used?
- When building or editing a HyperFrames project that people open in Studio, so the timeline reads well and stays editable.
- When should it not be used?
- Not for individual edits like split, trim, retime, volume, copy, or swap; those follow creator-editing-recipes.md in /hyperframes-core.
- Why must every scene be a sub-composition?
- Nested markup left in the root hides inside one opaque row that cannot be trimmed or moved part by part. A sub-composition becomes its own selectable timeline row.
Advanced
- Catalog kind
- skill
- Key
hyperframes-studio- Source
- github.com/heygen-com/hyperframes