ASD

Hyperframes Keyframes

Úsalo cuando una composición HyperFrames necesite keyframes 2D/3D seek-safe: GSAP, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, morph/draw SVG, trails de texto, profundidad 3D o diagnósticos `hyperframes keyframes`.

Estrellas
40.6k

en todo el repo

Actividad
59

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
4

últimos 90 días

Contexto
2.8k tok

79 tok en reposo

Paquete
3 archivos

18 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add heygen-com/hyperframes --skill hyperframes-keyframes --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Define reglas para crear keyframes seek-safe en 2D/3D usando GSAP, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks y morph/draw SVG
  • Impone un contrato de poses visibles, identidad continua del sujeto y estado final verificado
  • Proporciona esqueleto GSAP y tabla de elección del mecanismo mínimo según la necesidad de la escena
  • Define comandos de diagnóstico `hyperframes lint/check/keyframes/snapshot` para verificar píxeles renderizados
  • Da tabla de errores comunes (endpoint-only, identity break, fake 3D, unseekable runtime) y su corrección

Úsalo cuando

  • La composición HyperFrames necesita keyframes 2D/3D seek-safe
  • Se usan GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks o morph/draw SVG
  • Se necesitan trails de texto o profundidad 3D
  • Se requieren diagnósticos con `hyperframes keyframes`

No lo uses cuando

  • Estrategia amplia de escena o diseño de marca
  • Sourcing de medios, captions o planificación general de video

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • Crea un keyframe GSAP seek-safe para que este elemento se mueva entre dos cajas
  • Necesito animar el trazo de un SVG con DrawSVGPlugin y verificarlo con hyperframes keyframes
  • Agrega profundidad 3D a esta escena con rotación de cámara y verifica con --ghost
  • Revisa por qué mi timeline WAAPI no es seekable y corrígelo

SKILL.md

En inglés

HyperFrames Keyframes

Keyframes are a pose contract: visible states, continuous subject identity, seek-safe runtime, verified pixels.

Use 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.

Procedure

  1. Identify the animated subject, visible states, final state, and runtime.
  2. Choose the smallest mechanism that proves the prompt. Read references/keyframe-patterns.md only if the mechanism is unclear.
  3. Author seek-safe keyframes in the declared runtime. Build synchronously and register the runtime instance.
  4. Verify with hyperframes lint, hyperframes check, hyperframes keyframes, one focused --shot, and snapshots at proof times.
  5. If proof fails, fix the source keyframes and rerun the smallest failing diagnostic before rendering.

Contract

  • Name the moving subject.
  • Name the poses needed to prove the intended motion, including the final state.
  • Keyframe visible channels, not hidden helper state.
  • Preserve object identity when continuity matters.
  • Crossfade only when the intended motion is replacement or dissolve.
  • Hold readable or semantic states long enough to see.
  • Final frame is part of the animation, not cleanup.
  • Do not reset to rest unless requested.
  • Do not end on black unless requested.
  • If editing a starter scene, preserve layout, copy, assets, colors, and final state unless asked to redesign.

Runtime Rules

GSAP:

  • build synchronously at page load
  • use gsap.timeline({ paused: true })
  • register as window.__timelines[compositionId]
  • registry key must match data-composition-id
  • do not call tl.play() for render-critical motion
  • keep repeats finite

CSS keyframes:

  • finite duration and iteration count
  • deterministic delay
  • animation-fill-mode: both
  • use data-start when timing belongs to a clip

Anime.js:

  • create synchronously
  • autoplay: false
  • finite duration and loops
  • push every instance to window.__hfAnime

WAAPI:

  • finite duration
  • fill: "both"
  • deterministic construction
  • the text surface does not list WAAPI; verify with --shot (it seeks WAAPI) and snapshots

Never use for render-critical motion:

  • Date.now()
  • performance.now()
  • unseeded Math.random()
  • hover/scroll triggers
  • timers
  • async-created timelines
  • unregistered requestAnimationFrame
  • infinite loops

GSAP Skeleton

const root = document.querySelector("[data-composition-id]");
const compositionId = root.dataset.compositionId;
const tl = gsap.timeline({ paused: true });

