.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/hyperframes/hyperframes-keyframes
home/skills/heygen-com/hyperframes/hyperframes-keyframes
heygen-com avatar

hyperframes-keyframes

byheygen-com· 46 skills

Installs

124k

Stars

38k

Forks

3.6k

Category

Frontend Development

View on GitHub

TL;DR

Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, 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.

How to install hyperframes-keyframes?

heygen-com/hyperframes/hyperframes-keyframes
$npx -y skills add heygen-com/hyperframes --skill hyperframes-keyframes

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Use this skill

Run `npx skills use "https://github.com/heygen-com/hyperframes" --skill "heygen-com/hyperframes/hyperframes-keyframes"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.

Use the whole pack

Use the skills in "https://github.com/heygen-com/hyperframes" that are relevant to the current task. Run `npx skills add "https://github.com/heygen-com/hyperframes"` and select the relevant skills, then follow their instructions.

Files · 1

View on GitHub
SKILL.md
1# HyperFrames Keyframes
2 
3Keyframes are a pose contract: visible states, continuous subject identity, seek-safe runtime, verified pixels.
4 
5Use `hyperframes-animation` for broad scene recipes. Use `hyperframes-cli` for full command docs. Use `references/keyframe-patterns.md` only when choosing implementation mechanisms, not visual style.
6 
7## Procedure
8 
91. Identify the animated subject, visible states, final state, and runtime.
102. Choose the smallest mechanism that proves the prompt. Read `references/keyframe-patterns.md` only if the mechanism is unclear.
113. Author seek-safe keyframes in the declared runtime. Build synchronously and register the runtime instance.
124. Verify with `hyperframes lint`, `hyperframes check`, `hyperframes keyframes`, one focused `--shot`, and snapshots at proof times.
135. If proof fails, fix the source keyframes and rerun the smallest failing diagnostic before rendering.
14 
15## Contract
16 
17- Name the moving subject.
18- Name the poses needed to prove the intended motion, including the final state.
19- Keyframe visible channels, not hidden helper state.
20- Preserve object identity when continuity matters.
21- Crossfade only when the intended motion is replacement or dissolve.
22- Hold readable or semantic states long enough to see.
23- Final frame is part of the animation, not cleanup.
24- Do not reset to rest unless requested.
25- Do not end on black unless requested.
26- If editing a starter scene, preserve layout, copy, assets, colors, and final state unless asked to redesign.
27 
28## Runtime Rules
29 
30GSAP:
31 
32- build synchronously at page load
33- use `gsap.timeline({ paused: true })`
34- register as `window.__timelines[compositionId]`
35- registry key must match `data-composition-id`
36- do not call `tl.play()` for render-critical motion
37- keep repeats finite
38 
39CSS keyframes:
40 
41- finite duration and iteration count
42- deterministic delay
43- `animation-fill-mode: both`
44- use `data-start` when timing belongs to a clip
45 
46Anime.js:
47 
48- create synchronously
49- `autoplay: false`
50- finite duration and loops
51- push every instance to `window.__hfAnime`
52 
53WAAPI:
54 
55- finite `duration`
56- `fill: "both"`
57- deterministic construction
58- the text surface does not list WAAPI; verify with `--shot` (it seeks WAAPI) and snapshots
59 
60Never use for render-critical motion:
61 
62- `Date.now()`
63- `performance.now()`
64- unseeded `Math.random()`
65- hover/scroll triggers
66- timers
67- async-created timelines
68- unregistered `requestAnimationFrame`
69- infinite loops
70 
71## GSAP Skeleton
72 
73```js
74const root = document.querySelector("[data-composition-id]");
75const compositionId = root.dataset.compositionId;
76const tl = gsap.timeline({ paused: true });
77 
78tl.addLabel("state-a", 0);
79tl.to(".subject", {
80 keyframes: [
81 { x: 0, opacity: 1, duration: 0.2 },
82 { x: 120, opacity: 1, duration: 0.4, ease: "power2.out" },
83 { x: 100, opacity: 1, duration: 0.2, ease: "power2.inOut" },
84 ],
85 ease: "none",
86});
87 
88window.__timelines = window.__timelines || {};
89window.__timelines[compositionId] = tl;
90```
91 
92Use labels for semantic states. Use position parameters instead of chained delays. Use `immediateRender: false` for later `from()`/`fromTo()` tweens touching the same property.
93 
94## Keyframe Forms
95 
96- Array keyframes: pose ladder with per-step duration/ease.
97- Percentage keyframes: exact timing inside one tween.
98- Property arrays: compact multi-stop changes.
99- `ease: "none"` on the parent when each stop carries its own easing.
100- `easeEach` when every segment should share the same feel.
101 
102Do not copy numeric distances or timing from examples. Derive them from the actual composition geometry and duration.
103 
104For one subject moving between two boxes, prefer one continuous transform tween or FLIP. Split `x/y/scale` into multiple eased keyframes only when the viewer should feel distinct beats; every segment changes velocity and can read as a hitch.
105 
106## Channels
107 
108Prefer compositor/visual channels: `x/y/z`, `xPercent/yPercent`, `scale`, `rotationX/Y/Z`, `skew`, `transformOrigin`, `svgOrigin`, `opacity`, `autoAlpha`, `clip-path`, masks, CSS vars, SVG path/dash values, camera transforms, shader uniforms.
109 
110Avoid layout/lifecycle channels: `top/left/right/bottom`, `width/height`, `margin/padding`, `display`, `visibility`, late DOM creation, helper overlays doing subject motion.
111 
112For visibility changes, use `autoAlpha` on the registered seekable GSAP timeline, or a zero-duration `tl.set()` at an explicit boundary. Target only a non-clip element or a wrapper inside the clip; never target `.clip` itself. Never duration-tween raw `visibility`, and never tween `display`.
113 
114## Mechanism Choice
115 
116Choose the smallest mechanism that proves the prompt:
117 
118| Need | Mechanism |
119| ------------------------------------- | -------------------------------------------------- |
120| Same subject changes box or hierarchy | shared element / FLIP |
121| Subject travels a visible route | path travel |
122| Stroke grows or traces | stroke draw |
123| Shape becomes another shape | shape interpolation |
124| Reveal boundary is visible | clip, mask, or shader uniform |
125| Many items move with order | stagger / indexed delay |
126| Text itself moves | line, word, character, or band subdivision |
127| Surface bends, stretches, or crops | parent/child counter-transform |
128| UI has states | explicit state machine |
129| Scene has depth | DOM 3D, Three.js, or WebGL camera/object keyframes |
130 
131Mechanisms can combine, but each one must clarify the idea. Decoration is not proof.
132 
133## Timing
134 
135- Anticipation only when it clarifies cause or direction.
136- Acceleration leaves rest.
137- Peak proof shows the mechanism unmistakably.
138- Follow-through sells energy and direction.
139- Overshoot only when the subject should feel elastic or tactile.
140- Constant-speed path travel usually needs `ease: "none"`.
141- Discrete UI states usually need a sharp ease-out.
142- Repeated elements need ordered offsets, not identical timing.
143- Final lockups need longer holds than transition poses.
144- Smoothness means continuous velocity on the same subject.
145- Do not overlap tweens that write the same transform property unless the overlap is intentional and verified.
146- Avoid animating large `clip-path`/mask changes while the same hero surface is also scaling or traveling; use nested reveals after the main move settles.
147 
148## Text
149 
150Preserve line boxes, word spacing, readability, and final fit. If text moves internally, move the glyphs or masked bands, not only decorations around the text. Snapshot readable frames.
151 
152## SVG
153 
154For stroke growth prefer `DrawSVGPlugin`, then `stroke-dasharray`/`stroke-dashoffset`. For shape interpolation prefer `MorphSVGPlugin`; convert primitives to paths when needed and split complex silhouettes into simpler parts.
155 
156## 3D
157 
158Scale alone is fake depth. Use perspective on a stable parent, `transform-style: preserve-3d`, z travel, rotation, camera/world motion, occlusion, and layer order when objects cross.
159 
160Use one or two diagnostic angles that expose the depth relationship. If angled proof shows no depth crossing, improve z/camera/occlusion.
161 
162## Canvas / WebGL
163 
164Keyframe camera position, camera target, object transform, material opacity, shader uniforms, and postprocess intensity through deterministic state. Render from HyperFrames time. Use `--ghost` because marker boxes cannot see internal canvas motion.
165 
166## CLI Proof
167 
168```bash
169npx hyperframes lint
170npx hyperframes check
171npx hyperframes keyframes .
172npx hyperframes keyframes . --json
173npx hyperframes keyframes . --runtime all
174npx hyperframes keyframes . --selector "<selector>" --shot "<file>" --samples <n>
175npx hyperframes keyframes . --selector "<selector>" --shot "<file>" --layout strip --from <t0> --to <t1>
176npx hyperframes keyframes . --shot "<file>" --ghost --angle <angle>
177npx hyperframes snapshot . --at <times>
178```
179 
180Choose `<selector>` for the real animated subject. Choose `<times>` for first frame, proof poses, final-minus-hold, and exact final. Choose `<angle>` only when depth must be proven.
181 
182| Tool | Proves |
183| ---------------- | --------------------------------------------------------------------------------------------------- |
184| `keyframes` | targets, explicit stops, paths, traces, composed parent/child motion, CSS stops, Anime registration |
185| `--shot` | ghosts, route shape, time spacing, DOM 3D projection, focused selector proof |
186| `--layout strip` | in-place motion, overlaps, contact, subtle scale/opacity, text waves |
187| `--ghost` | canvas, WebGL, shader motion, rendered 3D |
188| `snapshot --at` | masks, text readability, full state, final lockup, black/reset tails |
189 
190If selector proof looks wrong:
191 
1921. rerun `--json`
1932. find the actual animated target
1943. shoot that target
1954. snapshot full frames
1965. trust painted pixels over logs
197 
198## Diagnostic Reading
199 
200`flat` means no explicit middle poses. `keyframes` means explicit stops exist. `motionPath` means a route exists. `trace` means multi-stroke drawing. `composed with` means child motion inherits parent motion.
201 
202Even ghost spacing means constant speed. Clustered ghosts mean slow-in or settle. Large gaps mean fast travel.
203 
204A helper-selector shot is not proof. An onion shot over a broken full frame is not proof.
205 
206## Error Handling
207 
208| Failure | Fix |
209| ------------------ | ---------------------------------------------------------------------------------- |
210| endpoint-only | add middle poses, hold peak proof, rerun `--shot` |
211| identity break | keep one element alive, use shared source/final boxes, remove substitute crossfade |
212| fake 3D | add z/camera travel, occlusion, angled proof |
213| wrong final | add final hold, snapshot final-minus-hold and exact final |
214| unseekable runtime | pause autoplay, register instance, remove timers, build synchronously |
215| unreadable text | preserve line boxes, reduce displacement, add final hold, snapshot text frames |
216 
217## Done
218 
219Run `hyperframes lint`, `hyperframes check`, `hyperframes keyframes`, one focused `--shot`, and snapshots. Confirm first frame, proof poses, final-minus-hold, exact final, subject-owned motion, and no debug overlays.

Security

Passed

  • Gen Agent Trust Hubpass
  • Socketpass
  • Snykpass

Preview

heygen-com/hyperframesheygen-com/hyperframes

$ npx -y skills add heygen-com/hyperframes --skill hyperframes-keyframes

▸ installing to .claude/skills…

✓ hyperframes-keyframes ready

Repoheygen-com/hyperframes
TypeSkills
CategoryFrontend Development
ForContent Creator
UpdatedJul 2026
License—
First seenJul 26, 2026

Tags

Skill

Related

6 picks
Type
  1. vercel-labs avatarreact-best-practicesReact and Next.js performance optimization guidelines from Vercel Engineering.SkillsJul 2026587k29k
  2. heygen-com avatarhyperframes-registryInstall, discover, and wire registry blocks and components into HyperFrames compositions.SkillsJul 2026267k38k
  3. vercel-labs avatarcomposition-patternsReact composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing…SkillsJul 2026266k29k
  4. shadcn avatarshadcnManages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces.SkillsJul 2026257k120k
  5. larksuite avatarlark-apps妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV…SkillsJul 2026235k16k
  6. leonxlnx avatarimage-to-code-skillElite website image-to-code skill for Codex. For visually important web tasks, it must first generate the design image(s) itself, deeply analyze them, then…SkillsJul 2026175k68k