Communitygithub.com

web-demo-video

Crea videos de producto a partir de una aplicación web real en formato MP4. Dos estilos: un tutorial que graba la interfaz real en uso (guías prácticas, demostraciones de funciones, videos de soporte) y un anuncio con gráficos animados que mueve la cámara, objetos voladores y números contadores sobre capturas de pantalla de alta resolución (lanzamiento, página de aterrizaje).

¿Qué es web-demo-video?

Este skill permite convertir una aplicación web funcional en un video MP4 de 20 a 60 segundos. Ofrece dos estilos principales: el tutorial (walkthrough) graba la interfaz real mientras se navega por ella, ideal para guías de uso, onboarding o respuestas de soporte. El anuncio promocional con movimiento (motion promo) anima capturas de pantalla de alta resolución con efectos como cámara en movimiento, objetos voladores y contadores numéricos, perfecto para lanzamientos o páginas de inicio. El skill incluye un kit de herramientas en `starter/` que se copia al proyecto del usuario, junto con librerías para grabación (`lib/recorder.mjs`), captura de pantallas (`lib/capture.mjs`) y composición en Remotion (`motion/parts.tsx`). Es compatible con cualquier stack web, pero requiere que el usuario instale dependencias con `npm install` y escriba guiones de escena. La salida predeterminada es 2560x1440 a 30 fps, y se puede ajustar a vertical 1080x1920. Antes de renderizar, se debe acordar un storyboard con el usuario para definir estilo, duración, marca y datos ficticios. El skill también incluye controles de calidad (`lib/qa.mjs`) y reglas estrictas: solo datos falsos, no publicar sin permiso explícito, y no exagerar capacidades del producto.

Compatible con~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/soloandco/web-demo-video/tree/main/skills/web-demo-video

Preguntar en tu IA favorita

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

Documentación

Video de demostración web

Convierte una aplicación web funcional en un MP4 de 20 a 60 segundos. La pantalla siempre es la aplicación real; los subtítulos, el cursor y los efectos son capas superpuestas. Usa solo datos inventados.

Kit de herramientas: starter/ junto a este archivo. Cópialo en el proyecto del usuario (por ejemplo video/), ejecuta npm install allí y escribe guiones de escena contra él. Ejemplo práctico en el repositorio: examples/sample-tasks/.

1. Elige primero el estilo

El video es...EstiloPor qué
Cómo usar una función (guías, onboarding, respuestas de soporte)Tutorial: graba la interfaz real mientras se hace clicLos espectadores copian los pasos, por lo que deben ver el flujo real y sin editar a un ritmo legible
Por qué el producto vale la pena (lanzamiento, página de inicio, anuncios, resumen)Anuncio con movimiento: anima sobre capturas de pantallaLos espectadores no siguen paso a paso; el video debe conectar acciones con resultados y mantener la atención

No los mezcles en un mismo video. Un tutorial con objetos voladores es difícil de seguir; un anuncio hecho con una simple grabación se siente largo.

Detalles: tutorial en references/walkthrough.md, anuncio con movimiento en references/motion.md.

2. Acuerda antes de renderizar

Renderizar es el paso costoso. Antes de escribir código de escena, redacta un storyboard (references/storyboard.md) y obtén la aprobación del usuario sobre:

  1. Estilo (tutorial o anuncio) y quién lo verá
  2. Duración y número de escenas
  3. Tamaño de salida (predeterminado 2560x1440 a 30 fps; 1080x1920 para vertical)
  4. Marca: colores, fuente, logotipo, nombre del producto y palabras que no deben aparecer
  5. Datos: qué nombres y números ficticios aparecen en pantalla (nunca clientes reales)
  6. Voz en off o silencioso
  7. Dónde se guardará el archivo al finalizar

Un storyboard tiene una columna de Movimiento además de Pantalla y Subtítulo (anuncio) para que cada escena use un tipo diferente de movimiento a propósito.

3. Construcción

Tutorial

  1. Primero prueba el flujo: un script que hace clics sin grabar, para corregir selectores y esperas
  2. Graba en partes (una página o paso por parte) con lib/recorder.mjs, luego únelas con concatParts
  3. Escribe subtítulos siguiendo references/copy.md

Anuncio con movimiento

  1. Captura cada estado de la interfaz con lib/capture.mjs (capturas de pantalla de 3840 píxeles de ancho + posiciones de elementos)
  2. Compón escenas en Remotion con motion/parts.tsx (cámara, cursor, subtítulos, chips, contadores numéricos)
  3. Verifica imágenes fijas en fotogramas clave (remotion still ... --frame=N --scale=0.25) antes de un renderizado completo

Voz en off: no se incluye ninguna herramienta. Si el usuario la desea, recomienda Gemini 3.1 Flash TTS (gemini-3.1-flash-tts-preview) con la voz Charon.

4. Verifica antes de entregar

Ejecuta node lib/qa.mjs out/video.mp4 --sheet 16 --end y observa ambas imágenes. Detalles: references/qa.md.

  • El tamaño, fps y duración coinciden con el storyboard
  • Ningún subtítulo cortado o cubriendo el botón que se hace clic
  • Sin diálogo a medio abrir, sin fotograma en blanco ni logotipo que carga tarde (verifica el último segundo por separado)
  • Cada número que se anima termina en el valor que muestra la pantalla real
  • Cuando entregues, indica qué partes son efectos escenificados (un documento volador, un contador) y cuáles son el producto funcionando realmente

5. Reglas estrictas

  • Interfaz real, datos falsos. No aparecerán en pantalla, en subtítulos, en nombres de archivo ni en la descripción nombres, IDs, correos electrónicos o cifras de clientes, personas o empresas reales
  • No publicar (YouTube, redes sociales, sitio web) sin la aprobación explícita del usuario para esa subida
  • No afirmar lo que el producto no hace. Si un paso se simula para la filmación (una respuesta del servidor, una subida), el subtítulo no debe presentarlo como magia automática
  • Conserva las fuentes del renderizado (guiones, storyboard) en el repositorio; mantén los MP4 y las capturas de pantalla fuera de git

Skills relacionados