Communitygithub.com

heygen-com/hyperframes

PUERTA DE ENTRADA — cárguelo antes de componer cualquier animación o video de HyperFrames. La ley de movimiento de alto nivel que hace que un video de múltiples escenas se sienta como UN SOLO movimiento de cámara continuo en lugar de una pila de diapositivas animadas de forma independiente.

¿Qué es hyperframes?

Este skill, denominado 'Doctrina de Movimiento', actúa como puerta de entrada obligatoria para cualquier proyecto de animación o video con HyperFrames. Su propósito central es unificar el movimiento a través de las escenas, evitando la sensación de diapositivas independientes y muertas. Define una 'Ley Vectorial' que dicta cómo la salida de una escena determina la entrada de la siguiente, incluyendo la regla del signo de escala en el eje Z para evitar la violación más común: una salida en retroceso seguida de una entrada de crecimiento desde pequeño. Además, establece el concepto de 'Corriente' (un vector dominante para el avance neutral, por defecto izquierda), 'Portadores' (objetos concretos que guían el ojo a través de los cortes), 'Movimiento Causal' (cada acción desencadena la siguiente), y la 'Puerta de Unión' (una verificación numérica que garantiza consistencia). Prohíbe el 'balanceo inactivo' y exige que el movimiento 'rinda', no que respire, reemplazando cualquier guía de movimiento genérica. Finalmente, enruta a skills de técnica específica como 'cortar-la-curva', 'cursor-sobredimensionado' y 'artesanía-de-unión' para su implementación.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/heygen-com/hyperframes/tree/HEAD/.agents/skills/motion-doctrine

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Doctrina de Movimiento (Puerta de Entrada)

Léalo antes de componer cualquier animación. Decide QUÉ sucede en cada unión y cómo se desempeña cada escena; los skills de técnica lo implementan. Estas reglas derogan las guías de movimiento genéricas / ascendentes. El fallo que previene: escenas creadas de forma aislada: la inercia del ojo muere en cada corte, y las escenas se balancean en su lugar entre la entrada y la salida.

Mapa de ruta

Decisión (este skill)Skill de implementación
Elección de transición de unión + parámetros + códigocortar-la-curva §1–5 (el catálogo)
Cascadas de entrada de texto / elementoscortar-la-curva §6 (entrada en cascada)
Reubicación de grupo dentro de la escena (sin corte)cortar-la-curva §7 (curva de ajuste)
Acción guiada por cursor / inicio de escena / ignición de morphcursor-sobredimensionado
Mecánica de renderizado de unión / protección contra destello blancoartesanía-de-unión
Trabajo de lanzamiento de producto / explicador / leyendassuperpone texto-economía-de-beat, marca-fiel, leyendas-superpuestas sobre el skill ascendente

Orden de creación: libro mayor de vectores (ledger.json) → SELLAR las uniones maestras a partir de él (scripts/seam-stamp.mjs --ledger ledger.json --write index.html) → ruta de movimiento sostenido por fase → portadores y causas → construir composiciones → VERIFICAR (scripts/seam-gate.mjs). Solo cree a mano morphs/cortes de coincidencia de nivel A; las uniones selladas pasan la puerta por construcción.


Parte 1 — La Ley de Unión

La Ley Vectorial

Cómo la Escena A sale determina cómo la Escena B entra: mismo eje, misma dirección, velocidad emparejada, corte a medio movimiento en ambos lados.

  1. Eje — x permanece x, y permanece y, Z permanece Z. Nunca intercambie ejes a través de un corte.
  2. Dirección — nunca refleje. En Z, dirección = el SIGNO del cambio de escala: crecer = empujar (cámara hacia adelante), encoger = tirar (cámara hacia atrás). Una salida en retroceso respondida por una entrada de crecimiento desde pequeño es un vector reflejado — la violación más común, porque crecer desde pequeño es la entrada de elemento predeterminada.
  3. Velocidad — velocidad inicial de entrada ≈ velocidad final de salida, mediante eases reflejados (salida power4.in + entrada power4.out, misma distancia y duración; el lado entrante toma ≥50% del recorrido nocional). Mecánica en cortar-la-curva.
  4. Fase — el corte aterriza a medio movimiento en AMBOS lados. Asentarse antes del corte, o comenzar desde el reposo después, es un tiempo muerto.

