Communitygithub.com

heygen-com/hyperframes

Técnica de cursor macOS sobredimensionado para vídeos de lanzamiento HyperFrames. Carga siempre que una escena involucre cursores o acciones guiadas por puntero, al iniciar una escena de interfaz, al provocar una transición/morf/escritura con un clic, o cuando una escena se perciba estática, muerta o deslucida y necesite una fuente barata y de alto rendimiento de movimiento para guiar la mirada del espectador y sacarlo de ese estado estático. Abarca tamaño/apariencia del cursor (incluyendo cursores con motivos de marca), la ley de entrada fuera de pantalla, apuntado de punta y el toque de clic, el clic que enciende el siguiente ritmo, y salida/transferencia entre escenas.

¿Qué es hyperframes?

Este skill implementa una técnica de cursor macOS sobredimensionado para ser usado como un protagonista visible que guía la mirada del espectador en vídeos de lanzamiento, especialmente en escenas que de otro modo serían estáticas o aburridas. El cursor siempre entra desde fuera de la pantalla (canónicamente desde abajo), se mueve con curvas de aceleración (power3.out/power2.in) y realiza un clic que desencadena la siguiente acción en el mismo fotograma. Soporta cursores con motivos de marca (como el cursor de Figma) manteniendo las mismas reglas de escala, entrada/salida y apuntado. Está diseñado para plataformas de animación web (GSAP) y ha sido probado en múltiples vídeos de lanzamiento. Incluye reglas estrictas sobre tamaño mínimo (7cqw en pantalla completa), origen de transformación del clic basado en la punta de la flecha (21% 14%), y salidas físicas (fuera de pantalla o transferencia anticipada entre escenas) sin fundidos de opacidad.

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

Preguntar en tu IA favorita

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

Documentación

Cursor sobredimensionado — el portador de la mirada

Un puntero macOS deliberadamente sobredimensionado que recorre el fotograma como un protagonista visible: entra desde fuera de la pantalla, lleva la mirada del espectador al siguiente punto de interés, hace clic para provocar lo que ocurre a continuación y se marcha. Probado en producción en múltiples películas de lanzamiento.

Por qué existe. El movimiento de un cursor grande es una de las fuentes de movimiento más baratas y de alto rendimiento en un vídeo de lanzamiento: un solo elemento, animaciones solo de transformación, y (1) lleva la mirada a través de la pantalla en escenas que de otro modo se leerían como muertas, (2) proporciona ignición causal a morphs/transiciones ("el clic hizo eso"), y (3) segmenta la mirada fuera de un estado estático al iniciar una nueva escena o una secuencia de animación compleja. Más grande es mejor: un cursor de tamaño real desaparece a escala de vídeo.

Tamaño y apariencia (convención de la casa)

  • Escenas a pantalla completa: 7cqw (≈134px a 1920). En variantes dentro de maqueta / pantalla pequeña: 4.6–5.5cqw. Nunca más pequeño.
  • Una geometría de flecha SVG en todas partes. Dos rellenos probados: cuerpo blanco + trazo negro, o cuerpo negro (#1c1c1c) + trazo blanco (1.4px). Elige según el contraste de la escena, mantenlo constante por película.
  • Cursores con motivo de marca (la jugada maestra). La flecha macOS es el VALOR POR DEFECTO, no una imposición. Cuando la marca del tema tiene una identidad de cursor reconocible (una flecha multijugador de una herramienta de diseño colaborativo con una etiqueta de nombre al estilo Figma, una mira de precisión de una suite creativa, un puntero de producto distintivo), usa ESE cursor: lenguaje de marca instantáneamente legible para cualquiera que conozca el producto. Las mismas reglas se aplican sin cambios (escala sobredimensionada, entrada/salida física, apuntado de punta, ignición por clic), y una variante con etiqueta de nombre viaja como una unidad rígida (la etiqueta sigue a la flecha). Recurre a él solo cuando el motivo sea genuinamente referenciable; un cursor que nadie reconoce es solo una flecha rara: vuelve al macOS.
  • filter: drop-shadow(0 4px 6px rgba(0,0,0,.3)), pointer-events: none, z-index por encima de todo el contenido de la escena, will-change: transform.
#root .cursor {
  position: absolute;
  left: 48%;
  top: 115%; /* fuera de pantalla abajo — la pose de reposo ESTÁ fuera de pantalla */
  width: 7cqw;
  height: 7cqw;
  z-index: 20;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
  pointer-events: none;
  will-change: transform;
}

Ley de entrada — física, nunca revelada

