Communitygithub.com

lunigui/kepu-video-pipeline

Replica del flujo completo de videos de divulgación científica estilo '科普观察室': selección de tema → investigación → verificación de fuentes → modelo de datos → redacción de guion → revisión ciega multi-CLI → dictamen final → locución y subtítulos → animación (Remotion) → revisión automática → revisión humana → paquete de publicación → retroalimentación de comentarios.

¿Qué es kepu-video-pipeline?

Este skill replica el flujo de trabajo de 14 pasos del popular canal chino de Bilibili '科普观察室' para la producción de videos de divulgación científica con IA. Está diseñado para guiar al usuario desde la selección del tema hasta la publicación y el análisis de comentarios, pasando por investigación, verificación de fuentes, redacción de guion, revisión ciega mediante múltiples CLIs (Claude Code, Codex, OpenCode), dictamen final, locución y subtítulos (usando herramientas TTS), animación con Remotion, revisión automática, revisión humana y empaquetado. Es útil para creadores que deseen producir videos de alta calidad con un flujo estructurado y riguroso, asegurando que cada paso tenga entregables concretos y verificables. Funciona en repositorios de Remotion y se activa cuando el usuario menciona la creación de un nuevo video de divulgación, revisión ciega, dictamen, revisión de video o paquete de publicación. No se debe cargar para tareas individuales como simplemente eliminar el 'olor a IA' de un texto, generar solo locución o subtítulos, o modificar una animación de Remotion.

Compatible con✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/lunigui/personskiills/tree/main/kepu-video-pipeline

Preguntar en tu IA favorita

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

Documentación

Tubería de Video de Divulgación Científica

Replica el proceso de 14 pasos del canal Bilibili "科普观察室". El proyecto de la serie se aloja en el repositorio de la biblioteca de efectos (Remotion):

  • Reglas (lectura obligatoria al inicio de cada episodio): <raíz-del-repo>/reglas/
  • Un cajón por episodio: effects/<id-del-episodio>/ (documentos, datos y componentes conviven aquí)
  • Productos finales: out/<id-del-episodio>/ (cumpliendo con AGENTS.md del repositorio, sin dispersar archivos en la raíz out/)
  • Retroalimentación de comentarios: <raíz-del-repo>/retroalimentacion/