La Corriente

Cada película elige UNA dirección dominante (valor predeterminado de la casa: IZQUIERDA). Cada unión ordinaria la usa. Otros vectores están RESERVADOS — gastar uno significa algo:

VectorSignificado
La corriente (IZQUIERDA)"siguiente beat" — progreso neutral hacia adelante
Hacia arribaelevación — una conclusión o revelación se eleva sobre lo que vino antes
Z hacia adelante (zoom-in)profundizar en el mismo pensamiento
Z hacia atrás (zoom inverso)LLEGADA — algo más grande aterriza
Explosión de escala (estallido)salir de un mundo — una superficie explota más allá de la cámara
  • Nunca ejecute uniones consecutivas en direcciones opuestas — el ping-pong se lee como un error.
  • Un cambio de dirección necesita una causa visible (clic / rebote / impacto) o un límite de capítulo.

El Libro Mayor de Vectores

Escríbalo antes de crear cualquier línea de tiempo maestra — como ledger.json en la raíz del proyecto (esquema: references/seam-gate.md). Una fila por unión: tiempo de corte, vectores de salida y entrada (eje + dirección con signo; las filas Z llevan el signo de escala), selectores, técnica. Salida y entrada deben coincidir; si una fila no coincide, arregle el plan, no el ease. El verificador comprueba la consistencia de las filas estáticamente antes de cualquier muestreo en tiempo de ejecución.

Portadores

El ojo sigue objetos, no abstracciones. Las uniones más fuertes pasan un portador concreto a través del corte con posición Y velocidad emparejadas: un cursor a medio camino, un contenedor que se encoge/acopla al siguiente diseño, una marca que vuela a su ranura exacta, el grupo de palabras de un corte en cascada. Sin portador natural, los héroes de la escena lo llevan (viaje parcial + desvanecimiento temprano, entrada en pleno vuelo). Nunca un fundido cruzado — no tiene ningún portador.

Movimiento Causal

Encadene el movimiento para que cada movimiento sea visiblemente lanzado por el anterior: clic → comprimir → liberar resorte → vuelo → impacto → retroceso → revelación.

  • Los efectos comienzan EN el fotograma causante — misma posición en la línea de tiempo, nunca "poco después".
  • Las reacciones escalan con la masa implícita: los elementos grandes rebotan más lento, los pequeños chasquean.
  • Una fuerza es una licencia para cambiar de dirección; un giro sin causa es un ping-pong.

La Puerta de Unión (puerta de compilación — ejecute el verificador, salida 0 o la unión no está hecha)

node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index.html  # generar
node <SKILL_DIR>/scripts/seam-gate.mjs  verify --ledger ledger.json --project .  # verificar

El script (uso + esquema del libro mayor: references/seam-gate.md) aplica numéricamente, por unión: consistencia de fila del libro mayor, salida aún moviéndose en el corte, entrada en pleno vuelo (nunca desde el reposo), dirección medida = dirección del libro mayor, coincidencia de velocidad entrada/salida (ADVERTENCIA), superposición cero (un lado visible por fotograma — el corte no es una disolución), la regla del signo Z (d(escala)/dt mismo signo en ambos lados; las entradas de la escena entrante se escanean en busca de lucha de signos), y continuidad del rectángulo portador con la escala del ancestro incluida. Use seam-gate.mjs probe --t <corte> para encontrar los selectores de portador reales de cada unión al crear el libro mayor.

Reglas que el script no puede verificar — todavía suyas:

  1. Las ediciones reabren la unión. Cualquier cambio en el primer/último ~1s de una escena (incluyendo el re-timing a un nuevo VO) invalida la auditoría de ese límite — vuelva a ejecutar el verificador.
  2. El audio es el reloj. Ajuste el tiempo de las escenas a las marcas de tiempo reales de las palabras del VO; nunca apresure una lectura para que encaje en una ranura. Una regeneración de VO reabre sus uniones.
  3. Trampa de clip-gating (la causa habitual de un FALLO de superposición cero): un clip cuyo data-start precede a su tween de entrada se muestra oculto en su opacidad inicial — establezca autoAlpha: 0 inicial Y data-start = la hora del corte, nunca antes.

