Communitygithub.com

motion-graphics

Crea un videoclip corto animado (menos de 10 segundos) a partir de activos o contenido de búsqueda, con un enfoque de diseño primero y renderizado guiado.

¿Qué es motion-graphics?

El skill 'motion-graphics' de HyperFrames permite a agentes AI crear videoclips animados breves (<10s) sin narración, priorizando el diseño y la composición a partir de activos reales. El flujo de trabajo comienza con la pregunta de búsqueda: si se necesita contenido externo, se ejecuta una búsqueda (web, noticias, tweets, imágenes) en la fase de 'source', y en caso contrario, se elige una categoría de formulario directo (texto cinético, estadísticas, gráficos, etc.). Luego, el director diseña la composición alrededor de los activos resueltos, el builder compone reutilizando bloques del catálogo y animaciones GSAP, y finalmente se verifica con linters y snapshots antes de renderizar el video final (MP4 o WebM con transparencia). Está diseñado para Claude Code, Codex, Cursor y otros agentes compatibles con HyperFrames, utilizando exclusivamente Bash y subagentes para mantener la autonomía del proceso.

Compatible con~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/heygen-com/hyperframes/tree/main/skills/motion-graphics

Preguntar en tu IA favorita

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

Documentación

Instalación de plugins: Antes de ejecutar comandos de setup o frescura, sigue las reglas de ejecución de plugins cuando este skill esté dentro de un plugin de HyperFrames. Las instalaciones independientes conservan las instrucciones de actualización a continuación.

Primero, mantén este skill fresco — confirma con el usuario antes de ejecutar: npx hyperframes skills update motion-graphics. Una operación rápida sin cambios si todo está actualizado; de lo contrario, refresca este skill junto con los skills del dominio central de los que depende antes de que confíes en ellos.

fuente figma: Si el logo/activo/animación a construir proviene de una URL de figma.com, ejecuta /figma primero — exportación de activos, tokens de marca y traducción Motion→GSAP si el gráfico es una importación de Figma Motion — y luego construye a partir de su salida. No manejes Figma directamente con herramientas MCP sin procesar: eso omite la sanitización de SVG, la procedencia de .media/manifest.jsonl y la vinculación de var() de tokens de marca, por lo que un cambio posterior de marca no se puede propagar sin una reimportación completa.

motion-graphics — punto de entrada

La puerta principal es /hyperframes. Este skill crea un videoclip corto animado, con diseño prioritario y sin narración (el movimiento es el mensaje; ~menos de 10s, sin voz en off). Cualquier cosa más larga, narrada o con múltiples escenas — o cualquier incertidumbre → lee /hyperframes primero: la capa de intención decide cada ruta.

Este flujo de trabajo es autónomo por diseño — como máximo una pregunta aclaratoria (agents/director.md), luego construir hasta la verificación sin revisión intermedia. La capa de intención (/hyperframes → references/intent-interview.md) enruta aquí directamente sin preguntas sobre la forma de ejecución; un storyboard y una sesión complementaria aportan poco a una pieza tan corta. El renderizado sigue estando controlado por el usuario: después de que las comprobaciones y las capturas de prueba pasen, haz la pregunta canónica "¿vista previa o render?" de ../hyperframes/references/brief-contract.md. Cuando exista un BRIEF.md, léelo antes de la pregunta del director.

Un videoclip corto animado con diseño prioritario. Primero los activos: decide la estrategia de activos y obtén material real antes de diseñar la toma, luego diseña la toma en torno a lo que tienes, y finalmente compón reutilizando capacidades del catálogo. Todos los artefactos van a PROJECT_DIR = videos/<nombre-proyecto>/ (creado en el Paso 0); todas las rutas a continuación son relativas a él.

FaseEjecuciónArtefacto principalFlujo detallado
initBashhyperframes.jsonPaso 0
plansubagente — ¿decidir búsqueda? + clasificar + estrategia de activosshot-plan.json (borrador: categoría, consultas asset_needs, brief)agents/director.md (Parte 1)
source ◇Bash — resolver uso de medios (saltar si asset_needs está vacío)assets/ + assets/index.mdphases/source/guide.md
designsubagente — diseño de toma en torno a activos resueltosshot-plan.json (final: bloque(s) + layout + animación + posiciones)agents/director.md (Parte 2)
buildsubagente — composición priorizando reutilizacióncompositions/index.htmlagents/builder.md
verifyBash — lint, check, capturas de prueba; reparar en fallosnapshots/hoja-contacto.jpgPaso 5
approvePreguntar vista previa o render; esperar la respuestaaprobación explícita de renderPaso 6
renderBash — hyperframes render (MP4, o --format webm/mov para superposición)renders/video.mp4 o superposición transparentePaso 6