tl.addLabel("state-a", 0);
tl.to(".subject", {
  keyframes: [
    { x: 0, opacity: 1, duration: 0.2 },
    { x: 120, opacity: 1, duration: 0.4, ease: "power2.out" },
    { x: 100, opacity: 1, duration: 0.2, ease: "power2.inOut" },
  ],
  ease: "none",
});

window.__timelines = window.__timelines || {};
window.__timelines[compositionId] = tl;

Use labels for semantic states. Use position parameters instead of chained delays. Use immediateRender: false for later from()/fromTo() tweens touching the same property.

Keyframe Forms

  • Array keyframes: pose ladder with per-step duration/ease.
  • Percentage keyframes: exact timing inside one tween.
  • Property arrays: compact multi-stop changes.
  • ease: "none" on the parent when each stop carries its own easing.
  • easeEach when every segment should share the same feel.

Do not copy numeric distances or timing from examples. Derive them from the actual composition geometry and duration.

For 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.

Channels

Prefer 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.

Avoid layout/lifecycle channels: top/left/right/bottom, width/height, margin/padding, display, visibility, late DOM creation, helper overlays doing subject motion.

For 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.

Mechanism Choice

Choose the smallest mechanism that proves the prompt:

Need Mechanism
Same subject changes box or hierarchy shared element / FLIP
Subject travels a visible route path travel
Stroke grows or traces stroke draw
Shape becomes another shape shape interpolation
Reveal boundary is visible clip, mask, or shader uniform
Many items move with order stagger / indexed delay
Text itself moves line, word, character, or band subdivision
Surface bends, stretches, or crops parent/child counter-transform
UI has states explicit state machine
Scene has depth DOM 3D, Three.js, or WebGL camera/object keyframes

Mechanisms can combine, but each one must clarify the idea. Decoration is not proof.

Timing

  • Anticipation only when it clarifies cause or direction.
  • Acceleration leaves rest.
  • Peak proof shows the mechanism unmistakably.
  • Follow-through sells energy and direction.
  • Overshoot only when the subject should feel elastic or tactile.
  • Constant-speed path travel usually needs ease: "none".
  • Discrete UI states usually need a sharp ease-out.
  • Repeated elements need ordered offsets, not identical timing.
  • Final lockups need longer holds than transition poses.
  • Smoothness means continuous velocity on the same subject.
  • Do not overlap tweens that write the same transform property unless the overlap is intentional and verified.
  • 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.

Text

Preserve 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.

SVG

For 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.

3D

Scale 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.

Use one or two diagnostic angles that expose the depth relationship. If angled proof shows no depth crossing, improve z/camera/occlusion.

Canvas / WebGL

Keyframe 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.

CLI Proof

npx hyperframes lint
npx hyperframes check
npx hyperframes keyframes .
npx hyperframes keyframes . --json
npx hyperframes keyframes . --runtime all
npx hyperframes keyframes . --selector "<selector>" --shot "<file>" --samples <n>
npx hyperframes keyframes . --selector "<selector>" --shot "<file>" --layout strip --from <t0> --to <t1>
npx hyperframes keyframes . --shot "<file>" --ghost --angle <angle>
npx hyperframes snapshot . --at <times>

Choose <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.

Tool Proves
keyframes targets, explicit stops, paths, traces, composed parent/child motion, CSS stops, Anime registration
--shot ghosts, route shape, time spacing, DOM 3D projection, focused selector proof
--layout strip in-place motion, overlaps, contact, subtle scale/opacity, text waves
--ghost canvas, WebGL, shader motion, rendered 3D
snapshot --at masks, text readability, full state, final lockup, black/reset tails

If selector proof looks wrong:

  1. rerun --json
  2. find the actual animated target
  3. shoot that target
  4. snapshot full frames
  5. trust painted pixels over logs

Diagnostic Reading

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.

Even ghost spacing means constant speed. Clustered ghosts mean slow-in or settle. Large gaps mean fast travel.

A helper-selector shot is not proof. An onion shot over a broken full frame is not proof.

Error Handling

