/stickman
Convierte un tema en una película de palitos terminada, renderizada enteramente desde código: personajes 2D planos, una paleta al atardecer, trabajo de cámara cinematográfico y sonido real. La habilidad cubre cuatro resultados: el video, el guion de locución, títulos de YouTube y prompts para miniaturas.
Funciona en cualquier lugar donde Claude pueda ejecutar código, incluido el plan gratuito de Claude. No se necesitan herramientas de pago y no se utilizan herramientas de imagen o video con IA. ElevenLabs es opcional y solo para locución. Sin un MP3, la habilidad reproduce el guion por sí misma con una voz gratuita de código abierto (scripts/tts.py, consulta references/free-voice.md), por lo que una película narrada no necesita ElevenLabs en absoluto.
Todo lo siguiente es relativo a la carpeta de esta habilidad (la carpeta que contiene este archivo). Encuentra su ruta absoluta una vez y úsala para cada script. En Claude Code es ${CLAUDE_SKILL_DIR}. Llámalo SKILL en los comandos siguientes. Usa python3, o python en Windows.
Paso 1: Determina lo que se pidió
El usuario puede querer el paquete completo o solo una parte. Haz solo lo que se pidió:
| Solicitud | Acción |
|---|---|
| Ideas de historias | Haz "Ideas de historias" a continuación, luego detente |
| Hacer un video | Pasos 2-6 |
| Escribir un guion de locución | Lee references/script-playbook.md, entrega el guion, detente |
| Convertir un guion en locución | Lee references/free-voice.md, ejecuta tts.py, entrega vo.mp3, detente |
| Títulos o miniaturas | Lee references/packaging-playbook.md, entrega los pares, detente |
| Paquete completo | Guion, luego video, luego títulos y prompts de miniaturas |
Ideas de historias
Si no se especifica la duración, primero pregunta cuánto deben durar los videos. Luego da 5 ideas, numeradas, para que la persona pueda elegir una por su número. Cada idea tiene un nombre corto, una oración simple que dice qué sucede y el final. Ajusta cada idea a esa duración: menos de 20 s significa un personaje y un giro simple. Las ideas deben ser fáciles de animar con lo que hay en references/engine.md, y cada una debe ser original. Más tarde, "haz la idea 3" significa esa idea.
Paso 2: Pregunta antes de construir
A menos que la solicitud ya lo deje claro, pregunta todo junto en un solo mensaje, y usa una herramienta de preguntas si la hay. Omite cualquier cosa ya respondida. Si no hay nadie para responder, usa el valor predeterminado y dilo.
- Estilo: ¿2D o 3D? Por defecto 2D. Ambos usan el mismo aspecto. 3D añade movimientos reales de cámara alrededor de la escena.
- Duración: ¿cuánto tiempo? Por defecto 30 s. Con un MP3, la locución establece la duración.
- Locución: ¿sí o no? Omite esto si se adjunta un MP3. Si es sí, el usuario proporciona un MP3 y su texto de guion, o te pide que escribas un guion para ElevenLabs y vuelvas con el MP3. No se necesita SRT. O bien, el valor predeterminado cuando no hay MP3: la voz gratuita integrada reproduce el guion, ya sea el del usuario o uno que escribas, para que nunca salgan del chat. Pregunta qué voz solo si les importa;
references/free-voice.mdtiene la audición. - Efectos de sonido: ¿sí o no? Por defecto sí.
- Música de fondo: ¿sí o no? Por defecto no. Si es sí, usa su pista subida si hay una, si no, la base musical generada por código.
- Storyboard: ¿quieres ver un storyboard primero? Siempre pregunta esto a menos que la solicitud ya lo diga. Si no hay nadie para responder, omítelo.
No asumas música, efectos ni voz. El ambiente de una habitación silenciosa no es música.
Paso 3: Configuración
python3 SKILL/scripts/doctor.py
python3 SKILL/scripts/new_film.py film # añade --3d para 3D
doctor.py instala cualquier cosa que falte. Si Chromium no puede ejecutarse en absoluto, ve a "Si el renderizado no es posible".
Voz gratuita: hazla ahora, antes de planificar, porque la voz define la sincronización. Guarda el guion como film/script.txt, luego ejecuta python3 SKILL/scripts/tts.py film film/script.txt --voice am_michael y establece VOICE = "vo.wav" en film/audio_mix.py. Detalles en references/free-voice.md.
Luego lee, en este orden:
references/style-bible.md: el aspecto y las reglas que nunca se doblan.references/production.md: el camino rápido y las trampas conocidas.references/engine.md: el conjunto de herramientas, para que lo reutilices en lugar de redibujar.references/film-craft.md: historia y planos para películas sin palabras o cortas.
También lee cuando sea relevante: references/script-playbook.md para escribir un guion, references/free-voice.md para la voz gratuita integrada, references/voiceover.md para un MP3, references/sound.md para la mezcla, references/symbolic-beats.md para películas de aproximadamente un minuto o más, references/3d.md para 3D.
Paso 4: Planifica la película
Escribe esto antes de cualquier código de dibujo, porque planificar dentro del código produce diapositivas, no películas:
- Una oración que un espectador distraído entendería.
- Una hoja de ritmos donde cada ritmo tiene una acción, un sentimiento, una cámara y un sonido.
- Un mundo: una lista de posiciones fijas para cada personaje y utilería. Cada plano es solo una cámara en ese mundo.
- Una lista de planos con fotogramas de corte, no segundos. Apunta a 8-11 planos por cada 30 s, e incluye un plano general que muestre la geografía.
- El momento de la miniatura, si se pidió un paquete, para que exista como una escena real.
Si se solicitó un storyboard, sigue "Storyboard" en el Paso 5 antes de renderizar.
Paso 5: Construye
- Reemplaza
film/film.js, manteniendo los archivos del motor. Comienza desde los patrones en la película inicial. - Verifica fotogramas fijos en los momentos más ocupados y visualiza la imagen:
python3 SKILL/scripts/stills.py film sheet.jpg 1 4.5 9 .... Dos rondas es normal. - Storyboard, si se solicitó. Ejecuta
python3 SKILL/scripts/storyboard.py film. Escribefilm/storyboard.jpg, una vista previa numerada por plano, dibujada por el mismo código que la película final. Muestra a la persona una tabla con una fila por plano (plano, tiempo, qué sucede, cámara, sonido), y muestra o envía la imagen. Si no se pueden mostrar imágenes aquí, envía el archivo, o da solo la tabla y dilo. Luego detente y espera. Cambia la película según lo que pidan, vuelve a ejecutar el storyboard si cambió mucho, y renderiza solo después de que aprueben. - Edita el bloque marcado de
film/audio_mix.pypara que coincida con el resumen de sonido. - Renderiza, mezcla, une y audita con un solo comando:
python3 SKILL/scripts/build.py film --out my-film.mp4
Ejecuta esto en segundo plano si el entorno limita el tiempo del comando, y haz poll. Ejecutar el mismo comando de nuevo reanuda, porque cada plano es su propio archivo. Después de una corrección, usa --shots 3 7 para rehacer solo esos planos, o --audio-only para remezclar el sonido.
Paso 6: Verifica y entrega
build.py termina con la auditoría. Corrige cada PROBLEMA, o indica por qué un momento marcado es intencional. Luego visualiza film/contact_sheet.jpg, que proviene del archivo codificado. Verifica estos a ojo, porque la auditoría no puede:
- Los rostros se leen como la emoción prevista y las cejas no están accidentalmente enojadas.
- Las manos tocan lo que sostienen y nada cruza una cara.
- Los brazos se doblan en la dirección correcta en cada caminata.
- Las puertas se abren primero y luego el personaje entra.
- Los personajes mantienen la misma distancia de los objetos de un plano a otro.
- Sin círculos decorativos en ningún lugar.
Entrega el MP4 con una nota breve. Di claramente que no puedes escuchar la mezcla: la mediste, por lo que el usuario debería escucharla. No afirmes comprobaciones que no ejecutaste. Si el usuario pidió títulos y miniaturas, añade los pares del manual de empaquetado.
Si el renderizado no es posible
Si no hay ejecución de código o navegador disponible, ejecuta python3 SKILL/scripts/bundle_player.py film cuando puedas, lo que escribe un archivo HTML que reproduce la película y graba un WebM en tiempo real. Si no puedes ejecutar nada, di qué falta y ofrece el guion, títulos y prompts de miniaturas, que no necesitan renderizado. Nunca renombres un WebM a MP4.
Reglas de originalidad
Los videos de referencia, títulos, miniaturas o transcripciones que un usuario comparte son solo para patrones generales: duración, redacción, estructura, ritmo. Nunca copies ni guardes nada específico del trabajo de otra persona, y nunca reutilices una premisa, personaje, trama, línea o aspecto. Cada película tiene su propia historia.