◇ source se ejecuta solo cuando la categoría elegida declara activos. Las categorías de código/texto puro (ej. kinetic-type, la mayoría de charts/stat) tienen asset_needs: [] y pasan directamente del plan al diseño.

Categorías — divididas por la decisión de búsqueda

La primera decisión de plan es: ¿necesita esto una búsqueda? Esta bifurcación divide las categorías en dos grupos; luego se elige la categoría específica — para las que requieren búsqueda, por el tipo de contenido que devuelve la búsqueda. Cada categoría es un categories/<id>/module.md (sus reglas de planificación y construcción); el vocabulario de movimiento compartido está en references/motion-vocabulary.md (→ reglas/planos hyperframes-animation + bloques del registro).

Categorías de formulario — sin búsqueda; el usuario proporciona el contenido:

CategoríaIntenciónSe apoya en
kinetic-typefrase / cita / título impactante, texto con movimiento prioritariobloques caption-* + reglas de animación
statnúmero único destacado / contador + anilloapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsgráfico de barras / líneas / circular / carrera / % a partir de datosbloque data-chart
logo-revealsecuencia de logo / bloque de marca (logo del usuario)logo-outro / rules/svg-path-draw
lower-thirdsbarras de nombre / título, llamadas, superposiciones socialescaption-* + bloques de superposición del registro
mapsanimación geográfica — resaltar regiones, conectar lugares, zoom a una ubicación (capa vectorial o capa base horneada)familia us-map / world-map + bake-basemap.mjs

Categorías basadas en búsqueda — buscar primero, luego animar según el tipo de contenido (la ruta RWA):

Contenido devueltoCategoríaAnimación
página web / enlacewebpageanimación de página web / UI (scroll, revelar, cursor, llamadas)
artículo de noticiasnewsrevelación de titular + tarjeta de fuente + llamadas de datos clave
tweettweettarjeta de tweet animada
imagen / entidadasset-fusionla geometría del activo se convierte en el gráfico (fusión diegética RWA)

Orden de construcción: uno a la vez, priorizando cobertura (lo tosco está bien). kinetic-type portado del prototipo; el resto sigue.

Prerrequisitos

macOS Apple Silicon o Linux x64. Herramientas del sistema: brew install node ffmpeg. npx hyperframes doctor una vez. Renderizado con GPU en macOS: export PRODUCER_BROWSER_GPU_MODE=hardware.

Claves opcionales (fallbacks locales si no están configuradas) — solo necesarias para categorías que obtienen/generan activos mediante uso de medios:

ClaveUsado paraFallback
GEMINI_API_KEY / GOOGLE_API_KEYgeneración de imágenes (resolución de uso de medios)saltar generación / solo búsqueda
(proveedores de búsqueda / asset_scout)búsqueda de activos reales para webpage/news/tweet + asset-fusionla categoría se degrada a sin activos

Flujo

Paso 0 — Inicializar

cwd es la raíz del workspace del agente; escribe todos los artefactos bajo PROJECT_DIR = videos/<nombre-proyecto>/. <nombre-proyecto>: usa el directorio que el usuario proporcionó, si no, un nombre corto en kebab-case derivado de la intención (<asunto>-motion). No es el nombre base del workspace ni una marca de tiempo.

Solo cuando $PROJECT_DIR/hyperframes.json está ausente:

PROJECT_DIR="${MOTION_GRAPHICS_DIR:-videos/<nombre-proyecto>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank --skill=motion-graphics

init verifica los skills instalados contra la última versión en GitHub y actualiza el conjunto global si alguno está desactualizado.

Restricciones: nunca ejecutar hyperframes init en la raíz del workspace; nunca anidar otro hyperframes/ dentro de PROJECT_DIR; cada comando Bash (maestro + subagentes) es un subshell (cd "$PROJECT_DIR" && ...) — nunca cd simple.

Paso 1 — Planificar (subagente: Director Parte 1)

Despacha un subagente. prompt = agents/director.md completo + ## Contexto de envío (SKILL_DIR / PROJECT_DIR / la solicitud del usuario / Schema: <SKILL_DIR>/references/shot-plan-ir.md). Debe:

  1. Decidir: ¿necesita esto una búsqueda? (la primera bifurcación)
    • No → elegir una categoría de formulario (kinetic-type / stat / charts / logo-reveal / lower-thirds); el contenido lo proporciona el usuario; asset_needs: [].
    • Sí → emitir un plan de búsqueda en asset_needs[] (news / web / tweet / image; consultas de dos polos). La categoría basada en búsqueda específica (webpage / news / tweet / asset-fusion) se confirma por el tipo de contenido devuelto en el Paso 2, y se finaliza en el Paso 3.
  2. Escribir un borrador de shot-plan.json (envoltura + categoría de formulario elegida o intención de búsqueda + asset_needs + un breve párrafo de brief de la toma). Esquema: references/shot-plan-ir.md.

