Communitygithub.com

berhjoan/gráficos-movimiento

Un motion graphic corto y dirigido por el diseño donde el movimiento es el mensaje — tipografía cinética, contadores de estadísticas, gráficos/visualización de datos, presentación de logotipos/marca, barras inferiores/llamadas/superposiciones sociales, mapas animados, tuits/artículos de noticias/titulares animados, animaciones de interfaz de usuario/web, o fusión de la geometría de una imagen real en un gráfico. Generalmente dura menos de 10 segundos (hasta ~30 segundos), sin narración ni sujeto de acción real; se renderiza en MP4 o superposición transparente.

¿Qué es gráficos-movimiento?

Esta skill de agente de IA está diseñada para crear motion graphics cortos, dirigidos por el diseño, y sin narración, donde el movimiento en sí mismo es el mensaje principal. Sigue un flujo de trabajo autónomo paso a paso: desde la planificación inicial y la búsqueda de activos (si es necesario), hasta el diseño, la construcción con bloques de catálogo reutilizables, la verificación automática y el renderizado final. Soporta una variedad de categorías como tipografía cinética, contadores de estadísticas, gráficos de datos, presentaciones de logotipos, barras inferiores, mapas animados, animaciones de páginas web, tuits animados y fusión de activos. El proceso está altamente automatizado: utiliza subagentes para la planificación y la construcción, y se integra con herramientas como HyperFrames y GSAP para la composición y animación. El resultado final es un archivo de video (MP4, WebM o MOV) que se puede entregar directamente, con un enfoque en la reutilización de componentes y la verificación de calidad antes del renderizado.

Compatible con~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/berhjoan/claqueta/tree/HEAD/library/hyperframes-clasico/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 configuración o actualización, siga las reglas de ejecución de plugins cuando esta skill esté dentro de un plugin de HyperFrames. Las instalaciones independientes conservan las instrucciones de actualización a continuación.

Primero, mantenga esta skill actualizada: confirme con el usuario antes de ejecutar: npx hyperframes skills update motion-graphics. Una operación rápida sin cambios cuando todo está actualizado; de lo contrario, actualiza esta skill y las skills del dominio principal de las que depende antes de confiar en ellas.

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

motion-graphics — punto de entrada de despacho

La puerta principal es /hyperframes. Esta skill crea un motion graphic corto, dirigido por el diseño y sin narración (el movimiento es el mensaje; ~menos de 10 segundos, sin voz en off). Cualquier cosa más larga, narrada o de múltiples escenas — o cualquier incertidumbre → lea /hyperframes primero: la capa de intención posee cada decisión de 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 de forma de ejecución; un storyboard y una sesión complementaria agregan poco a una pieza tan corta. El renderizado aún está controlado por el usuario: después de que las comprobaciones y las instantáneas de prueba pasen, abra la vista previa de Studio y haga la pregunta canónica "¿renderizar ahora o qué cambios?" de ../hyperframes/references/brief-contract.md. Cuando exista un BRIEF.md, léalo antes de la pregunta del director.

Un motion graphic corto dirigido por el diseño. Primero los activos: decida la estrategia de activos y obtenga material real antes de diseñar la toma, luego diseñe la toma en torno a lo que tiene, luego componga reutilizando las capacidades del catálogo. Todos los artefactos van a PROJECT_DIR = videos/<project-name>/ (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, resumen)agents/director.md (Parte 1)
fuente ◇Bash — resolución de uso multimedia (saltar si asset_needs está vacío)assets/ + assets/index.mdphases/source/guide.md
diseñosubagente — diseño de toma alrededor de los activos resueltosshot-plan.json (final: bloque(s) + diseño + movimiento + posiciones)agents/director.md (Parte 2)
construirsubagente — composición primero reutilizacióncompositions/index.htmlagents/builder.md
verificarBash — lint, check, instantáneas de prueba; reparar en caso de errorsnapshots/contact-sheet.jpgPaso 5
aprobarAbrir la vista previa; preguntar renderizar o cambios; esperar la respuestaaprobación explícita de renderizadoPaso 6
renderizarBash — hyperframes render (MP4, o --format webm/mov para superposición)renders/video.mp4 o superposición transparentePaso 6

◇ fuente se ejecuta solo cuando la categoría elegida declara activos. Las categorías de solo código/texto (por ejemplo, kinetic-type, la mayoría de charts/stat) tienen asset_needs: [] y saltan directamente del plan al 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 selecciona la categoría específica — para las impulsadas por 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 + construcción); el vocabulario de movimiento compartido vive en references/motion-vocabulary.md (→ reglas/planos de hyperframes-animation + bloques de registro).

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

CategoríaIntenciónSe basa en
kinetic-typelínea/cita/título contundente, texto con movimiento como prioridadbloques caption-* + reglas de animación
statnúmero héroe único / conteo + 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-revealpresentació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 de registro
mapsmovimiento geográfico — resaltar regiones, conectar lugares, acercar a una ubicación (carril vectorial o carril de mapa base horneado)familia us-map / world-map + bake-basemap.mjs

Categorías impulsadas por búsqueda — buscar primero, luego animar por tipo de contenido (la ruta RWA):

