captions-overlay Skill for Claude: HyperFrames Caption Layout
captions-overlay tells Claude to caption a HyperFrames video as an overlay on the full frame, never as a reserved band at the bottom.
- Installs
- 61.1K
- on skills.sh
- Stars
- 77.1K
- on GitHub
- Updated
- Nov 2026
- last repo commit
This skill comes from HeyGen's HyperFrames repo, where it is marked internal. It sorts every spoken phrase into one of three types: drop for filler, rail for ordinary words shown as a clean lower-third, and embed for a rare headline word placed behind the subject. The rail carries most of the text, and an embed is limited to one per beat, spaced apart.
The second rule is that captions sit on top of the film, so content is centered on the true vertical center and nothing is shifted up to make room. The SKILL.md says it applies on top of the /hyperframes skill's references/captions.md. It is one file with no scripts.
Good for
- People adding captions to talking-head or launch videos in HyperFrames
- Editors deciding which words get a big on-screen treatment
- Designers who want compositions centered on the true frame center
Install captions-overlay
Claude Code
- 1
Copy this prompt.
Install the captions-overlay skill in Claude Code. Run this command: INSTALL_INTERNAL_SKILLS=1 npx skills add heygen-com/hyperframes --skill motion-doctrine --skill cut-the-curve --skill seam-craft --skill oversized-cursor --skill captions-overlay -a claude-code Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
The README says these six skills (motion-doctrine, cut-the-curve, seam-craft, oversized-cursor, captions-overlay, changelog-video) are repo-internal and left out of the default install. The skills CLI docs say a skill marked internal: true is hidden unless INSTALL_INTERNAL_SKILLS=1 is set, and all six are marked that way, so the command carries that variable. We have not run it against this repo: run npx skills list afterwards to confirm each skill is there. The plain command shown on skills.sh does not set the variable, so do not rely on it. The skills lean on the upstream /hyperframes skill, which npx hyperframes skills update installs (the README's core set). On Windows, set the variable in your shell first.
From the vendor's docs. Source.
What's in the skill
When it loads
Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Applies ON TOP of the `/hyperframes` skill's references/captions.md.
Sections in SKILL.md
- The caption model — drop / rail / embed
- Rail-first, embed-scarce (the load-bearing rules)
- The overlay law — captions are NOT a reserved band
- Why these two rules are one doctrine
Key facts
- Installs on skills.sh
- 61,129 as of 2026-11-02
- GitHub stars (repo)
- 77,112 as of 2026-11-02
- Last repo commit
- 2026-11-02
- License
- Apache-2.0
- skills.sh audits
- Gen Agent Trust Hub pass, Socket pass, Snyk pass
What it includes
Every spoken phrase is one of three
Drop hides filler such as um and stutters. Rail is the default verbatim lower-third, in front. Embed is one big word behind the subject for a peak.
Caption model: drop, rail, embedAt most one embed per beat
Embeds are never adjacent or co-visible, are spaced at least a beat apart, and allow at most one apex.
Rail-first, embed-scarceCaptions are not a reserved band
The caption line is a small word-by-word line over the bottom 5 to 8% of the frame. Content may run to the bottom edge.
Overlay lawCenter at H/2: 540 landscape, 960 portrait
Shifting content up to make room, or centering at 0.42 x H with a dead lower band, is called the bug.
True vertical centerKeep critical small text out of the bottom 80 px center span
Large imagery under the captions is fine. The SKILL.md says the old keep-out check is retired and legibility is judged visually.
Courtesy rule
From the official docs
Questions
What does captions-overlay do?
It sets the rules Claude follows for captions in a HyperFrames video. Most words go on a readable lower-third, a few peak words get a large treatment behind the subject, and the composition keeps the whole frame.
How do I install it?
Use the install box above. The README says this skill is one of six repo-internal skills left out of the default install, and the skills CLI docs say internal skills only install when INSTALL_INTERNAL_SKILLS=1 is set, so the command sets it. We have not run that command, so check npx skills list afterwards.
Does it replace the main HyperFrames captions guide?
No. The SKILL.md says it supplements the upstream /hyperframes skill's references/captions.md and applies on top of it. That guide is not part of this skill.
Should I leave room at the bottom for captions?
No. The overlay rule says not to reserve a band or shift content up. The only soft rule is to keep critical small text, such as a URL line, out of the bottom 80 px center span.
Does it run scripts?
The skill bundles no scripts.
Information
updated Nov 2, 2026
- Repository
- heygen-com/hyperframes
- Folder
.agents/skills/captions-overlay
Sources
Docs, issue trackers and discussions this page is built from.
Show all 4Hide
- skills CLI troubleshooting and configuration · github.com
- skills CLI: creating skills (metadata.internal) · github.com
- heygen-com/hyperframes README · github.com
- captions-overlay SKILL.md · github.com