El cursor siempre entra desde fuera de la pantalla (canónico: desde abajo, top:115–120%) y viaja a su primer objetivo en un deslizamiento decelerante. Debe sentirse como que entró en la habitación. Nunca lo fundas por opacidad en una posición de reposo, nunca lo reveles con una máscara: eso se lee como un fallo (un modo de fallo real, observado repetidamente).

  • Trayectoria por defecto: recta hacia arriba en el eje y hasta el objetivo — sin diagonales fragmentadas. Una diagonal está bien cuando ES la historia (entrando hacia un objetivo fuera del eje), pero es un vector continuo de cualquier manera.
  • duration: 0.4–0.92s, ease: power3.out, immediateRender: false en el fromTo.
tl.fromTo(
  cursor,
  { left: "48.6%", top: "115%" },
  { left: "48.6%", top: "55%", duration: 0.85, ease: "power3.out", immediateRender: false },
  0.25,
);

Apuntado de punta y el toque de clic

El punto caliente es la PUNTA de la flecha, no el centro de la caja. Aterriza la punta en el centro del objetivo, y pivota toda la escala de presión en la punta: transformOrigin: '21% 14%' (para la ruta de la flecha de la casa en un viewBox de 24 unidades).

Clic = compresión/expansión asimétrica (relación 1:2 se lee como un toque real):

tl.to(cursor, { scale: 0.84, duration: 0.1, ease: "power2.in", transformOrigin: "21% 14%" }, t);
tl.to(
  cursor,
  { scale: 1, duration: 0.22, ease: "power2.out", transformOrigin: "21% 14%" },
  t + 0.1,
);

La reacción del objetivo es una animación separada y paralela (botón: scale: 0.94 + color/sombra de presión, comenzando en el mismo t). Los toques solo del cursor (por ejemplo, enfocar un campo de texto) NO obtienen reacción del objetivo. Combínalo con cursor-click-ripple / press-release-spring para el lado del objetivo.

El clic ENCIENDE el siguiente ritmo

Nunca permitas que un morph, una secuencia de escritura, una transformación de ventana o una animación que define la escena simplemente comience. Coloca el cursor sobre el activador y deja que el clic lo provoque, en el mismo fotograma:

  • clic ▸ cascada de menú/submenú, volteo de alternancia
  • clic ▸ inicio de escritura en un campo de entrada
  • clic ▸ morph de compositor / reducción de ventana
  • clic ▸ ignición de logotipo / lanzamiento de vuelo
  • clic ▸ cambio de estado de reproducción + despertar de vida de interfaz en una maqueta de producto

Durante los ritmos largos que no posee (escritura, narración), el cursor se desplaza a un lado (0.5–0.9s, power2.out) — nunca se queda congelado sobre la acción, nunca se tambalea sin propósito.

Ley de salida y transferencia entre escenas

Dos salidas autorizadas — ambas físicas, nunca un fundido de opacidad en su lugar:

  1. Salir del fotograma: acelera hacia el borde más cercano con power2.in (left:'118%', left:'-12%', o top:'116%'), 0.5–0.7s.
  2. Transferencia cortando la curva: en los últimos ~0.3s antes de un corte brusco, el cursor comienza a acelerar (power2.in) hacia el PRIMER punto de clic de la SIGUIENTE escena, cubriendo el primer ~1/3 de esa trayectoria; la siguiente composición gsap.set coloca el cursor en la pose de transferencia y continúa con power2.out a velocidad coincidente. El cursor mismo se convierte en el elemento portador que cose la costura:
// escena A, últimos 0.3s — inicia el viaje:
tl.to(cursor, { left: "40.7%", top: "63.7%", duration: 0.3, ease: "power2.in" }, CUT - 0.3);
// escena B, t=0 — termínalo a velocidad coincidente:
gsap.set(cursorB, { left: "40.7%", top: "63.7%" });
tl.to(cursorB, { left: "22%", top: "45%", duration: 0.6, ease: "power2.out" }, 0);

Lista de verificación

  • ≥ 7cqw a pantalla completa (4.6–5.5cqw dentro de una maqueta) — cuando tengas dudas, más grande
  • entra desde fuera de la pantalla en un vector continuo (sin fundido/revelado por máscara)
  • la punta aterriza en el centro del objetivo; la presión pivota en transformOrigin: '21% 14%'
  • cada clic provoca algo, en el mismo fotograma
  • se desplaza a un lado durante los ritmos que no posee; cero tambaleo sin propósito
  • sale físicamente (fuera del fotograma o transferencia cortando la curva) — sin fundido en su lugar

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

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

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