Failure Fix
endpoint-only add middle poses, hold peak proof, rerun --shot
identity break keep one element alive, use shared source/final boxes, remove substitute crossfade
fake 3D add z/camera travel, occlusion, angled proof
wrong final add final hold, snapshot final-minus-hold and exact final
unseekable runtime pause autoplay, register instance, remove timers, build synchronously
unreadable text preserve line boxes, reduce displacement, add final hold, snapshot text frames

Done

Run 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.

Reproducido de heygen-com/hyperframes bajo licencia Apache-2.0. Leer esta página en markdown.

Archivos

3 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Antes de instalar

Requiere el CLI `hyperframes` (lint, check, keyframes, snapshot) y las librerías de runtime correspondientes (GSAP, Anime.js, DrawSVGPlugin/MorphSVGPlugin, etc.).

Necesita en el PATH:npx

Detalles

Creador
heygen-com
Licencia
Apache-2.0
Recursos incluidos
referencias
Código fuente
Ver SKILL.md

Etiquetas

Más de heygen-com/hyperframes

Este repo incluye 25 skills. Si instalas uno, normalmente ya tienes los demás.

Agent Media OS: resuelve BGM, SFX, imágenes, iconos, logos, voz, gradación de color o LUTs en un archivo local o bloque listo para usar; genera, opera y reutiliza assets en proyectos HyperFrames.

Costo de contexto al activarse
2k tok
Tamaño del paquete
152 archivos
Última actualización
hace 4 días
herramientas desarrollo

Convierte un pull request de GitHub (URL, owner/repo#N o 'este PR') en un video explicativo del cambio de código —changelog, feature, fix o refactor— construido a partir del diff, commits y archivos.

Costo de contexto al activarse
7.9k tok
Tamaño del paquete
30 archivos
Última actualización
hace 10 días
redaccion contenido

Punto de entrada obligatorio para crear, editar, animar o renderizar video, animaciones o motion graphics con HyperFrames, así como para inspeccionar, validar o publicar proyectos existentes.

Costo de contexto al activarse
3.2k tok
Tamaño del paquete
17 archivos
Última actualización
hace 15 días
diseno ui

Convierte una URL de producto o marketing, un guion pegado o un brief en un video de lanzamiento/promoción — promos SaaS, revelaciones de funciones, demos, lanzamientos de apps y empresas.

Costo de contexto al activarse
7.9k tok
Tamaño del paquete
28 archivos
Última actualización
hace 10 días
redaccion contenido

Usa el flujo de desarrollo de la CLI de HyperFrames: init, add, catalog, capture, lint, check, snapshot, compare, preview, render, publish, cloud, lambda, feedback, doctor y más; también para diagnosticar fallos de build o render.

Costo de contexto al activarse
3.9k tok
Tamaño del paquete
11 archivos
Última actualización
hace 3 días
herramientas desarrollo

Convierte texto (artículo, notas, tema o brief) en un video explicativo faceless: sin sitio ni material que capturar, los visuales se inventan por escena (tipografía, gráficos abstractos, diagramas, data-viz).

Costo de contexto al activarse
7.1k tok
Tamaño del paquete
24 archivos
Última actualización
hace 10 días
redaccion contenido

Skills relacionados

Porta el código de una composición Remotion (React) existente a HTML de HyperFrames. Solo para pedidos explícitos de portar/convertir/migrar una fuente Remotion, en un único sentido.

Costo de contexto al activarse
2.4k tok
Tamaño del paquete
70 archivos
Última actualización
hace 10 días
herramientas desarrollo

Empaqueta un video de talking-head/entrevista/podcast existente con tarjetas gráficas superpuestas (títulos, lower-thirds, callouts, citas, PiP) sincronizadas con la transcripción, en 16:9, 9:16 o 4:5; el clip se reproduce intacto debajo.

Costo de contexto al activarse
16.3k tok
Tamaño del paquete
28 archivos
Última actualización
hace 24 días
diseno ui

Úsalo cuando el usuario o el agente necesite leer, buscar o consultar la documentación o la referencia de la API de Stripe, en vez de usar curl o WebFetch para docs.stripe.com.

Costo de contexto al activarse
225 tok
Tamaño del paquete
1 archivo
Última actualización
hace 24 días
Oficialdesarrollo apis