Communitygithub.com

nnesu/animated-shorts

Crea un video corto animado vertical estilo caricatura 2D en mundo 3D pintado (unos 40-90 s) con narración de voz, efectos de sonido CC0 gratuitos y música por escenas, renderizado con three.js dentro de Remotion a 1080x1920.

¿Qué es animated-shorts?

Esta habilidad permite a un agente de IA crear videos cortos animados de estilo caricatura 2D en un mundo 3D pintado, de unos 40 a 90 segundos de duración, a partir de una historia real sorprendente narrada con voz. El proceso incluye desde la investigación de una historia y su guionización hasta la generación de la voz, la construcción del mundo 3D con personajes y accesorios usando three.js, la grabación de efectos de sonido y música, y el renderizado final con Remotion en formato vertical 1080x1920 a 30 fps. El agente utiliza una canalización estricta de 12 pasos que garantiza la coherencia visual y auditiva, con pausas para aprobación del usuario en el guion y en los fotogramas clave antes del render final. La habilidad está documentada para ejecutarse desde la raíz del proyecto en Bash y requiere archivos de referencia detallados que el agente debe consultar en cada etapa. Está diseñada para plataformas como Claude Code, Cursor o Codex, donde el agente puede ejecutar comandos, leer y editar archivos, y gestionar el flujo de trabajo de forma autónoma, siempre que el usuario solicite explícitamente un video corto animado con este estilo.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nnesu/animated-shorts/tree/HEAD

Preguntar en tu IA favorita

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

Documentación

Video corto de historia animada 3D estilo caricatura (three.js + Remotion)

Los comandos se ejecutan desde la raíz del proyecto, en Bash (no PowerShell). references/ y templates/ son relativos a esta habilidad; SK = .claude/skills/cartoon-3d-short.

Los videos terminados en src/videos/ nunca se editan. No los leas para aprender el código: references/API.md es el mapa.

references/STYLE_BIBLE.md y references/reports/ son material de estudio de otro canal. Nunca copies los scripts, personajes o tomas de ese canal, ni lo nombres en una narración o descripción.

Reglas

  • Sin subtítulos ni etiquetas. Solo inglés. Un tono de voz constante. Los chistes son hechos reales investigados.
  • Cada toma oculta el horizonte detrás de edificios, árboles con arbustos de 2-3 m en los huecos del tronco, o una colina lejana. Llena solo lo que la cámara ve. Los escenarios son ricos: multitudes, adornos, texturas, banderas.
  • La exportación final es 1080x1920 a 30 fps, nunca --scale.
  • Mezcla: voz, efectos de sonido CC0 gratuitos unos 6 dB por debajo, pistas musicales por escena (nunca una pista continua) con reducción de volumen bajo la voz, toda la mezcla a -15 LUFS.
  • Aprobación permanente para efectos de sonido y modelos 3D gratuitos sin derechos de autor: verifica la licencia en la página del archivo, omite atribución / no comercial / compartir igual, regístralo en _sfx/LICENSES.md, indica qué descargaste y su tamaño. Pregunta antes de inicios de sesión, pagos, otras descargas, o ejecutar un paquete que no esté instalado.
  • Lista de verificación de fotogramas fijos (references/QA.md): agente Opus-medium en el primer conjunto completo y una vez más antes del render, tus propias revisiones intermedias, luego el usuario aprueba los fotogramas. Ninguna puntuación absoluta es un bloqueo.
  • Las correcciones re-renderizan solo las partes modificadas (--redo), nunca el video completo.
  • Guarda después de cada paso. Dos pausas para el usuario: aprobación del guion y aprobación de los fotogramas finales antes del render final. De lo contrario, trabaja hasta la entrega sin preguntar.