Contenido devueltoCategoríaAnimación
página web / enlacewebpageanimación de página web / interfaz de usuario (desplazamiento, revelación, cursor, llamadas)
artículo de noticiasnewsrevelación de titular + tarjeta de fuente + llamadas de datos clave
tuittweettarjeta de tuit 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 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 macOS: export PRODUCER_BROWSER_GPU_MODE=hardware.

Claves opcionales (fallos locales si no están configuradas) — solo las necesitan las categorías que obtienen/generan activos a través del uso multimedia:

ClaveUsado paraFallo
GEMINI_API_KEY / GOOGLE_API_KEYgeneración de imágenes (resolución de uso multimedia)omitir generar / solo búsqueda
(proveedores de búsqueda de activos)búsqueda de activos reales webpage/news/tweet + asset-fusionla categoría degrada a libre de activos

Flujo

Paso 0 — Inicializar

El directorio de trabajo actual es la raíz del espacio de trabajo del agente; escriba todos los artefactos bajo PROJECT_DIR = videos/<project-name>/. <project-name>: use el directorio que el usuario proporcionó, de lo contrario, un nombre corto en kebab-case de la intención (<subject>-motion). No 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/<project-name>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank --skill=motion-graphics

init verifica las skills instaladas con las últimas en GitHub y actualiza el conjunto global si alguna está desactualizada.

Restricciones: nunca ejecute hyperframes init en la raíz del espacio de trabajo; nunca anide 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)

Despache un subagente. indicación = agents/director.md completo + ## 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 forma (kinetic-type / stat / charts / logo-reveal / lower-thirds / maps); el contenido es proporcionado por el usuario; asset_needs: [].
    • Sí → emitir un plan de búsqueda en asset_needs[] (noticias / web / tuit / 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 (envoltura + categoría de forma elegida o intención de búsqueda + asset_needs + un resumen de toma de un párrafo). Esquema: references/shot-plan-ir.md.

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

Paso 2 — Fuente ◇ (Bash: uso multimedia, condicional)

Si shot-plan.json.asset_needs no está vacío, resuelva los activos (búsqueda / generación / obtención → rutas locales fijas del proyecto + registro). Consulte phases/source/guide.md (envuelve media-use resolve; las categorías impulsadas por búsqueda utilizan la búsqueda de noticias/web/tuit/imagen). Si asset_needs está vacío, salte al Paso 3.

Degrade con elegancia: si una búsqueda/proveedor no está disponible, la categoría vuelve a la versión sin activos (anótelo en context.log).

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

Despache un subagente (indicación = agents/director.md Parte 2 + contexto de despacho que incluye el assets/index.md resuelto si se ejecutó el Paso 2 + catalog-map.md). Diseña la toma alrededor de los activos disponibles: elija los bloques de catálogo + las reglas/planos 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: Constructor, primero reutilización)

Incluya los principios de movimiento compartidos en el contexto de despacho del Constructor. Para charts y stat, incluya también datos en movimiento. El Constructor lee estas guías antes de escribir la línea de tiempo.

Despache un subagente. indicación = agents/builder.md completo + contexto de despacho (shot-plan.json, catalog-map.md, module.md de la categoría, references/motion-vocabulary.md, references/builder-contract.md). Primero reutilización: npx hyperframes add <block> + personalizar en su lugar; escribir a mano solo las brechas + la capacidad de fusión de activos. Genere 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 — Verificar (Bash → subagente de reparación en caso de error)

(cd "$PROJECT_DIR" && npx hyperframes check .)
(cd "$PROJECT_DIR" && npx hyperframes snapshot --at <proof-times>)

Elija tiempos de prueba que muestren el estado de apertura, el movimiento característico y la retención final. Inspeccione la hoja de contacto o instantánea generada antes de continuar. En caso de error de lint, check o instantánea, despache el subagente de reparación (agents/finalize.md) para una sola pasada de corrección en el lugar, luego vuelva a ejecutar la puerta fallida. Nunca cambie una duración fija solo para ocultar un defecto.

Paso 6 — Aprobar y renderizar (Bash)

Abra Studio, luego haga una pregunta: "¿renderizar ahora o qué cambios?" Después de las revisiones, regrese a la misma puerta:

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

Renderice solo después de una respuesta explícita de renderizado:

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

Verifique que la salida exista, no esté vacía y tenga la duración prevista. La entrega final nombra el artefacto, la duración real, la composición o el ID del fotograma, los tiempos de prueba y la hoja de contacto o instantánea inspeccionada. Las banderas están en /hyperframes-cli → references/preview-render.md.

Tabla de reanudación

EstadoContinuar desde
sin shot-plan.jsonPaso 1 (planificar)
shot-plan.json tiene asset_needs, sin assets/Paso 2 (fuente)
shot-plan.json final, sin compositions/index.htmlPaso 3/4 (diseñar+construir)
compositions/index.html existe, instantáneas de prueba ausentesPaso 5 (verificar)
comprobaciones e instantáneas de prueba pasan, sin renderizado aprobadoPaso 6 (aprobación)
el renderizado aprobado existeverificar salida, luego informar

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

  • Racionamiento primero los activos

...

[truncado para traducción]

Individual skills in this repo

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

Skills relacionados