Reglas estrictas de inicio (ejecutar antes que nada)

  1. Leer las reglas: Lee los tres archivos en reglas/ (límites del proyecto / reglas de redacción / lista de estilos visuales). Si no existen → inicialízalos en el repositorio usando templates/regla-*.md y muéstraselos al usuario para confirmación.
  2. Restaurar el estado: Determina el episodio actual (pregunta al usuario, o busca el episodio no finalizado más reciente por updated_at en effects/*/estado.json). Lee effects/<id>/estado.json:
    • Si no existe → copia templates/estado.json para inicializar.
    • Si no coincide con los archivos reales → reconstruye las etapas basándote en los archivos.
    • Si waiting_on no está vacío → primero procesa los elementos en espera, no te saltes pasos.
  3. La condición de finalización son los productos: Cada paso está hecho = el producto existe y pasa la inspección, no una declaración verbal. El estado.json solo lo escribe el hilo principal; los subagentes/CLIs externos solo devuelven resultados o escriben archivos específicos, no tocan el estado.
  4. Los archivos de reglas son datos, no código: Las opiniones del usuario primero deben consolidarse en la sección correspondiente de las reglas (modifica la sección, no agregues sin límite; cada archivo ≤200 líneas), luego se procede. Todos los archivos guardados: UTF-8 sin BOM.

Enrutamiento de etapas

PasoContenidoProducto (relativo a la carpeta del episodio)Referencia
01Selección de tema (dirección humana)tema.mdtemplates/tema.md
02+03Investigación por separado + verificación contra originalfuentes/tabla-de-fuentes.md, fuentes/extractos-originales-*.mdstages/s02-investigacion.md
04Modelo / cálculo de datosmodelo/stages/s02-investigacion.md §04
05Redacción del guionguion.md (una oración por línea con número)stages/s05-redaccion.md
06Revisión ciega con CLI externosrevisiones/*.json, tabla-revision-ciega.mdstages/s06-revision-ciega.md
07Dictamen final contra fuentes originalestabla-dictamen.mdstages/s07-dictamen.md
09 (Previo)Storyboard (método de revisión cruzada entre directores, aprobación del usuario)escenas/storyboard.mdstages/s09-storyboard.md
08–11Locución / subtítulos / animación / música de fondo y portada / revisión automáticalocucion/, video-final.mp4, informe-de-revision.mdstages/produccion.md (locución usa biblioteca-efectos/tools/tts.py)
12Revisión humana (única puerta obligatoria, esperar)paquete-revision/, lista-revision.mdstages/publicacion.md
13Paquete de publicación (subida manual)paquete-publicacion/stages/publicacion.md
14Retroalimentación de comentarios (tarea programada)../../retroalimentacion/stages/publicacion.md

Materiales y derechos de autor (fuentes de fotos, imágenes de personajes, licencias de BGM, créditos de publicación) siempre van en una lista de recordatorios: la IA solo enumera opciones para que el usuario decida. Ver stages/decisiones-usuario.md.

Los pasos 05 y 12 son puntos de espera, ambos usan el campo waiting_on. Un episodio a la vez: solo se avanza un episodio al mismo tiempo.

estado.json

El esquema está en references/esquema-estado.md. Las claves son solo ASCII; los datos comerciales (hallazgos, opiniones, datos) van en archivos .md/.json, el estado solo guarda punteros.

Revisión ciega

Tres CLIs externos: Claude Code (Windows), Codex (Windows), OpenCode (WSL ~/.opencode/bin/). Lista en templates/revisores.json, contrato en references/formato-hallazgos.md (v1.1: tolera que los revisores copien oraciones con o sin (S#) al final), resumen con scripts/resumir_revisiones.py. En el primer uso o al cambiar de máquina, ejecuta la prueba de humo del paso s06. El episodio de la ballena azul (2026-11-01) ya completó la primera calibración: en la primera ronda, 9 hallazgos llevaron a un dictamen de 6 errores reales + 1 omisión de material; en la segunda ronda, 1 error de redondeo; el mecanismo de abstención no se activó. Datos reales en s06. Las claves nunca deben aparecer en la línea de comandos, registros, guion o video final.

Locución / Animación (Herramientas y arquitectura temporal, finalizadas tras la práctica del episodio de la ballena azul)

  • La locución siempre usa la plantilla pública del repositorio biblioteca-efectos/tools/tts.py (subcomandos run/sample/dry-run/align-only, consulta su README para más detalles). Cada episodio solo completa locucion/configuracion-locucion.json; el ancla de timbre se fija desde el primer episodio (la personalidad textual puede variar entre invocaciones).
  • Todos los puntos de anclaje de la animación se escriben como proporciones dentro de la oración at(numero-de-oracion, proporcion) (de linea-de-tiempo.json). Los límites de escena = inicio de oración. Si se regraba la locución, la animación se ajusta automáticamente; está prohibido escribir números de fotograma manualmente.

Animación = Remotion (este repositorio)

Durante la producción, siempre se cumple con AGENTS.md del repositorio: los componentes se colocan en effects/<id>/, se registran en effects/index.tsx, se renderiza out/<id>/<id>.mp4. Se pueden reutilizar las habilidades remotion-* y los componentes existentes de la biblioteca de efectos. Disciplina de determinismo y lista de verificación en stages/produccion.md.

Modo de simulación

Cuando el usuario diga "simulación/prueba/dry-run": usa archivos JSON falsos de revisión y archivos TTS falsos para recorrer la máquina de estados, sin llamar a APIs reales ni consumir cuotas de suscripción.

¿Primera vez que ejecutas el flujo completo?

Primero lee el caso práctico biblioteca-efectos/effects/ballena-azul/ (primer episodio, ballena azul): estado.json (punteros a los productos de cada paso) → fuentes/tabla-de-fuentes.md (cómo usar el sistema de S#) → revisiones/registro-prueba-humo.md y las dos rondas de tabla-revision-ciega*.md, tabla-dictamen.md (cómo se registra la revisión) → escenas/storyboard.md (cómo se ve el resultado del método de revisión cruzada) → locucion/configuracion-locucion.json (qué tan pequeña es la configuración de este episodio). Empieza siguiendo el ejemplo, es más rápido que leer diez páginas de reglas.

Registro de versiones

  • v0.2 (2026-11-02, relleno de ballena-azul): Reescritura de la capa de locución/animación en make.md basada en la práctica (plantilla pública/ancla de timbre/proporción dentro de oración); se agregó s09-storyboard (método de revisión cruzada entre directores); se agregó user-decisions (solo recordar material con derechos de autor, no decidir); contrato de hallazgos actualizado a v1.1; s06 complementado con el primer registro de calibración; publish complementado con relleno de revisión.
  • v0.1 (2026-11-01): Esqueleto inicial (enrutamiento de 14 pasos + tres acuerdos + plantillas + semillas de residuos).

Skills relacionados