Communitygithub.com

promo-video

Crea un vídeo promocional / de lanzamiento de producto sincronizado con el ritmo, de principio a fin, con un humano supervisando: elige música (Epidemic Sound 'Create a cut'), diseña el storyboard, escribe el guion de tomas y un guion de voz con ElevenLabs, edita la toma de voz recibida y construye el vídeo en Remotion (renders de three.js, réplicas de la interfaz del producto, cámara virtual push/pull/pan, cada corte al ritmo). Úsalo cuando el usuario quiera un vídeo promocional, tráiler, vídeo de lanzamiento, teaser de producto, anuncio con gráficos en movimiento, o pida sincronizar vídeo con música o generar un storyboard + guion de voz.

¿Qué es promo-video?

Esta skill permite crear un vídeo promocional profesional y sincronizado con la música, siguiendo un flujo de trabajo de seis etapas, cada una con una revisión humana antes de avanzar. Está diseñada para agentes de IA como Claude Code, Cursor o Codex, y automatiza tareas como el análisis musical (encuentra el BPM real y los marcadores rítmicos), la escritura de storyboards y guiones de voz, la edición de tomas de voz y la construcción del vídeo final en Remotion con gráficos Three.js, réplicas de interfaz de usuario y efectos de cámara virtual. La skill maneja la automatización del navegador para Epidemic Sound y ElevenLabs solo si el usuario lo autoriza, respetando siempre que las decisiones finales (la pista musical y la voz) las tome el humano. Incluye herramientas para análisis musical, edición de voz, revisión de vídeo y generación de proyectos Remotion, y sigue reglas estrictas: todo el contenido mostrado debe ser real, la música es el reloj maestro, y se deben verificar los fotogramas con imágenes estáticas antes de renderizar completamente.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add NiJingzhe/promo-video-skill

Preguntar en tu IA favorita

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

Documentación

¿Qué hace promo-video?

Una película se crea en seis etapas. Cada etapa termina con algo que el humano revisa. No te adelantes: la etapa costosa (la construcción) solo es barata si las anteriores están resueltas, porque cada evento visual se coloca en relación con la música y la voz.

Dile el plan al humano una vez al inicio (README.md tiene la versión para el humano), luego ejecuta las etapas en orden. Háblale en su idioma. Mantén todos los archivos del proyecto en un directorio (<project>/: audio/, vo/, PLAN.md, elevenlabs.md, el proyecto Remotion en video/).

#EtapaTú hacesHumano haceReferencia
1Músicaanaliza la pista, encuentra el tempo real y los marcadores duroselige la pista en Epidemic Sound, usa Create a cut para la duración, te da el archivoreferences/01-music.md
2Storyboardhaz las preguntas guía, escribe PLAN.md (tabla de tomas sincronizada con la música)responde, apruebareferences/02-storyboard.md
3Guion de vozescribe las líneas + la toma etiquetada de ElevenLabsla genera en ElevenLabs, envía el archivoreferences/03-voiceover.md
4Editar la vozabre cut_ui.py en la toma, luego divide, nivela, coloca cada líneahace clic entre las líneas en la página del navegador, presiona Hecho; revisa la tabla de colocaciónreferences/03-voiceover.md
5Construcciónproyecto Remotion desde template/, escena por escena, revisa cada una con imágenes fijasrevisa imágenes fijas / un render borradorreferences/04-build.md
6Revisión y pulidorenderiza, verifica el volumen, abre review_ui.py en el render, lee sus notas y fotogramas, corrige, re-renderizamira en la página de revisión, deja notas en la imagen, elige Aprobado / Necesita cambiosreferences/05-review.md

Automatización del navegador: ofrécela, nunca la asumas

Las etapas 1 y 3 ocurren en sitios web (Epidemic Sound, ElevenLabs). Si hay disponible una herramienta o skill de automatización del navegador (ej. ego-browser, una configuración de Playwright, un MCP de navegador), ofrécete a hacer esas partes tú mismo, y di claramente lo que eso implica antes de pedir un sí:

  • Cuentas: ambos sitios requieren una cuenta (Epidemic Sound es una suscripción de pago con prueba; ElevenLabs tiene un nivel gratuito con un límite mensual de caracteres). Si el humano no tiene ninguna, él se registra: tú no creas cuentas.
  • Coste: ElevenLabs cobra por caracteres; una película de 40-60 s son ~600-1000 caracteres, y cada regeneración se cobra de nuevo. Las descargas de Epidemic cuentan contra el plan. Indícales el gasto esperado y pregunta primero.
  • Inicio de sesión y pago son del humano: entrega el navegador (task.handOff() en ego-browser) para el inicio de sesión, 2FA, captchas y cualquier pantalla de pago; reanuda después de que digan que han terminado. Nunca escribas su contraseña, nunca introduzcas ni almacenes datos de tarjeta, nunca pegues su clave API en una página o archivo.
  • Lo que puedes hacer después de un sí: buscar/filtrar pistas por el estado de ánimo y BPM acordados y abrir candidatos para que las escuchen (ellos eligen), hacer clic en Create a cut con la duración objetivo y descargar el resultado; pegar la toma de elevenlabs.md, aplicar la voz y los ajustes que eligieron, generar una vez, descargar el mp3.
  • Sin dicha herramienta, o si rechazan: dales los pasos exactos (documentos de las etapas 1 y 3) y espera el archivo.