Validación: [ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing.

Paso 2 — Obtener ◇ (Bash: uso de medios, condicional)

Si shot-plan.json.asset_needs no está vacío, resolver activos (buscar / generar / obtener → rutas locales congeladas del proyecto + registro). Ver phases/source/guide.md (envuelve media-use resolve; las categorías basadas en búsqueda usan la búsqueda de news/web/tweet/image). Si asset_needs está vacío, saltar al Paso 3.

# ilustrativo — ver phases/source/guide.md
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/source/resolve.mjs --plan ./shot-plan.json --out ./assets)

Degradar con elegancia: si un proveedor de búsqueda no está disponible, la categoría retrocede a sin activos (anotarlo en context.log).

Paso 3 — Diseñar (subagente: Director Parte 2)

Despachar un subagente (prompt = agents/director.md Parte 2 + contexto de envío incluyendo assets/index.md resuelto si el Paso 2 se ejecutó + catalog-map.md). Diseña la toma en torno a los activos disponibles: elegir el/los bloque(s) del catálogo + las reglas/planos de hyperframes-animation, el layout, la animación, los beats y (para asset-fusion) las element_positions + la paleta de cuentagotas. Finaliza shot-plan.json (content.block + content.customize + contenido por categoría).

Paso 4 — Construir (subagente: Builder, priorizando reutilización)

Despachar un subagente. prompt = agents/builder.md completo + contexto de envío (shot-plan.json, catalog-map.md, el module.md de la categoría, references/motion-vocabulary.md, references/builder-contract.md). Reutilizar primero: npx hyperframes add <bloque> + personalizar en el lugar; escribir a mano solo las brechas + la funcionalidad de fusión de activos. Salida compositions/index.html cumpliendo el contrato HF (línea de tiempo GSAP pausada en window.__timelines, class="clip" + ids estables, tl.seek(0), determinista).

Paso 5 — Verificar (Bash → subagente de reparación en fallo)

(cd "$PROJECT_DIR" && npx hyperframes lint .)
(cd "$PROJECT_DIR" && npx hyperframes check .)
(cd "$PROJECT_DIR" && npx hyperframes snapshot --at <tiempos-prueba>)

Elegir tiempos de prueba que muestren el estado inicial, el movimiento característico y la pausa final. Inspeccionar la hoja de contacto generada o las capturas antes de continuar. En caso de fallo de lint, check o captura, despachar el subagente de reparación (agents/finalize.md) para una pasada de corrección in situ, luego volver a ejecutar la compuerta fallida. Nunca cambiar una duración fija solo para ocultar un defecto.

Paso 6 — Aprobar y renderizar (Bash)

Hacer una pregunta: "¿vista previa o render?". Si el usuario elige vista previa, abrir Studio y volver a la misma compuerta de aprobación después de las revisiones:

(cd "$PROJECT_DIR" && npx hyperframes preview --background)

Renderizar solo después de una respuesta explícita de render:

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q high -o ./renders/video.mp4)
# variante de superposición transparente: --format webm  (o mov)

Verificar que la salida existe, no está vacía y tiene la duración prevista. La entrega final nombra el artefacto, la duración real, el ID de composición o fotograma, los tiempos de prueba y la hoja de contacto inspeccionada o las capturas. Las banderas están en /hyperframes-cli → references/preview-render.md.

Tabla de reanudación

EstadoContinuar desde
no hay shot-plan.jsonPaso 1 (planificar)
shot-plan.json tiene asset_needs, no hay assets/Paso 2 (obtener)
shot-plan.json final, no hay compositions/index.htmlPaso 3/4 (diseñar+construir)
compositions/index.html existe, capturas de prueba ausentesPaso 5 (verificar)
comprobaciones y capturas de prueba pasan, sin render aprobadoPaso 6 (aprobación)
render aprobado existeverificar salida, luego informar

Notas de diseño (mantenedores — la ejecución no lee esto)

  • Razón de "primero activos": la obtención se carga al inicio e informa el diseño de la toma (el flujo RWA: analizar → buscar → revisar → c...

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

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 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

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

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

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

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

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

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

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

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]

Skills relacionados