Communitygithub.com

iqam20/git2video

Convierte el historial real de un repositorio Git (etiquetas, commits, diferencias) en un vídeo de lanzamiento profesional — MP4/WebM/GIF, completamente offline y gratuito, con un bucle de control de calidad automatizado.

¿Qué es git2video?

git2video es una habilidad para agentes de IA (como Claude Code, Cursor o Codex) que permite generar automáticamente vídeos de lanzamiento o changelog a partir del historial real de un repositorio Git. Funciona completamente offline y sin coste, utilizando Node.js ≥ 22, ffmpeg y Playwright Chromium. La herramienta sigue un flujo de trabajo estructurado en seis pasos: recopilación del historial, creación de un storyboard, validación, renderizado, control de calidad y entrega. Cada paso está respaldado por scripts específicos y la salida es determinista, garantizando que los vídeos sean precisos y fiables. Está diseñada para desarrolladores que necesitan comunicar cambios de forma visual y profesional, evitando inventar datos o exponer información sensible.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iqam20/git2video/tree/HEAD/skills/git2video

Preguntar en tu IA favorita

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

Documentación

git2video — vídeo de lanzamiento a partir del historial real de Git

Lee el historial real de un repositorio Git y produce un vídeo de lanzamiento preciso y profesional: recopilar → storyboard → validar → renderizar → QA → entregar. Se ejecuta 100 % en local (Node ≥ 22, ffmpeg, Playwright Chromium — compruébalo primero con doctor). No requiere red durante el renderizado; los secretos se eliminan de los fragmentos de diferencias; los correos electrónicos nunca aparecen en la salida.

skills/git2video/scripts/doctor.mjs     # comprobar el entorno, corregir filas FALTANTES
scripts/collect.mjs                     # git -> story.json (commits agrupados, cambios importantes, estadísticas, fragmentos saneados)
scripts/validate.mjs                    # storyboard sin audio debe pasar antes del renderizado
scripts/render.mjs                      # storyboard -> video.mp4 (+ webm/gif), layout-audit.json
scripts/qa.mjs                          # puerta automatizada: report.json + report.md en out/qa/
references/storyboard-guide.md          # tipos de escena, formas de datos, reglas de escritura — leer antes de crear
references/faq.md                       # solución de problemas

Flujo de trabajo

1. Recopilar el historial.

node skills/git2video/scripts/collect.mjs --repo <directorio-repo> --out /tmp/g2v/story.json \
  [--from <etiqueta|sha|AAAA-MM-DD>] [--to HEAD] [--max-commits 400] [--include-contributors] [--gh]

Valores predeterminados: última etiqueta → HEAD; sin etiqueta: últimos 30 días. Lee /tmp/g2v/story.json después.

2. Crear storyboard.json (tú, el agente — lee primero references/storyboard-guide.md). Regla general para un vídeo de lanzamiento de 30–45 s:

título (3–4 s) → destacados (5–8 s) → diferencias (5–8 s) → estadísticas (4–5 s) →
cronología (opcional 4–6 s) → cambios importantes (3–5 s, solo si los hay) →
contribuyentes (3–5 s, solo con --include-contributors) → final (3–4 s)

Cada escena incluye: id, type, duration (0.8–15 s), narration (≤ 2 frases; legible en el espacio a 0.35 s/palabra), source (SHA de commits que respaldan las afirmaciones), data (según el tipo — formas en la guía). Las afirmaciones deben remitirse a story.json — no inventes nada.

3. Validar.

node skills/git2video/scripts/validate.mjs --storyboard /tmp/g2v/storyboard.json \
  --story /tmp/g2v/story.json

Corrige todos los errores antes de renderizar. Amplía la ventana de duración total para una demo con --min/--max solo cuando el usuario haya pedido un clip de prueba corto.

4. Renderizar.

node skills/git2video/scripts/render.mjs --storyboard /tmp/g2v/storyboard.json \
  --out /tmp/g2v --preset 16:9 --fps 30 --theme dark [--formats mp4,webm,gif]

Preajustes: 16:9@1920, 9:16@1080, 1:1@1080. Temas: dark (predeterminado), light, neon. Los renderizados son deterministas en una máquina; ~2–4 min para un vídeo de 40 s a 30 fps. v0.1 es silencioso: la narración se quema como subtítulos automáticamente.

5. QA (automatizado, no por sensaciones).

node skills/git2video/scripts/qa.mjs --storyboard /tmp/g2v/storyboard.json --out /tmp/g2v

Lee out/qa/report.md. PASS → entrega. FAIL → consulta los detalles en report.json, corrige el storyboard, vuelve a renderizar, vuelve a ejecutar QA. Máximo 3 iteraciones de corrección. Después, informa honestamente qué sigue fallando y por qué.

6. Entregar. Informa al usuario: la ruta absoluta de video.mp4 (+webm/gif), el veredicto de QA en una línea, cualquier resto de la tercera iteración, y ofrece: otro preajuste (vertical), variantes de tema (light/neon), o un GIF para incrustar en el README (--formats gif).

Reglas estrictas

  • Nunca inventes commits, estadísticas o diferencias: el source de cada escena nombra SHA reales de story.json. Si el historial no respalda un tipo de escena, omite la escena.
  • Nunca pongas correos electrónicos de contribuyentes en la salida; solo nombres con --include-contributors.
  • No edites archivos bajo skills/git2video/templates/ o scripts/ durante el renderizado; el motor determinista + QA los presuponen. Los cambios de estilo de escenas/temas/activos solo como trabajo separado y declarado.
  • Prefiere menos escenas precisas en lugar de relleno; mantén la narración en ≤ 2 frases.

Skills relacionados