Parte 2 — Rendimiento (la escena sigue rindiendo)

Sin balanceo inactivo

Los bucles senoidales inactivos (respirar, flotar, derivar, pulso de brillo) están PROHIBIDOS como movimiento sostenido — se leen como "el video está esperando". Una escena que termina de entrar con segundos restantes es un error de planificación: agregue historia, no balanceo. Cada fase entre la entrada y la salida es propiedad de una de estas rutas (nombre la ruta en el plan):

RutaQué es
Revelaciones escalonadasRetenga contenido; entréguelo en los beats de la narración — el fotograma sigue ganando información (predeterminado para ≥2 grupos de contenido)
Cámara con intenciónUna ruta mapeada de escala+pan: establecer amplio → viajar → llegar al sujeto
Vida de UI secuenciadaEl producto se comporta a lo largo del tiempo: el progreso avanza, el paso se resalta, los contadores avanzan
Secuencias animadasLos elementos representan un beat: una tarjeta se archiva en una pila, un elemento se arrastra, un resultado se ensambla
Acción guiada por cursorUn cursor sobredimensionado guía el ojo a un disparador; su CLIC enciende el siguiente beat (cursor-sobredimensionado)

Prueba: pause en cualquier segundo — algo significativo debe estar en pleno vuelo (una revelación aterrizando, la cámara viajando, la UI haciendo lo que la narración dice).

Quietud antes del clímax

Programe una pausa de 0.3–0.75s entre la acción principal y su resultado — la coma dramática. Una escena que salta directamente de la acción al resultado lo pierde.

Intenciones de tiempo

  • Entrada única ≤ ~800ms; construcción más larga = escalonamiento de múltiples elementos, no un elemento lento.
  • Salida ≈ 75% de la entrada. Excepción: cortar-la-curva invierte esto (entrada ~127% de la salida).
  • Escalonamiento total ≤ 500ms; con 8+ elementos, apriete el retardo por elemento o escale los primeros.
  • Eases prohibidos: bounce.out / elastic.out. El sobrepaso en entrada back.out(1.4–1.7) está bien.
  • Elementos similares comparten una intención de ease+duración — nunca un par único por elemento.

Vocabulario de transición

Use solo 2–3 transiciones entre escenas por película y repítalas; el límite predeterminado es cortar-la-curva en la dirección de la corriente. Los morphs de elementos compartidos escritos a mano (intent: morph) no cuentan para el presupuesto.


Anti-Patrones

No hagaEn su lugar
Crear la entrada de cada escena de forma aisladaEscriba primero el libro mayor de vectores
Fundido cruzado entre escenasCorte-la-curva en la dirección de la corriente
La salida se completa, LUEGO la escena cambiaCorte a medio movimiento en ambos lados
La entrada comienza desde el reposo después de un corteEntre ≥50% del recorrido nocional
Salida con zoom inverso → entrada de crecimiento desde pequeño (o empuje → retracción sobredimensionada)Coincida el signo de la velocidad de escala (Puerta de Unión 7)
Introducción emergente del elemento propio de la escena entrante bajo una transferencia de unión ZMantenga su fotograma de apertura compuesto, o coincida el signo
Balanceo inactivo / respiración / flotación para llenar tiempoAsigne una ruta de movimiento sostenido; o agregue historia
Giro de dirección sin causaGaste una fuerza, o mantenga la corriente
Vectores reservados usados como variedadUse la corriente por defecto; gástelos en significado
Reacción unos fotogramas después de su causaIgnición en el mismo fotograma
La acción salta directamente al resultadoPrograme quietud antes del clímax (0.3–0.75s)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

general-video

>

heygen-com/animejs

Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.

heygen-com/gsap

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Skills relacionados