Communitygithub.com

motion-graphics — entrada de despacho

Úsalo cuando quieras un motion graphic corto, con diseño y sin narración, donde el movimiento es el mensaje: tipografía cinética, conteo de estadísticas, visualización de datos, logotipos, tercios inferiores, superposiciones sociales, titulares animados, etc. Generalmente dura menos de 10 segundos y hasta ~30, sin arco narrativo, voz en off o sujeto en vivo. Puede renderizarse como MP4 o superposición transparente.

¿Qué es motion-graphics — entrada de despacho?

Esta skill produce motion graphics cortos y con diseño, donde el movimiento es el mensaje principal. Está pensada para piezas como tipografía cinética, estadísticas animadas, gráficos de datos, animaciones de logotipos, tercios inferiores, superposiciones sociales, titulares de noticias animados o pósteres en movimiento. No incluye narración, voz en off, ni actores en vivo, y la duración suele ser menor a 10 segundos, pudiendo llegar a 30. El proceso es secuencial y está completamente guiado por archivos de configuración. Primero se clasifica la solicitud y se decide si se necesita una búsqueda de activos. Luego se diseñan los planos alrededor de los activos disponibles (ya sean proporcionados por el usuario o buscados automáticamente), se construye la composición reutilizando bloques del catálogo, y finalmente se renderiza en MP4 (o WebM/MOV para superposiciones). La habilidad se apoya en una arquitectura de subagentes (Director para el diseño, Builder para la composición) y en comandos CLI con el ecosistema `hyperframes` (inicialización, render, lint, preview). La guía de ejecución (SKILL.md) detalla cada paso, los criterios de bifurcación (con o sin búsqueda), las categorías de piezas y las reglas de reanudación del flujo.

Compatible con~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/The-Ai-automation-Queen/content-system/tree/HEAD/skills/hyperframes/motion-graphics

Preguntar en tu IA favorita

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

Documentación

¿Qué hace motion-graphics — entrada de despacho?

Confirma la ruta antes del Paso 0. Esta skill crea un motion graphic corto, de diseño y sin narración (el movimiento es el mensaje; ~menos de 10s, sin voz en off). Un tratamiento más largo, de varias escenas o narrado → /general-video; un video narrado de un sitio web → /website-to-video; un explicador de temas → /faceless-explainer; una promoción de producto → /product-launch-video; subtítulos en material existente → /embedded-captions. Fuera de alcance: datos en vivo o renderizados en el momento, o material que no pueda capturar. ¿No estás seguro si es un motion-first o narrado? Lee primero /hyperframes.

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

FaseEjecuciónArtefacto principalFlujo detallado
initBashhyperframes.jsonPaso 0
plansubagente — ¿decidir búsqueda? + clasificar + estrategia de activosshot-plan.json (borrador: categoría, asset_needs consultas, brief)agents/director.md (Parte 1)
source ◇Bash — resolver media-use (omitir si asset_needs está vacío)assets/ + assets/index.mdphases/source/guide.md
designsubagente — diseño del plano alrededor de los activos resueltosshot-plan.json (final: bloque(s) + diseño + movimiento + posiciones)agents/director.md (Parte 2)
buildsubagente — composición con reutilización primerocompositions/index.htmlagents/builder.md
renderBash — hyperframes render (MP4, o --format webm/mov para superposición)renders/video.mp4Paso 5
verifyBash — lint / inspect -> subagente de reparación en fallo(correcciones in situ)agents/finalize.md

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

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

La primera decisión de plan es: ¿esto necesita una búsqueda? Esa bifurcación divide las categorías en dos grupos; luego se elige la categoría específica — para las impulsadas por búsqueda, según el tipo de contenido que devuelva 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 reside en references/motion-vocabulary.md (→ reglas/blueprints de hyperframes-animation + bloques de registro).

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

CategoríaIntenciónSe apoya en
kinetic-typelínea contundente / cita / título, texto con movimientobloques caption-* + reglas de animación
statnúmero heroico único / conteo + anilloapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsbarras / líneas / circulares / carrera / % a partir de datosbloque data-chart
logo-revealanimación de logotipo / bloque de marca (logotipo del usuario)logo-outro / rules/svg-path-draw
lower-thirdsbarras de nombre / título, llamadas, superposiciones socialescaption-* + bloques de superposición del registro