Las decisiones siguen siendo suyas: la pista y la voz nunca se eligen por ellos.

Reglas básicas (aprendidas por las malas)

  1. Todo lo mostrado es real. Mallas de ejemplo reales (teselar el CAD/STEP real), código y API reales en paneles de código, la interfaz reconstruida a partir de los propios componentes frontend del producto. El contenido de aspecto falso es lo único que los espectadores notan. Si no puedes obtener lo real, dilo y pregunta, no lo inventes.
  2. La música es el reloj. Mide el tempo real (scripts/music_analyze.py lo ajusta; un BPM adivinado que está un 1,2 % desviado coloca un empalme a un tercio de un tiempo fuera y el humano oye un tropiezo). Todos los tiempos viven en src/marks.ts; las escenas los importan, nunca codifiques segundos.
  3. Confirma los pasos externos o costosos: el archivo de música y la voz los elige el humano; tú nunca los eliges por ellos. Nunca imprimas claves API o tokens de inicio de sesión que aparezcan en el producto que filmas.
  4. Revisa las imágenes con fotogramas fijos, no por fe: renderiza los fotogramas en los marcadores (golpes de ritmo, cortes, el logotipo) y míralos antes de un render completo. Un render completo lleva minutos; un fotograma fijo lleva segundos.
  5. Mantén la versión anterior. Cuando el humano pida una versión reducida o variante, copia el directorio del proyecto y edita la copia (cp -R video video_short, enlaza simbólicamente node_modules).
  6. Informa como un editor: qué cambió, la ruta del archivo, qué escuchar/mirar y en qué segundo.

Herramientas de esta skill

Todos los scripts de Python se ejecutan con uv run (las dependencias se declaran en cada archivo; no hay nada que instalar).

ScriptPropósito
scripts/music_analyze.py track.wav --out beats.jsonBPM real (ajustado), cuadrícula de pulsos/compases, secciones, drop, silencios
scripts/music_splice.py track.wav out.wav --beats beats.json --keep a:b --keep c:dacorta una pista mediante un salto alineado a compases y con crossfade; verifica la unión
scripts/cut_ui.py take.mp3 --mode cuts --script elevenlabs.md --out vo/cuts.jsonpágina de corte en navegador (forma de onda, el guion mostrado línea por línea, voz vs pausas, zoom, deshacer/rehacer): el humano lo reproduce y hace clic donde termina una línea, presiona Hecho, la pestaña se cierra y cuts.json queda listo para ti. --mode marks --beats beats.json marca el drop/golpe/breakdown de la música en la cuadrícula de pulsos
scripts/vo_cut.py take.mp3 --regions vo/cuts.json --out vo/divide una toma de ElevenLabs en clips nivelados + clips.json (o --lines N --ends t1,... si el humano prefiere escribir tiempos)
scripts/review_ui.py out/promo.mp4 --out review/review.json [--overlay overlay.json]página de revisión en navegador: monitor arriba, tira de línea de tiempo abajo (fotogramas + forma de onda de la mezcla final + pulsos/marcas/líneas de voz opcionales). El humano deja notas en un momento o en un rango; cada nota lleva el fotograma exacto; terminan con Aprobado / Necesita cambios y review.json queda listo para ti
scripts/new_project.sh <dir> [--link-modules path]proyecto Remotion desde template/ (escenario de metal, reloj de ritmo, mezcla de VO, cámara virtual)
template/tools/mesh.pyformas STEP/OCC -> malla compacta + bordes B-rep para three.js
template/tools/refold.pyborra las enormes cadenas de metadatos STEP que OCC no puede leer
template/tools/variants.py, stages.pyvariantes de parámetros de malla / cada sólido intermedio de un cuaderno CAD (para escenas de "arrastra un deslizador, el modelo sigue" y "célula por célula")

Necesita: ffmpeg, node 20+, uv. Para three.js en Chrome sin cabeza: playwright's chrome-headless-shell (new_project.sh lo instala).

Skills relacionados