Yuv Viral Video
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…
Sets the motion rules for HyperFrames videos so scenes read as one continuous camera move, covering exit-to-entry vectors, seams, idle motion and sustained motion.
$ npx skills add heygen-com/hyperframes --skill motion-doctrine -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install heygen-com/hyperframes motion-doctrine --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.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/motion-doctrine .claude/skills/motion-doctrine && 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 "motion-doctrine" agent skill from https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine into .claude/skills/motion-doctrine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-doctrine", 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/tree/main/.agents/skills/motion-doctrineType 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 --skill motion-doctrine -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install heygen-com/hyperframes motion-doctrine --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/motion-doctrine .agents/skills/motion-doctrine && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "motion-doctrine" agent skill from https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine into .agents/skills/motion-doctrine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-doctrine", 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 --skill motion-doctrine -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install heygen-com/hyperframes motion-doctrine --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/motion-doctrine .cursor/skills/motion-doctrine && 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 "motion-doctrine" agent skill from https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine into .cursor/skills/motion-doctrine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-doctrine", 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.git --path .agents/skills/motion-doctrine--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 --skill motion-doctrine -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install heygen-com/hyperframes motion-doctrine --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.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/motion-doctrine .gemini/skills/motion-doctrine && 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 "motion-doctrine" agent skill from https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine into .gemini/skills/motion-doctrine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-doctrine", 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 motion-doctrineInstalls 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 --skill motion-doctrine -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/motion-doctrine .github/skills/motion-doctrine && 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 "motion-doctrine" agent skill from https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine into .github/skills/motion-doctrine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-doctrine", 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 --skill motion-doctrine -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 motion-doctrine --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/motion-doctrine .opencode/skills/motion-doctrine && 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 "motion-doctrine" agent skill from https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine into .opencode/skills/motion-doctrine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-doctrine", 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.
motion-doctrineSets the motion rules for HyperFrames videos so scenes read as one continuous camera move, covering exit-to-entry vectors, seams, idle motion and sustained motion.
This gateway skill is loaded before any HyperFrames animation is composed. Its central rule, the vector law, says that how one scene exits decides how the next enters: same axis, same direction, matched speed, cut mid-motion on both sides, with the sign of the scale change defining direction on the Z axis. It also bans idle wobble, asks for stillness before a climax, and treats carrier elements and causal motion as part of the plan.
A route map hands decisions to implementation skills: `cut-the-curve` for seam transitions, waterfall entries and nudge curves, `oversized-cursor` for cursor-led actions, and `seam-craft` for render mechanics. The authoring order is a vector ledger in `ledger.json`, stamping seams with `scripts/seam-stamp.mjs`, choosing a sustained-motion route per phase, building the compositions, then verifying with `scripts/seam-gate.mjs`. The skill states that its rules supersede generic motion guidance.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3aa6886. 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 2 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
HyperFrames Motion Doctrine loads about 3k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 216 tokens; SKILL.md has 1,222 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 at commit 3aa6886, republished under its Apache-2.0 licence (© heygen-com). 1,222 words, ~2,956 tokens.
.claude/skills/motion-doctrine/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Read this before composing any animation. It decides WHAT happens at every seam and how every scene performs; the technique skills implement it. These rules supersede generic / upstream motion guidance. The failure this prevents: scenes authored in isolation — the eye's momentum dies at every cut, and scenes wobble in place between entry and exit.
| Decision (this skill) | Implementation skill |
|---|---|
| Seam transition choice + parameters + code | cut-the-curve §1–5 (the catalog) |
| Text / element entry cascades | cut-the-curve §6 (waterfall entry) |
| In-scene group repositioning (no cut) | cut-the-curve §7 (nudge curve) |
| Cursor-led action / scene kickoff / morph ignition | oversized-cursor |
| Seam render mechanics / white-flash guard | seam-craft |
| Product-launch / explainer / caption work | overlays text-beat-economics, brand-faithful, captions-overlay on top of the upstream skill |
Authoring order: vector ledger (ledger.json) → STAMP the master seams from it
(scripts/seam-stamp.mjs --ledger ledger.json --write index.html) → sustained-motion
route per phase → carriers and causes → build comps → VERIFY (scripts/seam-gate.mjs).
Hand-author only Tier-A morphs/match-cuts; stamped seams pass the gate by construction.
How Scene A exits determines how Scene B enters: same axis, same direction, matched speed, cut mid-motion on both sides.
power4.in + entry power4.out, same distance and duration; the incoming side picks
up ≥50% through the notional path). Mechanics in cut-the-curve.Every film picks ONE dominant direction (house default: LEFT). Every ordinary seam uses it. Other vectors are RESERVED — spending one means something:
| Vector | Meaning |
|---|---|
| The current (LEFT) | "next beat" — neutral forward progress |
| Upward | elevation — a conclusion or reveal rises above what came before |
| Z forward (zoom-through) | pushing deeper into the same thought |
| Z backward (inverse zoom) | ARRIVAL — something bigger lands |
| Scale-burst (explode out) | leaving a world — a surface blasts past camera |
Write it before authoring any master timeline — as ledger.json at the project root
(schema: references/seam-gate.md). One row per seam: cut time, exit and entry vectors
(axis + signed direction; Z rows carry the scale sign), selectors, technique. Exit and
entry must match; if a row mismatches, fix the plan, not the easing. The verifier checks
row consistency statically before any runtime sampling.
The eye follows objects, not abstractions. The strongest seams hand a concrete carrier across the cut at matched position AND velocity: a cursor mid-path, a container that shrinks/docks into the next layout, a mark that flies into its exact slot, the word group of a waterfall cut. With no natural carrier, the scene heroes carry it (partial travel + early fade, entry mid-flight). Never a crossfade — it has no carrier at all.
Chain motion so each move is visibly launched by the last: click → squash → release spring → flight → impact → recoil → reveal.
node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index.html # generate
node <SKILL_DIR>/scripts/seam-gate.mjs verify --ledger ledger.json --project . # verifyThe script (usage + ledger schema: references/seam-gate.md) numerically enforces, per
seam: ledger-row consistency, exit still moving at the cut, entry mid-flight (never from
rest), measured direction = ledger direction, entry/exit speed match (WARN), zero
overlap (one side visible per frame — the cut is not a dissolve), the Z sign rule
(d(scale)/dt same sign both sides; the incoming scene's own entrances are scanned for
sign-fighting), and carrier rect continuity with ancestor scale included. Use
seam-gate.mjs probe --t <cut> to find each seam's true carrier selectors when authoring
the ledger.
Rules the script cannot check — still yours:
data-start precedes its entry tween is un-hidden at its initial opacity — set
initial autoAlpha: 0 AND data-start = the cut time, never earlier.Idle sine loops (breathe, float, drift, glow pulse) are BANNED as sustained motion — they read as "the video is waiting." A scene that finishes entering with seconds left is a planning bug: add story, not wobble. Every phase between entry and exit is owned by one of these routes (name the route in the plan):
| Route | What it is |
|---|---|
| Staged reveals | Hold content back; pay it off on narration beats — the frame keeps gaining information (default for ≥2 content groups) |
| Camera with intent | A mapped scale+pan path: establish wide → travel → arrive on the subject |
| Sequenced UI life | The product behaves over time: progress advances, highlights step, counts tick |
| Animated sequences | Elements act out a beat: a card files into a stack, an item gets dragged, a result assembles |
| Cursor-led action | An oversized cursor walks the eye to a trigger; its CLICK ignites the next beat (oversized-cursor) |
Test: pause at any second — something meaningful must be mid-flight (a reveal landing, the camera traveling, the UI doing what the narration says).
Schedule a 0.3–0.75s pause between the major action and its result — the dramatic comma. A scene that jumps straight from action to result loses it.
bounce.out / elastic.out. Entry overshoot back.out(1.4–1.7) is fine.Use only 2–3 inter-scene transitions per film and repeat them; the default boundary is
cut-the-curve in the current's direction. Hand-written shared-element morphs
(intent: morph) don't count against the budget.
| Don't | Instead |
|---|---|
| Author each scene's entrance in isolation | Write the vector ledger first |
| Crossfade between scenes | Cut-the-curve in the current's direction |
| Exit completes, THEN the scene changes | Cut mid-motion on both sides |
| Entry starts from rest after a cut | Enter ≥50% through the notional path |
| Inverse-zoom exit → grow-from-small entry (or push → oversized retraction) | Match the scale-velocity sign (Seam Gate 7) |
| Incoming scene's own pop-in intro under a Z-seam handoff | Hold its opening frame composed, or match the sign |
| Idle wobble / breathe / float to fill time | Assign a sustained-motion route; or add story |
| Direction flip without a cause | Spend a force, or keep the current |
| Reserved vectors used as variety | Default to the current; spend them on meaning |
| Reaction a few frames after its cause | Same-frame ignition |
| Action jumps straight to result | Schedule stillness-before-climax (0.3–0.75s) |
© 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 3 other files (scripts, references) in .agents/skills/motion-doctrine of heygen-com/hyperframes.
Open the folder on GitHubat commit 3aa6886
We found 2 copies 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, which our catalogue first saw on October 7, 2026.
HyperFrames Motion Doctrine 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 |
|---|---|---|---|---|---|---|
| HyperFrames Motion Doctrine this skillheygen-com/hyperframes | 59k | 1 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Yuv Viral Videohoodini/ai-agents-skills | 282 | — | ~7.5k | Automated safety check: Notes | None | |
| Noti Tiktok Full Textnotivn/AIEV | 126 | — | ~4.8k | Automated safety check: Pass | MIT | |
| SVG Character Animationcalesthio/OpenMontage | 66k | — | ~421 | Automated safety check: Pass | MIT | |
| Noti Youtube Editnotivn/AIEV | 126 | — | ~5.6k | Automated safety check: Pass | MIT | |
| Vid Sizzle ReelVarnan-Tech/opendirectory | 674 | — | ~3.9k | Automated safety check: Pass | MIT |
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…
notivn/AIEV
Build a Vietnamese vertical TikTok explainer in the "MỔ XẺ PAPER AI" (AI paper dissection) format with HyperFrames (HTML/CSS/GSAP → MP4), Noti.vn style.
calesthio/OpenMontage
Animate SVG character rigs with GSAP, CSS transforms, Remotion frame control, and HyperFrames-compatible browser previews.
notivn/AIEV
Build a Vietnamese landscape 16:9 YouTube video (1920×1080) with HyperFrames (HTML/CSS/GSAP → MP4), keeping the Noti.vn/GĐT branding inherited from noti-tiktok-vn.
Varnan-Tech/opendirectory
Generates a high-energy sizzle reel or hype video (MP4) from brand assets and key messages.
op7418/guizang-product-video-skill
制作代码驱动的软件产品宣传片和版本更新片(product promo、release notes video、changelog promo)。从真实功能和产品设计出发定方向,用真实组件、GSAP/Three.js 动效、原创配乐和动作音效完成影片,每支片子的视觉手法都从产品本身推导,不套模板。
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
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.
heygen-com/hyperframes
Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.
heygen-com/hyperframes
Turns an article, notes or a topic brief into an explainer video whose visuals are invented per scene, built frame by frame in HyperFrames with no footage.
heygen-com/hyperframes
Imports Figma assets, brand tokens, components and motion into a HyperFrames video composition, using the Figma REST API with a connector or native export for shaders.
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
Works with
Categories
Sets the motion rules for HyperFrames videos so scenes read as one continuous camera move, covering exit-to-entry vectors, seams, idle motion and sustained motion. This gateway skill is loaded before any HyperFrames animation is composed. Its central rule, the vector law, says that how one scene exits decides how the next enters: same axis, same direction, matched speed, cut mid-motion on both sides, with the sign of the scale change defining direction on the Z axis.
HyperFrames Motion Doctrine fits situations like: starting a multi-scene HyperFrames video and choosing its transitions; checking that scene cuts keep their direction and momentum; fixing scenes that wobble in place between entry and exit.
Run `npx skills add heygen-com/hyperframes --skill motion-doctrine -a claude-code`. Or copy the skill folder (.agents/skills/motion-doctrine in heygen-com/hyperframes) into .claude/skills/motion-doctrine in your project. Claude Code loads it when a task matches its description.
Run `npx skills add heygen-com/hyperframes --skill motion-doctrine -a codex`. Or copy the skill folder (.agents/skills/motion-doctrine in heygen-com/hyperframes) into .agents/skills/motion-doctrine 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 --skill motion-doctrine -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/motion-doctrine, .gemini/skills/motion-doctrine, .github/skills/motion-doctrine and .opencode/skills/motion-doctrine in your project.
Going by SKILL.md and its folder, HyperFrames Motion Doctrine needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: A HyperFrames project; A JavaScript runtime for the `.mjs` scripts `seam-stamp.mjs` and `seam-gate.mjs`.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
HyperFrames Motion Doctrine 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 3k tokens (SKILL.md is roughly 12k 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 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with HyperFrames Motion Doctrine: Yuv Viral Video (hoodini/ai-agents-skills, 282 stars), Noti Tiktok Full Text (notivn/AIEV, 126 stars), SVG Character Animation (calesthio/OpenMontage, 66k stars) and Noti Youtube Edit (notivn/AIEV, 126 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, which has 59,375 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 9, 2026.
Source: heygen-com/hyperframes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.