Categorías impulsadas por 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 / interfaz (desplazamiento, revelado, cursor, llamadas)
artículo de noticiasnewsrevelado 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, primero la cobertura (lo aproximado 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 GPU en macOS: export PRODUCER_BROWSER_GPU_MODE=hardware.

Claves opcionales (fallbacks locales si no se establecen) — solo las necesitan categorías que obtienen/generan activos a través de media-use:

ClaveUsado paraFallback
GEMINI_API_KEY / GOOGLE_API_KEYgeneración de imágenes (resolución media-use)omitir generar / solo búsqueda
(asset_scout / proveedores de búsqueda)búsqueda de activos reales en webpage/news/tweet + asset-fusionla categoría se degrada a sin activos

Flujo

Paso 0 — Inicializar

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

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

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

init verifica las skills instaladas contra las más recientes en GitHub y actualiza el conjunto global si alguna está desactualizada.

Restricciones: nunca ejecutes hyperframes init en la raíz del espacio de trabajo; nunca anides otro hyperframes/ dentro de PROJECT_DIR; cada comando Bash (maestro + subagentes) es una subshell (cd "$PROJECT_DIR" && ...) — nunca cd directo.

Paso 1 — Planificar (subagente: Director Parte 1)

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

  1. Decidir: ¿esto necesita 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[] (noticias / web / tweet / imagen; consultas de dos polos). La categoría impulsada por 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 (sobre + categoría de formulario elegida o intención de búsqueda + asset_needs + un breve de plano de un párrafo). Esquema: references/shot-plan-ir.md.

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

Paso 2 — Obtener ◇ (Bash: media-use, condicional)

Si shot-plan.json.asset_needs no está vacío, resuelve activos (buscar / generar / obtener → rutas locales congeladas del proyecto + registro). Ver phases/source/guide.md (envuelve media-use resolve; las categorías impulsadas por búsqueda usan la búsqueda de noticias/web/tweet/imagen). Si asset_needs está vacío, salta 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)

Degrada con elegancia: si una búsqueda/proveedor no está disponible, la categoría vuelve a un estado sin activos (anótalo en context.log).

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

Despacha un subagente (prompt = agents/director.md Parte 2 + contexto de despacho incluyendo el assets/index.md resuelto si se ejecutó el Paso 2 + catalog-map.md). Diseña el plano en torno a los activos disponibles: elige el/los bloque(s) del catálogo + las reglas/blueprints de hyperframes-animation, el diseño, el movimiento, los tiempos 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, reutilización primero)

Despacha un subagente. prompt = contenido completo de agents/builder.md + contexto de despacho (shot-plan.json, catalog-map.md, el module.md de la categoría, references/motion-vocabulary.md, references/builder-contract.md). Reutilización primero: npx hyperframes add <block> + personalizar in situ; escribe a mano solo los huecos + la funcionalidad de fusión de activos. Salida compositions/index.html respetando el contrato HF (línea de tiempo GSAP pausada en window.__timelines, class="clip" + ids estables, tl.seek(0), determinista).

Paso 5 — Renderizar (Bash)

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

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

(cd "$PROJECT_DIR" && npx hyperframes lint . && npx hyperframes inspect .)

salida 0 → listo. Si hay errores de lint/inspect, despacha el subagente de reparación (agents/finalize.md: instantánea de QA + una pasada de corrección in situ + re-renderizado). Nunca cambies una duración fija en la reparación.

Informe + vista previa opcional

Informa la salida final (renders/video.mp4, o la variante .webm / .mov de superposición) + duración. No abras una vista previa durante la ejecución. Ofrece una solo a petición, iniciada después del renderizado para que sirva el archivo final:

(cd "$PROJECT_DIR" && npx hyperframes preview)   # Studio UI; o `npx hyperframes play` para un enlace compartible

Las banderas viven en la skill 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, no hay renders/video.mp4Paso 5 (renderizar) + Paso 6
renders/video.mp4 existeInformar + detener

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

  • Justificación de primero los activos: la obtención se carga al frente e informa el diseño del plano (el flujo RWA: analizar → buscar → revisar → componer). Las categorías impulsadas por búsqueda (webpage/news/tweet) y asset-fusion se apoyan en la búsqueda de media-use (noticias/web/tweet/imagen), que es el linaje RWA documentado de media-use.
  • Reutilización primero: el análogo dentro del ecosistema de las plantillas generadas por LLM es "componer bloques del catálogo + reglas de hyperframes-animation". La línea de tiempo GSAP pausada de HF equivale a useCurrentFrame de Remotion.
  • Contrato del módulo de categoría: un categories/<id>/module.md (planificación + construcción), que comparte references/motion-vocabulary.md (+ evaluación opcional). Agregar una categoría = soltar la carpeta + registrar su línea clasificadora en agents/director.md + su fila en catalog-map.md; la canalización de fases no se toca.
  • Estructura de directorio:
    videos/<nombre-del-proyecto>/
      hyperframes.json  context.log
      shot-plan.json            # el IR (salida del Director)
      assets/  assets/index.md  # salida de media-use (si se obtuvo)
      compositions/index.html   # salida del Builder
      renders/video.mp4
    
  • Registro: en el enrutador de hyperframes — agregar la intención "motion graphic corto de diseño" + descripción del Workflow; tallar los disparadores de motion-graphics fuera de /general-video; agregar bordes inversos de NO-UTILIZAR. Ver motion-graphics-genre.md §5-7.

Skills relacionados