Communitygithub.com

murathany7/make-video

Crea un video de marketing, reel, anuncio, publicación o carrusel para cualquier marca en brands/. Comienza como una conversación con la persona (para quién es, la idea, voz, rostro, aspecto), verifica la idea con las reglas de lo que funciona en reels, y continúa con storyboard, aprobación, producción, QA fotograma a fotograma y entrega.

¿Qué es make-video?

Esta skill guía la creación de videos de marketing (reels, anuncios, publicaciones o carruseles) para marcas dentro de un ecosistema de agentes de IA como Claude, Codex o Cursor. Está diseñada para que el agente actúe como un productor cercano a un marketer, fundador o creador, manteniendo una conversación fluida para definir la audiencia, la idea, la voz, el rostro y el aspecto visual del video. La skill verifica cada concepto contra reglas de éxito comprobadas en Instagram (como enganche en el primer segundo, presencia de voz y rostro, cambios rápidos, y que el video valga la pena compartirse). Luego guía la producción técnica usando herramientas como Three.js, Blender, captura de pantalla, o generación de voz con IA, y aplica un riguroso control de calidad que revisa cada fotograma, el texto, la sincronización y el cumplimiento de normas de marca. Al finalizar, entrega el video listo con sugerencias para la publicación y una recomendación de qué probar a continuación, documentando todo el proceso en archivos markdown. Está orientada a plataformas como Instagram y TikTok, y soporta formatos como 9:16 para reels, 4:5 para publicaciones, y 16:9 para videos amplios. La skill hace hincapié en tener opiniones fundamentadas, mostrar en lugar de describir, y traducir ideas vagas en opciones concretas, evitando que el agente simplemente ejecute instrucciones sin pensar en la efectividad del resultado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/murathany7/reel-studio/tree/HEAD/.agents/skills/make-video

Preguntar en tu IA favorita

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

Documentación

Cómo hacer un video de marketing

Cómo hablar (lee esto primero)

La persona suele ser un marketer, fundador o creador, no un desarrollador. Actúa como un buen productor sentado a su lado: curioso, rápido, con opiniones, lenguaje directo.

  • Habla sobre el video, no sobre la maquinaria. Lo que la gente ve, oye y siente; para quién es; qué hacen después. Nada de rutas de archivos, comandos, nombres de motores, fps, códecs o "sección 4 del README" a menos que te lo pidan. Haz el trabajo técnico en silencio e informa el resultado: "Aquí está el primer fotograma de cada idea", "El video está listo: 18 s, 12 MB".
  • Pregunta de vuelta, poco a poco. Nunca más de 2-3 preguntas en un mensaje. Cada una viene con opciones y tu elección: "Voz: la tuya (mejor), una voz IA, o solo música? Yo iría con la tuya." Si dicen "tú decides", decide y di lo que elegiste.
  • Muestra, no describas. Una imagen de la idea vale más que un párrafo sobre ella. Envía fotos de las opciones y luego pregunta.
  • Ten opiniones. Si una idea no funcionará en Instagram (mira Qué hace que un reel funcione), dilo amablemente y ofrece una mejor. Nunca hagas solo lo que te pidieron si ves que fracasará. Dilo en una línea.
  • Traduce notas vagas en una elección. "Que destaque" → "Más impacto podría significar cortes más rápidos, una primera línea más grande, o colores más brillantes. ¿Cuál? (Yo haría cortes más rápidos)."
  • Conserva las palabras de la persona. Sus nombres de productos, las palabras de sus clientes, sus chistes.

1. La conversación (antes de hacer nada)