Canalización

  1. Tema y datos. Una historia real sorprendente con causa y efecto visual y físico, más una analogía cotidiana. Los datos con fuentes van al principio de src/videos/<nombre>/SCRIPT.md.
  2. Guion. La duración sigue a la historia. Conteo de palabras = segundos x palabras/s, medido a partir de una muestra de una oración de la voz elegida (sin muestra: asume 3 y verifica después de la toma). Ritmo: gancho (dato absurdo, una línea), ambientación (año, lugar, orgullo), acción (3-4 ritmos crecientes), chasquido, tono muerto ("Por suerte... / Por desgracia..."), explicación (una idea, analogía cotidiana), consecuencia, giro de llamada. Nunca describas lo que el espectador ya ve. Solo diseño: templates/SCRIPT_example.md. Detente aquí hasta que el usuario apruebe el guion.
  3. Voz. El usuario genera la toma en _voiceover/<nombre>/voice_raw.wav. Luego python scripts/voice_trim.py _voiceover/<nombre>/voice_raw.wav _voiceover/<nombre>/voice.wav y python scripts/words_whisper.py _voiceover/<nombre>/voice.wav _voiceover/<nombre>/words.json. Todo está sincronizado con words.json: nunca lo leas, imprímelo como palabra@fotograma y corrige palabras incorrectas con un script corto. Actúa según la línea de pausas mantenidas (references/GOTCHAS.md "Voz").
  4. Carpeta de video. Copia los cuatro archivos de templates/starter/ en src/videos/<nombre>/, renombra Short.tsx a <Nombre>.tsx y StarterShort / STARTER_FRAMES dentro de él, registra la composición en src/Root.tsx. Contienen solo datos de la historia más una demostración de 2 tomas marcada EXAMPLE; el motor está en src/shared/. Lee references/API.md antes de editar. Si src/shared/ o scripts/ falta o no tiene un archivo, cópialo desde templates/shared/ o templates/scripts/.
  5. Barrido de accesorios. Para cada ritmo, busca en public/kenney/INDEX.txt y tabula las selecciones en src/videos/<nombre>/PROPS.md. Accesorio faltante: descarga un paquete CC0 gratuito (references/GOTCHAS.md) en public/kenney/<paquete>/, agrégalo a INDEX.txt, añade <paquete>/<modelo> a KENNEY en world.ts.
  6. Plan de tomas en story.ts: TOTAL = redondear(segundos de voz x 30), luego SHOTS, XFADE, FLASH_AT, CAMS, KICKS, DOF_V2. Las reacciones visuales caen 0-3 fotogramas antes de su palabra. Cada plano fijo se mueve lentamente. Cada movimiento en bucle recibe un tiempo de cambio explícito.
  7. Construye las tomas reemplazando las partes EXAMPLE. La apariencia de la casa está integrada en el motor (references/LOOK.md); nunca edites src/shared/ para un video.
    • Mundo (world.ts): escenarios, accesorios, materiales, accesorios en movimiento en pose(). El cielo, las luces, el pueblo, el puerto, el sol y la eliminación de la línea de visión provienen del motor. Pasa keep = true a prop() para accesorios principales.
    • Personajes (cast.ts): vestimentas y un caso stage() por puesta en escena. Las tarjetas, contornos, parpadeos y sombras provienen del motor.
    • Composición (<Nombre>.tsx): solo nombre y poolShots. La cadena de postprocesado (tinta, desenfoque de lente, floración, mapa de tonos, gradación) está en el motor.
  8. Verificación de fotogramas fijos, antes de cualquier render largo (references/QA.md): fotograma fijo de mitad de cada toma, verificaciones con script, verificación del agente, corrección y autoverificación, segunda verificación del agente, corrección y autoverificación. Detente aquí hasta que el usuario apruebe los fotogramas fijos.
  9. Preparación de sonido (references/SOUND.md): eventos SFX en _sfx/<nombre>_events.json, pistas musicales en _sfx/<nombre>_music_cues.json.
  10. Render final (references/RENDER.md): REMOTION_TMP=C:/remotion-tmp node scripts/render_chunks.mjs <Comp> out/<nombre>/video.mp4 <TOTAL>.
  11. Mezcla y QA. Ensambla la música (music_cues.py, ver references/SOUND.md), luego python SK/templates/audio/build_mix.py _voiceover/<nombre>/voice.wav out/<nombre>/video.mp4 out/<nombre> _sfx/<nombre>_events.json [_sfx/<nombre>_music.wav] escribe video_final.mp4. Luego python scripts/bridge_shots.py src/videos/<nombre>/story.ts out/<nombre>/shots.json y python scripts/short_qa.py out/<nombre>/video_final.mp4 out/<nombre>/qa out/<nombre>/shots.json --voice _voiceover/<nombre>/voice.wav, que debe salir con código 0. Corrige con render_chunks.mjs ... --redo A-B,C-D, luego mezcla y QA de nuevo. Notas del usuario sobre el video final: references/QA.md "Revisión del usuario".
  12. Entrega. Envía video_final.mp4 (más de 30 MB: una vista previa más pequeña más la ruta), elimina las carpetas del paquete de este video en C:/remotion-tmp, actualiza la memoria.

Archivos de referencia

ArchivoLeer cuando
references/QA.mdverificación de fotogramas, indicación de lista de verificación, short_qa
references/SOUND.mdbibliotecas de SFX, pistas musicales, mezcla
references/RENDER.mdconfiguración de render, bucle de parches, reanudación
references/API.mdantes de editar los archivos de inicio: qué va dónde, firmas de funciones
references/GOTCHAS.mdvoz, accesorios y escenarios, trampas de encuadre, este PC
references/LOOK.mdvalores de apariencia de la casa, reglas de cámara y personajes
references/LOOK_MATCH.mdsolo para la apariencia de referencia original o una pasada de coincidencia de apariencia
references/house/GRADER_PROMPT.mdcomparación por pares A/B, solo al cambiar la apariencia

Cambiar la habilidad en sí (documentos, inicio, motor, scripts): lee MAINTAINING.md primero.

Skills relacionados