Communitygithub.com

Motion Replicate — desde un enlace de referencia hasta una reco…

Se usa cuando el usuario pega un enlace de Pinterest, Behance, Dribbble, Vimeo, YouTube o un enlace de video directo (o arrastra un archivo de video) y desea recrear la animación en After Effects. Obtiene o muestrea la referencia, mide el tiempo y el movimiento, la reconstruye con fotogramas clave editables y compara fotograma a fotograma hasta que coincida.

¿Qué es Motion Replicate — desde un enlace de referencia hasta una reco…?

Motion Replicate es una habilidad especializada para agentes de IA que permite recrear animaciones en After Effects a partir de enlaces de referencia o archivos de video. La habilidad comienza descargando o muestreando la referencia (soporta Pinterest, Behance, Dribbble, Vimeo, YouTube y enlaces directos de video), luego mide meticulosamente el timing, las posiciones, escalas y rotaciones de cada elemento en movimiento usando herramientas de análisis de fotogramas y energía de movimiento. Con estas medidas, reconstruye la animación en After Effects con fotogramas clave con interpolación Bézier, comparando luego fotograma a fotograma con la referencia original hasta que el usuario queda satisfecho. La habilidad está diseñada para plataformas como Claude Code, Cursor y Codex, y sigue estrictamente la regla de 'medir antes de construir', documentando todos los números y fotogramas clave en el proceso.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/itswenxin/motion-agent/tree/HEAD/agent-skills/motion-replicate

Preguntar en tu IA favorita

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

Documentación

Motion Replicate — desde un enlace de referencia hasta una reconstrucción editable en AE

Lee primero las secciones "Cinco causas raíz de fallos al replicar una referencia" y "Replicar una referencia: primero mide fotograma a fotograma, luego construye" del archivo skill/SKILL.md. La regla: mide antes de construir. Cada número en la reconstrucción proviene de la referencia.

1. Obtén la referencia

python3 tools/fetch_reference.py "<enlace>" --slug <nombre-corto>
  • Pinterest (pin.it o /pin//): descarga el video del pin a través de la API pública de widgets de Pinterest, incluyendo pins de ideas/historias. Si el pin es solo una imagen, la herramienta lo indica e imprime el enlace externo: el movimiento real suele estar ahí (una publicación de Instagram o Behance). Sigue ese enlace.
  • Enlace de video directo (.mp4/.mov/.webm/.gif): se descarga tal cual.
  • Behance, Vimeo, YouTube, sitios de portafolio: a menudo rechazan solicitudes de línea de comandos (código de salida 3) o incrustan un reproductor. En ese caso, observa en lugar de descargar:
    1. Abre la página del proyecto en el navegador y lista los reproductores: [...document.querySelectorAll('iframe,video')].map(n => n.src || n.currentSrc).
    2. Abre la URL del reproductor (por ejemplo, https://player.vimeo.com/video/<id>), pega tools/browser_frame_sampler.js en la consola JavaScript del navegador, ejecuta await motionAgentSample({ fps: 12 }), luego toma una captura de pantalla: obtendrás una hoja de contactos con marcas de tiempo y la energía de movimiento por fotograma. await motionAgentShowFrame(t) + captura de pantalla da un fotograma a resolución completa para medir posiciones.
    3. Guarda las capturas de pantalla y el JSON devuelto en refs/<slug>/.
  • Nunca omitas inicios de sesión, muros de pago ni comprobaciones de bots, y nunca falsifiques encabezados para descargar archivos protegidos. Si una página te bloquea, usa la ruta del navegador o pide al usuario que descargue el clip.

Todo lo que esté en refs/ está ignorado por git. Los videos de referencia pertenecen a sus creadores: nunca los confirmes ni publiques sus fotogramas; acredita al creador (meta.json) en el caso.

2. Mide

python3 tools/analyze_reference.py refs/<slug>/reference.mp4 --fps 24

Lee refs/<slug>/ANALYSIS.md: tamaño, velocidad de fotogramas, duración, pausas, cortes, momentos más rápidos, si tiene bucle, paleta, más una hoja de contactos y un gráfico de energía de movimiento. Luego mide cada elemento en movimiento desde frames/ (posiciones en píxeles, escala, rotación en su inicio, final y puntos de inflexión; tools/measure.py ayuda) y escribe una especificación breve: elemento → fotogramas clave (tiempo, valor) → forma de la velocidad (facilidad de entrada / salida / ambas, rebasamiento).

Informa al usuario en 3–5 líneas lo que mediste y cómo lo construirás antes de construir.

3. Reconstruye en After Effects

  • Comp al tamaño y velocidad de fotogramas de la referencia (escala ×2 para referencias pequeñas, y dilo).
  • Abre la composición en el visor y mueve el cabezal de reproducción mientras trabajas, para que el usuario pueda observar.
  • Fotogramas clave con interpolación Bézier primero (velocidad/influencia explícitas que reproduzcan la curva de velocidad medida); expresiones solo cuando los fotogramas clave no puedan hacerlo.
  • Una palabra corta por nombre de composición y capa.
  • Guarda una copia de seguridad antes de cada cambio estructural.

4. Compara e itera

Renderiza las mismas marcas de tiempo que los fotogramas de referencia y colócalos lado a lado:

python3 tools/sheet.py "<nuestro patrón de fotogramas>" refs/<slug>/compare.png --pair "refs/<slug>/frames/f_*.jpg"

Verifica el timing (las pausas y cortes caen en los mismos fotogramas), las posiciones (dentro de unos pocos píxeles a la misma escala), la forma de la velocidad y el color. Corrige primero la discrepancia más grande y vuelve a comparar. Informa cada ronda con la hoja de comparación. Detente cuando el usuario esté satisfecho.

5. Conserva lo aprendido

Cuando el usuario confirme el renderizado, ejecuta agent-skills/motion-retrospective. El caso acredita al creador original y al enlace fuente, incluye solo los fotogramas de nuestra propia reconstrucción, y registra los números medidos y los fotogramas clave que los reprodujeron.

Individual skills in this repo

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

Skills relacionados