Short Form Edit
nateherkai/hyperframes-student-kit
Turn talking-head footage into a finished reel, YouTube Short, or short advertisement with curiosity-led openings, earned payoffs, story-driven cuts, transcript-synced motion graphics, moving…
Agent skill
Builds captions that move in 3D space around a talking head: a virtual camera flies past words at different depths, hero words hide behind the speaker, and text steps at 15 fps with motion blur.
$ npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install heygen-com/hyperframes-community-skills camera-3d-captions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/camera-3d-captions .claude/skills/camera-3d-captions && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "camera-3d-captions" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captions into .claude/skills/camera-3d-captions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "camera-3d-captions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install heygen-com/hyperframes-community-skills camera-3d-captions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/camera-3d-captions .agents/skills/camera-3d-captions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "camera-3d-captions" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captions into .agents/skills/camera-3d-captions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "camera-3d-captions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install heygen-com/hyperframes-community-skills camera-3d-captions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/camera-3d-captions .cursor/skills/camera-3d-captions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "camera-3d-captions" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captions into .cursor/skills/camera-3d-captions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "camera-3d-captions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/heygen-com/hyperframes-community-skills.git --path skills/camera-3d-captions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install heygen-com/hyperframes-community-skills camera-3d-captions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/camera-3d-captions .gemini/skills/camera-3d-captions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "camera-3d-captions" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captions into .gemini/skills/camera-3d-captions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "camera-3d-captions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install heygen-com/hyperframes-community-skills camera-3d-captionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/camera-3d-captions .github/skills/camera-3d-captions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "camera-3d-captions" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captions into .github/skills/camera-3d-captions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "camera-3d-captions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install heygen-com/hyperframes-community-skills camera-3d-captions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/camera-3d-captions .opencode/skills/camera-3d-captions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "camera-3d-captions" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/camera-3d-captions into .opencode/skills/camera-3d-captions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "camera-3d-captions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
camera-3d-captionsBuilds captions that move in 3D space around a talking head: a virtual camera flies past words at different depths, hero words hide behind the speaker, and text steps at 15 fps with motion blur.
This skill rebuilds an After Effects style move, a 3D camera with depth of field, text on a path and posterized 15 fps motion, as a deterministic per-frame painter for HyperFrames rather than a CSS animation. It is meant for a static-camera talking-head take, landscape and medium shot or wider, 5 to 20 seconds long, where words need to perform in depth around the speaker; it explicitly does not work for plain subtitles, a moving or handheld camera, extreme close-ups with no room around the head, or a subject a person-matting model cannot separate cleanly.
Prep runs once per take with scripts/prep-take.sh, which produces portion.mp4 as the audio source, a reflect-padded plate-tall.mp4 so camera moves never show an edge, and a person.webm alpha matte, then cross-checks size, frame rate and frame count. Rendering needs Node 22 or later with the HyperFrames CLI, ffmpeg on PATH, and Python 3 with fonttools, brotli, numpy and pillow; the background-removal step downloads a roughly 170MB person-segmentation model to a local cache on first run, and compositions load GSAP 3.14.2 from a CDN at preview or render time. An optional hand-drawn caption style needs the separate p5-paint-animation skill installed to generate sprites headlessly.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ba7a0bb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 6 files in scripts/ (JavaScript, Python and Shell), which the agent can run.
Shell commands in SKILL.md call:
npxbashpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
3D Camera Captions for HyperFrames loads about 2.3k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 196 tokens; SKILL.md has 1,195 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from heygen-com/hyperframes-community-skills at commit ba7a0bb, republished under its Apache-2.0 licence (© heygen-com). 1,195 words, ~2,276 tokens.
.claude/skills/camera-3d-captions/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.The After Effects move (3D camera, depth of field, text on a path, Posterize Time 15, motion blur) rebuilt as a deterministic per-frame painter for HyperFrames. One clock paints plate, matte and every glyph. Nothing is a CSS animation.
npx hyperframes@0.8.62 (downloads from
registry.npmjs.org). Use that exact version for every command below.ffmpeg on PATH.fonttools, brotli, numpy, pillow.npx hyperframes@0.8.62 remove-background runs locally. On first run it downloads its person-segmentation
model (~170 MB) to ~/.cache/hyperframes/.cdn.jsdelivr.net at preview/render time.p5-paint-animation skill installed and set up (its setup downloads
pinned puppeteer, Chrome for Testing, p5 and p5.brush). build-sprites.py runs it headlessly; frames are written
to that skill's out/ and removed afterwards.assets/, renders/).bash scripts/prep-take.sh <take.mp4> <start_s> <dur_s> <project>/assets produces:portion.mp4: the audio source.plate-tall.mp4: reflect-padded 240 px each side, 480 px top, 240 px bottom, so whips, trucks and pull-backs
never show an edge.person.webm: the alpha matte, same frames.python3 scripts/font-metrics.py assets/metrics.js key=font.woff2[@wght=…,opsz=…] ….font-variation-settings,
font-optical-sizing: none). Otherwise the browser's opsz follows the size and words overlap.person.webm alpha before placing anything.assets/kit/{cam3d.js,tables.js,finish.js} and metrics.js into the project's assets/.references/worked-film.html is the complete reference film. It has two shots, a body wipe, both ring types, a
fly-through, a finale and the grade; its media is not included.references/recipes.md holds the depth-first groups, the wrapped ring, the staircase and hand-drawn words.C3.init(metrics, {W, H}):tables.js applies unscaled at any
width.(W − 1440) / 2 to wipe.x.Pick 4–6 beats. Split each spoken clause into its own group.
| Beat | Build | Rule |
|---|---|---|
| Whip-in punch-in | camA table (19 f from 502 px low) then a linear creep | plate S0 1.1–1.3; the frame never lands |
| Depth groups | 2–3 caption groups per clause at D 1250 / 1500 / 2200 | near = bigger with a bigger shadow; the creep and truck reveal the parallax |
| Hero behind | hero word in the behind layer at the plate depth, masthead-style across the head | the head hides the middle letters; ≥ 60 % stays legible; the ascender is inside the frame |
| Parallax truck | swing segment, tx 420 | the old layout fades over 3 steps; the next layout arrives by parallax |
| Body wipe | the speaker's own matte, brightness(0) blur(), leading edge from wipe.x | shot A clips left of the band, shot B right; pull-out on both sides |
| Wrapped ring | horizontal circle IN FRONT of the speaker (centre Z 2000), 11–16° from above, turning | words enter small at the side as spoken, swing round the front, settle; lower arc flips to read upright |
| Fly-through | phrases at D 1500 / 2000 / 2500, camera swings between them | focus follows the phrase |
| Staircase finale | push segment; caption words each deeper and smaller down a diagonal | the push drives the near words apart |
shutter: 0.5 on turning rings.fr(t) = 2·round((t − 0.2)·15).ENTRY: captions 30 px, heroes 110–260 px. Ring words ease their last 30–44 px along the path.
Use RING_ENTRY's overshoot only when no neighbour is seated yet.[6, 16, 0.5, 1500] scales as 1500/(D − cz).size / rise are on-screen px at the landing camera (tland). Sprites are rendered at their
on-screen size.ringLine (on-screen advance; type: track 1.10, gap 26–30; hand-drawn: track 1.0,
gap 28).side, zSplit) only when it is MEANT to pass behind the head.finish.js supplies curves, saturation 1.12 for skin, and grain re-rolled per frame. Put
the opaque scene (plate + behind text + matte) in a filtered wrapper. Give front text the same grade with grain
composited atop, so a word split behind/front stays one colour (see references/worked-film.html).scripts/hand/build-sprites.py:references/recipes.md.npx hyperframes@0.8.62 check . --no-contrast. The ghost layers trip the WCAG contrast check; the whip and wipe seams
are overlapping by design.scripts/frame-bounds.js and run __frameBounds(0, dur).[]: no group outside the frame for 5+ steps while visible.scripts/glyph-gaps.js and run __glyphGaps(t) at rest.npx hyperframes@0.8.62 render . --crf 12, and check full-resolution frames per
beat.snapshot --at shares one page, so grain does not re-roll between captures. Judge grain on a render.© heygen-com, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (scripts, references, assets) in skills/camera-3d-captions of heygen-com/hyperframes-community-skills.
Open the folder on GitHubat commit ba7a0bb
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in heygen-com/hyperframes-community-skills, which our catalogue first saw on October 7, 2026.
3D Camera Captions for HyperFrames next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| 3D Camera Captions for HyperFrames this skillheygen-com/hyperframes-community-skills | 178 | 1 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Short Form Editnateherkai/hyperframes-student-kit | 1.2k | — | ~5.3k | Automated safety check: Pass | Custom licence | |
| Yuv Viral Videohoodini/ai-agents-skills | 281 | — | ~7.5k | Automated safety check: Notes | None | |
| Edit Videonateherkai/hyperframes-student-kit | 1.2k | — | ~673 | Automated safety check: Pass | Custom licence | |
| Wjs Overlaying Videojianshuo/claude-skills | 130 | — | ~6.9k | Automated safety check: Pass | MIT | |
| Embedded Video Captionsheygen-com/hyperframes | 59k | 3 repos | ~8.6k | Automated safety check: Pass | Apache-2.0 |
nateherkai/hyperframes-student-kit
Turn talking-head footage into a finished reel, YouTube Short, or short advertisement with curiosity-led openings, earned payoffs, story-driven cuts, transcript-synced motion graphics, moving…
hoodini/ai-agents-skills
Edit any selfie or screen-share footage into a viral short-form video in YUV.AI's signature style — Apple-style liquid-glass cards (real CSS backdrop-filter), dark-mode polish, MrBeast-paced cuts…
nateherkai/hyperframes-student-kit
Edit a raw talking-head video through transcription, silence trimming, mistake review, visual storytelling, motion graphics, and verified HyperFrames rendering.
jianshuo/claude-skills
A skill your agent uses when the user has one or more video clips and wants to add post-production on top — AI-generated cover as first frame, HTML/CSS captions synced to SRT, kinetic illustration…
heygen-com/hyperframes
Adds captions to a single-subject talking-head video without editing the footage, from plain subtitles to cinematic text placed behind the speaker.
naive-kun/naive-video-skill
Turns raw or rough-cut talking-head footage into a captioned, animated final video through a staged, resumable production pipeline.
heygen-com/hyperframes-community-skills
Builds side-by-side comparison and meme videos on a fixed photo of hands holding an open foldable phone, with your own HTML playing in each screen.
heygen-com/hyperframes-community-skills
Builds a short animated posting-license card video from an X profile's name, handle, counters and avatar, using a fixed template that the agent only fills in and renders.
heygen-com/hyperframes-community-skills
Turns your local Claude Code session history into a 60 to 75 second hand-drawn ink film about a day with your agent, with a string score and your approval of every line.
heygen-com/hyperframes-community-skills
Turns a text prompt, photo or short video into hand-made looking p5.js animation: self-writing handwriting, brushstroke repaints and living paintings rendered offline.
heygen-com/hyperframes-community-skills
Turns a Strudel live-coding music track into a 1080x1080 HyperFrames video where the code itself is the picture and each line highlights on the note it plays.
heygen-com/hyperframes-community-skills
Turns one typical session between you and your agent into a short animated film built from your real messages, with a composed score, after you approve every line.
Works with
Categories
Builds captions that move in 3D space around a talking head: a virtual camera flies past words at different depths, hero words hide behind the speaker, and text steps at 15 fps with motion blur. This skill rebuilds an After Effects style move, a 3D camera with depth of field, text on a path and posterized 15 fps motion, as a deterministic per-frame painter for HyperFrames rather than a CSS animation. It is meant for a static-camera talking-head take, landscape and medium shot or wider, 5 to 20 seconds long, where words need to perform in depth around the speaker; it explicitly does not work for plain subtitles, a moving or handheld camera, extreme close-ups with no room around the head, or a subject a person-matting model cannot separate cleanly.
3D Camera Captions for HyperFrames fits situations like: adding captions that move in 3D depth around a talking-head avatar video; making hero words hide behind the speaker using an alpha matte; building a camera-move caption sequence with hand-drawn or editorial type styles.
Run `npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a claude-code`. Or copy the skill folder (skills/camera-3d-captions in heygen-com/hyperframes-community-skills) into .claude/skills/camera-3d-captions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a codex`. Or copy the skill folder (skills/camera-3d-captions in heygen-com/hyperframes-community-skills) into .agents/skills/camera-3d-captions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add heygen-com/hyperframes-community-skills --skill camera-3d-captions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/camera-3d-captions, .gemini/skills/camera-3d-captions, .github/skills/camera-3d-captions and .opencode/skills/camera-3d-captions in your project.
Going by SKILL.md and its folder, 3D Camera Captions for HyperFrames needs JavaScript, Python and a shell for the scripts in its folder and the command-line tools its instructions call (npx, bash and python3). Our summary lists: Node.js 22+ with a pinned HyperFrames CLI version; ffmpeg; Python 3 with fonttools, brotli, numpy and pillow; A locally run word-level transcriber for caption timing; The p5-paint-animation skill for the optional hand-drawn style.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
3D Camera Captions for HyperFrames is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with 3D Camera Captions for HyperFrames: Short Form Edit (nateherkai/hyperframes-student-kit, 1.2k stars), Yuv Viral Video (hoodini/ai-agents-skills, 281 stars), Edit Video (nateherkai/hyperframes-student-kit, 1.2k stars) and Wjs Overlaying Video (jianshuo/claude-skills, 130 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
heygen-com (a GitHub organization) maintains it in heygen-com/hyperframes-community-skills, which has 178 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 29, 2026.
Source: heygen-com/hyperframes-community-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.