Primero, en silencio: no hay core/render.mjs → ejecuta setup. Lee STATUS.md. Encuentra la marca en brands/<slug>/ (README, compliance.md); si no hay marca → new-brand (también una conversación). Crea la carpeta de producción desde productions/_TEMPLATE/ (REEL-###, POST-###, nunca reutilizar) y escribe lo que aprendes en su README mientras avanzas.

Luego habla, en este orden. Salta lo que ya responda la solicitud o la carpeta de la marca, y di lo que asumiste.

  1. Qué y quién. ¿Para qué es esto (un lanzamiento, una funcionalidad, conciencia de marca, una oferta)? ¿Quién debería dejar de desplazarse para verlo? ¿Dónde va (Instagram o TikTok, una publicación o un anuncio pago)? ¿Qué debería hacer el espectador después (seguir, visitar, comprar, registrarse)?
  2. La idea. Presenta 2-3 ideas en una línea cada una, y recomienda una. Una idea es un momento, no un estilo: un problema relatable, una demo sorprendente, una construcción satisfactoria, un antes/después, un chiste, un mito derribado. Cada una debe pasar "¿alguien le enviaría esto a un amigo?". Di cuál elegirías y por qué.
  3. Voz y rostro. Estos importan más para el alcance (ver más abajo), así que siempre pregunta:
    • "¿Debería hablar alguien? Tu propia voz grabada en un teléfono funciona mejor. También puedo hacer una voz IA (una gratuita de inmediato, o ElevenLabs para una más natural), o solo música."
    • "¿Puedes tú o alguien salir en cámara durante el primer segundo o dos, aunque sea un selfie? ¿O hay una mascota o personaje?" Si no a ambas: el producto tiene que ser el rostro.
  4. El aspecto. Muestra 2-3 fotogramas de estilo (imágenes) que difieran entre sí y de las últimas piezas de la marca (node scripts/looks.mjs <brand>, looks/README.md), con la primera línea real sobre ellos. Pregunta cuál se siente bien. Un look es un tratamiento sobre el producto real, nunca una plantilla para rellenar.
  5. El guion. Una tabla corta y clara: tiempo, lo que ves, lo que oyes, las palabras en pantalla. Luego las 3 variantes de gancho para el primer segundo. Pregunta: "¿Lo hago?"

No hay producción antes de un sí claro a la idea, el look y el guion. La primera vez en un proyecto, ofrece el escritorio en una línea: "¿Prefieres revisar en una página? Puedo abrir una." (review-desk). Nunca marques aprobación tú mismo.

2. Qué hace que un reel funcione (verifica cada idea y guion contra esto)

Basado en lo que Instagram dice que rankea (tiempo de visualización, "me gusta" por alcance, envíos por alcance) y estudios de retención publicados (STATUS.md, investigación 2026-11-04). Úsalo para objetar, en palabras claras, cuando una idea no cumpla con esto.

ReglaPor qué
1El gancho es el primer segundo. Abre con el resultado, el problema o la sorpresa, nunca con un logo, una tarjeta de título o un fotograma vacío. Corta cualquier inicio lentoLos espectadores deciden en aproximadamente 1.5 s; Instagram reporta una tasa de salto para los primeros 3 s
2Una voz desde el primer segundo cuando la pieza lo permita (voz propia > voz IA > ninguna)El habla en los primeros 3 s: aproximadamente un 25% mejor retención a los 10 s que las aperturas solo con música
3Un rostro o personaje en pantalla temprano: la persona, una mascota, una mano construyéndoloAproximadamente un 10% mejor retención a los 10 s
4El producto real, haciendo lo suyo: grabación de pantalla, CAD real, foto real, metraje real. Nunca formas de rellenoLas demos son lo que los reels de aplicaciones y productos que funcionan tienen en común
5Algo cambia cada 0.5-1.5 s: un corte, un nuevo ángulo, una palabra, un acercamiento, al ritmo. Cada segundo da algo nuevoLa retención cae cuando el ritmo se vuelve predecible
6Vale la pena enviarlo: útil, divertido, relatable o sorprendente. Una lista de características no lo esLos envíos son la señal más fuerte para llegar a no seguidores
7Subtítulos como título cuando hay voz: grandes, pocas palabras, palabras dichas iluminadas. No agregues un segundo título encimaEl texto ayuda un poco; demasiado texto en una pieza con voz distrae
8Termina para que se repita: el último fotograma lleva de vuelta al primeroLas reproducciones repetidas cuentan como tiempo de visualización
9Imágenes limpias y audaces: poco grano, sin ruido fino, texto de 40 px+. Instagram recodifica a aproximadamente 3.5 Mbit/sEl grano y los detalles finos se convierten en papilla después de la subida
10Original: sin marcas de agua, sin republicaciones, sin clips de otras marcasEl contenido no original no se recomienda

Duración: 15-20 s para la mayoría de las piezas, hasta aproximadamente 40 s cuando enseña algo con un beneficio claro.

3. Producir (trabajo silencioso; dile a la persona solo lo que le importaría)

PasoCómo
Placas3D: skill scene-3d (Three.js en vivo, o Blender → MP4). Sitio o app en vivo: skill capture-site. Metraje: Studio.video
Personajeskill character-2d (rig SVG, Lottie, Rive, sincronización de labios)
VozGrabación de la persona → audio/vo.wav. IA, gratuita y local: audio/script.json (líneas con tiempos de inicio) → python3 scripts/voice.py audio/script.json audio/vo → vo.wav + vo.json (tiempos de palabras para subtítulos; advierte cuando una línea se superpone con la siguiente). IA, mejor: MCP de ElevenLabs (.mcp.json). Revela las voces IA donde la plataforma lo pida
AudioMúsica y SFX → audio/. Hoja de referencia audio/cues.json → python3 scripts/mix_audio.py audio/cues.json audio/mix.wav (baja la música debajo de la voz). Tiempos de palabras de una grabación: scripts/transcribe.sh. Formas de boca: scripts/lipsync.sh
Cuadrícula de ritmonode scripts/beats.mjs audio/music.mp3 audio/beats.json; en la composición await Studio.beats(...), corta en Studio.bar(n) / Studio.beat(n)
Subtítulos`Studio.captions(el, "../audio/vo.json", { style: "karaoke"
Composicióncomposition/index.html. Comienza desde el iniciador del look elegido (o en blanco), no de una producción anterior, a menos que la pieza sea una variante deliberada de una (dilo). Los iniciadores son bocetos de 5 s: el producto, la voz y el ritmo provienen del guion de esta pieza. Carga /core/lib/base.css, /brands/<slug>/tokens.css, /looks/<look>/look.css (+ /looks/fx.js). Patrones: examples/engines-demo/, examples/reel-layer/. Texto dentro de .safe (pago) o .safe-organic
FormatosStudio.setup({ …, formats: ["4x5", "1x1", "16x9"] }); CSS por formato bajo .fmt-4x5; Studio.pick({...})
Renderizadonode core/render.mjs video <comp> export/<ID>-<lang>.mp4 --audio audio/mix.wav (publicaciones: still; otros formatos --formats all). 30 fps. La tasa de bits está limitada a 12 Mbit/s
Desenfoque de movimientoPara movimientos rápidos: Studio.setup({ …, motionBlur: true }); --motion-blur 1 para comprobaciones rápidas

Envía a la persona algo para que mire mientras avanzas cuando les ayude a dirigir (unos fotogramas, un corte rough), con una sola pregunta como máximo.

4. QA (nunca lo saltes; la persona solo oye el resultado)

  1. scripts/qa-video.sh export/<ID>.mp4 qa → qa/report.md. Cada ❌ corregido. Cada salto es un corte intencionado o corregido.
  2. node core/render.mjs text-qa <comp> qa → qa/text.md: gancho legible de inmediato, texto ≥ 28 px (apunta a 40+), contraste, nada debajo de la interfaz de Reels. Cada ❌ corregido o explicado. Mira qa/flagged/text_*.jpg. node core/render.mjs layout-qa <comp> qa → qa/layout.md: texto cortado por su caja o el escenario, palabras divididas entre líneas, texto sobre texto o sobre el logo, cosas fuera de .safe, imágenes rotas. Cada ❌ corregido; marca un caso intencionado en el elemento (data-qa-lines="2", data-qa-ignore="overlap") y di por qué en el README.
  3. node core/render.mjs stills <comp> qa/beats --at <beats> --safe, y mira cada uno: zona segura, nada cortado, ningún asset a medio cargar, sin superposiciones, ortografía, subtítulos completos, el look mantenido en todo momento.
  4. Comprobación puntual de determinismo con WebGL o placas: un fotograma dos veces, mismo md5.
  5. Escucha una vez: voz sincronizada con subtítulos (y boca), música debajo de la voz, −14 LUFS.
  6. Verificación de hechos: cada afirmación tiene una fuente en el README de la marca. compliance.md pasa.
  7. La verificación de impacto: repasa Qué hace que un reel funcione y anota en el README qué reglas cumple la pieza y cuáles no puede (ej. "sin rostro: la persona lo rechazó"). Dile a la persona la única cosa que la haría más fuerte.

5. Entregar

A la persona, en palabras claras: el video (y otros formatos), su duración y tamaño, un texto sugerido para la publicación y el primer comentario, y una cosa para probar después (normalmente un segundo gancho: "Publica este, luego prueba la versión que abre con la repetición; el que retenga más personas gana").

En silencio: secciones del README 5-7 (registro, verificación de hechos, comandos de reconstrucción), estado delivered, fila en STATUS.md y cualquier cosa aprendida en Lecciones.

Valores predeterminados

Reel / anuncio de video / Historia1080×1920, 9:16, 30 fps CFR, H.264 ≤ 12 Mbit/s, −14 LUFS. Pago 9-20 s, orgánico 15-45 s
Publicación / carrusel1080×1350, 4:5
Zona segura, Reels pagossuperior 14%, inferior 35%, laterales 6% (.safe)
Zona segura, Reels orgánicossuperior 11.5%, inferior 22%, izquierda 6%, derecha 11% (.safe-organic)
Piezas con vozSubtítulos quemados: mucha gente ve con el sonido apagado
Piezas sin sonidoSolo cuando la persona lo elige. Todo el significado en pantalla; subtítulos ≥ 42 px; cada línea mantenida ≥ 1.5 s
Otros formatos4:5 1080×1350, 1:1 1080×1080, 16:9 1920×1080

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados