Article video
Orquesta el camino completo desde un artículo hasta un MP4 terminado. Las otras skills contienen los detalles; cárgalas en el paso que las necesite:
explainer-script: redacción del guion y elección de un visual por escena.explainer-animation: catálogo de componentes, línea de tiempo, componentes personalizados e imágenes fijas.narration: TTS (Cartesia, Kokoro como respaldo), pronunciación, QA de audio.
El proyecto Remotion vive en la carpeta template/ del plugin (${CLAUDE_PLUGIN_ROOT}/template cuando se instala como plugin; al lado de skills/ en el repositorio del plugin).
Innegociables
- Verificar hechos. Cada número y cada afirmación, en pantalla o hablados, se rastrea hasta una oración del artículo. Mantén la tabla en
factcheck.md(afirmación, dónde aparece, la oración del artículo citada). Las cifras se muestran exactamente como las escribe el artículo: mismo redondeo, mismas unidades, mismo "14/20" en lugar de "70%". Una discrepancia se corrige en la línea de tiempo, nunca en el artículo. La verificación de hechos cubre la narración y los números y afirmaciones mostrados en pantalla, nada más. Los visuales se eligen por impacto, no como una reproducción literal del experimento: una escena ilustrativa (datos reales reproducidos libremente, marcadores colocados para claridad, un mecanismo estilizado) es válida, porque el rigor reside en el artículo y su repositorio. - Voz. La narración habla como está escrito el artículo: en primera persona ("Ejecuté...", "Encontré..."), con afirmaciones no más contundentes que las del artículo. Si el artículo es cauteloso ("en esta configuración", "en estas 20 ejecuciones"), el guion también lo es. Sin redacción más impactante que la fuente.
- Marca. Solo AGILabs: la insignia AGILabs y
javieraguilar.ai. Sin nombre personal en ninguna parte, ni en las tarjetas, el póster, los subtítulos ni los metadatos del archivo. - Puerta de aprobación. Nada se construye antes de que el guion esté aprobado.
Flujo de trabajo
-
Elige el artículo. Usa el que se haya nombrado. Si no se nombra ninguno, lee los artículos publicados y propón 2-3 candidatos, cada uno con su título, una frase de gancho, el número clave (citado) y una idea visual. Favorece artículos con un experimento, un número claro y un mecanismo que se pueda dibujar. Deja que la persona elija.
-
Escribe el guion con
explainer-script: las líneas de narración (EN, ES opcional), una idea visual por escena mapeada a un componente de la biblioteca o marcada como "bespoke", y la oración fuente de cada número. -
PARA para aprobación. Muestra el guion y espera. Aplica ediciones y muéstralo de nuevo si te lo piden.
-
Crea la carpeta del vídeo. Copia la plantilla sin sus archivos generados:
- dentro del repositorio del plugin:
examples/<article-slug>/; - desde cualquier otro repositorio:
./video/<article-slug>/.
rsync -a --exclude node_modules --exclude out --exclude public/audio --exclude public/music \ --exclude .env "${CLAUDE_PLUGIN_ROOT}/template/" "video/<article-slug>/" cd "video/<article-slug>" && npm ciGuarda el guion aprobado como
script.mden esa carpeta. - dentro del repositorio del plugin:
-
Construye la línea de tiempo con
explainer-animation: configurasrc/settings.ts(articleTitle,voices,subtitles,targetSeconds,poster) y escribesrc/timeline.tsa partir del guion. Añade componentes personalizados si el guion los marcó, cada uno con su pruebaframeState. -
Lint:
npm run lint. Corrige cada hallazgo (longitud, velocidad de subtítulos, componente desconocido). Ejecuta tambiénnpm testcuando se haya añadido o modificado un componente. -
Verifica hechos contra el artículo y escribe
factcheck.md(ver arriba). -
Narra:
npm run tts, luegonpm run audio-qa(consultanarration). Escucha cualquier cosa que marque. Vuelve a ejecutarnpm run lint: las longitudes reales de las líneas reemplazan las estimaciones. -
Imágenes fijas, y míralas. Renderiza una imagen fija por escena más una cada ~3 s y lee cada PNG. Comprueba la marca, las áreas seguras, que nada se desborde, que los números coincidan con el artículo, y que los subtítulos coincidan con el compás en pantalla. Una compilación limpia no es prueba de que un fotograma se vea bien.
-
Renderiza:
npm run render(vertical EN).-- --espara la versión en español,-- --landscapepara 1920x1080. Luego ejecutanpm run audio-qade nuevo para medir la mezcla (-16 LUFS integrados). -
Entrega:
npm run deliverescribe el PNG del póster, el SRT yout/manifest.json. Mira el póster. Entrega la ruta del MP4 y el póster; la publicación es un paso aparte.
Re-renderizar un vídeo existente
Abre su carpeta, ejecuta npm ci si falta node_modules, cambia src/timeline.ts o la configuración, luego repite desde el paso 6. TTS solo vuelve a dar voz a las líneas cuyo texto haya cambiado.
Dónde van las cosas
- El código fuente (línea de tiempo, configuración, componentes personalizados,
script.md,factcheck.md) se confirma en el repositorio. out/,public/audio/,public/music/,node_modules/y todos los.mp4/.wavno se confirman..envcontiene la clave de TTS y nunca se confirma ni se imprime.