Communitygithub.com

lalimi/claude-reelsmith

Construye un reel completo con voz en off (Instagram Reels / TikTok / Shorts, 1080×1920, 25–70 s) a partir de un solo reel.json: los propios clips y fotos del creador, voz en off, subtítulos con palabras acentuadas, tarjetas de gancho y cierre, sellos, acercamientos, transiciones y efectos de movimiento, banda sonora, mezcla a −14 LUFS, hoja de control de zona segura, portada y pie de foto. Úsalo después de que se haya aprobado un guion (skill reel-script) cuando el reel sea una voz en off sobre material grabado (para alguien que habla a cámara, usa talking-head-edit), o cuando te pidan «haz / construye / reconstruye / recorta un reel», «змонтуй рілс», «перезбери».

¿Qué es claude-reelsmith?

El skill lalimi/claude-reelsmith es una herramienta especializada que permite a un agente de IA (como Claude Code) construir reels completos para redes sociales (Instagram Reels, TikTok, YouTube Shorts) a partir de un único archivo de configuración JSON. Está diseñado para flujos de trabajo donde el creador ya tiene un guion aprobado y se necesita una edición profesional con voz en off, subtítulos, efectos visuales y mezcla de audio. Soporta una amplia gama de efectos como tarjetas de gancho y cierre, sellos de texto, acercamientos con recorte, transiciones con zoom o barrido, efectos de texto orbital, listas de verificación animadas, muros de titulares, viñetas dibujadas a mano, cambios de color de blanco y negro a explosión de color, y montajes de fotos. El skill se ejecuta mediante comandos de terminal: `reelsmith new` para crear la estructura, `reelsmith sheet` para generar hojas de contacto, `reelsmith build --stills` para una previsualización rápida con marcos de verificación, y `reelsmith build` para el renderizado final. Incluye un motor de subtítulos automáticos con anclaje a palabras clave, control de tiempo, y superposición de texto animado. La salida final incluye el video MP4, una portada JPG, un archivo de subtítulos y una hoja de control de calidad (QA) que muestra las zonas seguras para la interfaz de usuario de las plataformas. Está diseñado para funcionar en macOS y requiere que el motor `reelsmith` esté instalado y configurado.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lalimi/claude-reelsmith/tree/HEAD/skills/reel-builder

Preguntar en tu IA favorita

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

Documentación

Constructor de Reels

Motor: $(reelsmith root)/engine/ (build.py, template.html, music.py, pull_vo.py, capcut.py, fonts/). Una carpeta por reel: <reel-dir>/reel.json → <reel-dir>/out/reel.mp4. Si reelsmith dice que no está configurado, ejecuta reelsmith setup una vez.

reelsmith new reels/mi-reel            # carpeta con src/, vo/ y un reel.json de plantilla
reelsmith sheet reels/mi-reel/src/*    # hojas de contacto → elige `ss` para cada segmento
reelsmith build reels/mi-reel --stills # ~1 min: fotogramas, tiempos de palabras, subtítulos, out/qa_sheet.jpg
reelsmith stills reels/mi-reel 0.5,7.8,21.3   # fotogramas de verificación adicionales
reelsmith build reels/mi-reel          # renderizado completo (~4–5 min para 60 s)

Ejecuta siempre --stills primero: lee la lista de subtítulos impresa y mira out/qa_sheet.jpg (rojo = zonas de la UI de Reels/TikTok; nada importante puede estar en rojo). Corrige reel.json, luego construye. Verifica las líneas de volumen impresas al final (−14 LUFS ±1, pico ≤ −1 dB). Luego revisa los fotogramas del MP4 final alrededor de cada efecto y transición antes de entregarlo.

Flujo de trabajo (tiempo del creador ≈ 10 min por reel)

  1. Guion: skill reel-script → el creador aprueba. Marca las palabras acentuadas con <em>…</em>; mantén los números como dígitos para su visualización.
  2. Voz: ya sea la grabación propia del creador (vo/vo.mp3) o ElevenLabs (consulta docs/voice.md): el texto TTS = guion sin etiquetas, los números escritos con letras, las marcas escritas fonéticamente. En el plan gratuito, genera en la interfaz web de ElevenLabs (Claude en Chrome puede manejarlo), luego reelsmith voice <reel-dir> extrae las 2 tomas más recientes a vo/ con duraciones. Transcribe ambas, conserva la más limpia como vo/vo.mp3. Voces lentas: "speed": 1.07 en vo.
  3. Material grabado: skill footage-scout — solo clips nuevos (comprueba used_footage.md), hojas de contacto, verificación de privacidad. Las duraciones de los segmentos deben sumar el final de la voz + ~2 s.
  4. Plan de edición: skill reel-director elige los 3–5 efectos para esta historia y dónde van las transiciones.
  5. Escribe reel.json → --stills → corrige → construye → entrega out/reel.mp4 + out/cover.jpg + out/caption.txt.
  6. Pase de sonido opcional en CapCut: skill reel-capcut (efectos de sonido de biblioteca + música elegida al oído).

reel.json

{
  "vo": {"file": "vo/vo.mp3", "offset": 0.25, "speed": 1.07, "gaps": [[5.73, 0.8]]},
  "script": "Llevo tres meses reescribiendo mi guía y ayer cambié la fuente de la portada <em>por cuarta vez</em>. …",
  "hook": {"tag": "el escenario del borrador eterno", "lines": ["la guía está casi lista.", "<em>desde hace tres meses</em>"], "out": 5.55},
  "end": {"from": 55.6, "lines": ["¿cuánto tiempo", "<em>ha estado esperando el tuyo?</em>"], "lines_at": [55.75, 56.6],
          "sub": "dímelo en los comentarios", "sub_at": "@comments", "handle": "@tuhandle", "handle_at": 58.6},
  "cover": {"from": 0, "to": 4.35, "title": "BORRADOR", "left": "N.º4 · Octubre", "right": "@tuhandle", "top": 330},
  "cover_t": 2.0,
  "stamps": [{"seg": ["I", "J"], "text": "tanya · 2 años en borradores"}],
  "punch": [[3.02, 4.4], ["@mil", 9.0]],
  "segments": [
    {"id": "A", "clip": "src/mesa_nocturna.mp4", "ss": 9.5, "dur": 2.5, "crop": [0, 0.196, 0.75], "cut": true},
    {"id": "B", "clip": "src/llaves.mp4", "ss": 1.3, "dur": 1.9, "move": "ninguno"},
    {"id": "E", "clip": "src/caminar_telefono.mov", "ss": 0.8, "dur": 4.5, "cut": true, "in": "zoom"},
    {"id": "I", "clip": "src/cafe.mp4", "ss": 0.3, "dur": 3.2, "look": "byn"},
    {"id": "K", "clip": "src/caminar.mov", "ss": 14.0, "dur": 4.95, "look": "estallido"},
    {"id": "N", "clip": "src/desayuno.mov", "ss": 0.0, "dur": 3.45, "rate": 0.4},
    {"id": "Q", "clip": "src/pradera.mov", "ss": 13.2, "dur": 9.1, "move": "alejar", "in": "zoom"}
  ],
  "caption": "…",
  "music": "synth"
}

Un ejemplo real completo (ucraniano, 61 s, 17 segmentos, todos los efectos a continuación) está en $(reelsmith root)/examples/chernetka/reel.json; uno mínimo en examples/template/reel.json.

Voz y subtítulos

  • lang: idioma Whisper de la voz en off ("uk", "en", …); omitido = detección automática (o REELSMITH_LANG).
  • vo.gaps [tiempo_vo, segundos_extra]: una pausa de respiración insertada en el punto más silencioso cerca de ese tiempo de la voz (acelerada) — espacio para un montaje de fotos. vo.speed: factor atempo.
  • Anclajes "@palabra": cualquier tiempo en gancho / cierre / viñetas / glass / checklist / portada / órbita / muro / acercamiento / subs_skip puede ser "@mil" (inicio de esa palabra del guion; coincidencia exacta primero, si no, prefijo), "@otravez#2" (2.ª aparición), "@dosveces+0.3". Las palabras que Whisper malinterpreta obtienen tiempos interpolados — usa segundos ahí. out/words.json tiene los tiempos reales después de --stills.
  • subs / punch: omitidos = automáticos a partir de script + tiempos de palabras (5–7 palabras, 1–2 líneas, palabras acentuadas en color acento cursiva, sin punto final, una línea nunca termina en «y/en/de…»; acercamientos en hasta 4 frases acentuadas con ≥ 3 s de separación). Sobrescribe con "subs": [[a, b, "html"]], "punch": [[a, b]]. Los subtítulos se ocultan mientras la tarjeta de gancho está arriba, debajo de los títulos glass y listas de verificación, y una vez que comienza la tarjeta final (subs_from / subs_until / subs_skip [[a, b]] para ajustar).

Tarjetas y texto

  • hook: tarjeta de papel visible desde el fotograma 0 (at: [t…] revela líneas una por una, size, top). end: tarjeta desde from, líneas en lines_at, sub, handle.
  • stamps: píldora monocromática en la parte superior izquierda sobre los segmentos listados (lugar, fecha, nombre del personaje).
  • cover (historia de portada + interrupción de fotograma): cabecera de revista ajustada al ancho, las letras caen; en segmentos con "cut": true la persona se sitúa delante del título. Elige/recorta una toma donde la parte superior de la cabeza esté 40–80 px por debajo de la parte superior de la cabecera — nunca sobre los ojos. color para la cabecera, top para moverla. cover_t ≈ 2 para que out/cover.jpg muestre la portada terminada.
  • glass (tipo glass): {"from", "to", "lines", "at", "top"} título de vidrio esmerilado.
  • checklist: {"from", "to", "title", "items": [{"text", "sub", "at", "sub_at"}]} tarjeta que crece elemento por elemento, los ticks se dibujan en at.
  • wall (muro de titulares): {"from", "to", "items": [...], "every": 0.06} mosaicos de nombres de archivo/titulares que se apilan; coloca un título glass encima.
  • orbit: {"from", "to", "seg", "text": "1000 SEGUIDORES · ", "speed", "scale", "tilt", "lift"} anillo de texto alrededor de la cabeza en un segmento cut; la mitad trasera pasa detrás de la persona. Mejor en un selfie cercano.
  • doodles (viñeta hirviente): {"kind": "text"|"circle"|"underline"|"strike"|"arrow", "at", "to", "x", "y", …} — text: text, size, rot, write; circle/strike: w, h (strike n zigzags; 3 mantiene la palabra legible); underline: w; arrow: x2, y2, bend; color, width. Tinta acentuada con un halo crema, escrita de izquierda a derecha, temblando cada 3 fotogramas. Mantenlos por encima de y ≈ 1000 mientras la tarjeta de gancho está arriba y fuera de los rostros.

Segmentos

  • rutas: relativas a la carpeta del reel, luego al directorio actual, luego al repositorio. Las fotos HEIC/JPG mediante img están bien.
  • ss inicio en el clip, dur segundos; pos 0–1 encuadre horizontal para fuentes anchas; crop [x, y, size] = recorte de acercamiento del fotograma vertical (se mantiene nítido desde 4K); rate < 1 = cámara lenta cuando solo una parte corta es utilizable.
  • cut: true = máscaras de persona Vision de macOS para este segmento (reelsmith masks, ~0.2 s/fotograma, en caché). Necesario para portada y órbita.
  • in: "zoom" (la toma saliente entra rápidamente con desenfoque, la nueva aterriza desde un zoom) o "whip" (deslizamiento rápido borroso, sin bordes negros). Úsalo en 4–6 cortes clave, no en todos.
  • look: "" película cálida · "memory" zoom-through desvanecido para montajes de fotos (date agrega un sello de fecha de cámara naranja) · "bw" blanco y negro (la música se amortigua) · "burst" gris → floración de color (la música se abre).
  • move: push (empuje lento hacia adentro predeterminado) · tilt-up · pull-out · none.

Sonido y color

  • music: "synth" (una base lo-fi generada moldeada por los looks — funciona como marcador de posición, los creadores suelen preferir una pista real), una ruta a un archivo de audio del que tengas los derechos, o null. El sonido del clip original nunca se usa.
  • music_gain: predeterminado 0.16 bajo la voz (sidechain-ducked).
  • colors: {"accent": "#D4573A", "cream": "#F4EFE6", "ink": "#1F1A17"} (predeterminados: beige / terracota).

Reglas que surgieron de comentarios reales

  • Los efectos deben leerse en tamaño de teléfono en la primera visualización: grandes, de color acento, animados. Viñetas crema pequeñas y un panel de vidrio tenue fueron interpretados como «¿dónde están los efectos?».
  • Sin destellos blancos repetidos en los cortes. Silencia el sonido del clip original. 3–5 técnicas por reel, no todas.
  • Nunca pongas texto, tarjetas o viñetas sobre los ojos; mueve la tarjeta o reencuadra la toma.
  • Revisa las pantallas y fondos de los clips a resolución completa: mensajes de otras personas, matrículas, nombres de calles, paneles privados → salta esos segundos.
  • Material fresco en cada reel (used_footage.md). Pregunta antes de usar tomas con rostros de otras personas.

Individual skills in this repo

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

lalimi/claude-reelsmith

Finish a built reel in CapCut — upload the picture (everything baked in), the voice and music stems, place CapCut library sound effects on every effect and transition, push an editable CapCut Web draft, and let the creator swap music and sounds by ear before exporting. Uses the CapCut MCP connector bundled with this plugin. Use when asked for "sound effects from CapCut", "put it into CapCut", "editable draft", "change the music in CapCut", "капкат".

lalimi/claude-reelsmith

The director of a reel made from the creator's own footage — runs the whole job from idea to a post-ready MP4 + cover + caption and makes the creative calls (which story structure, which 3–5 effects go on which beat, where the transitions are, pacing, sound), then reviews the cut like a critic before handing it over. Use when someone says "make me a reel", "turn my clips into a reel", "edit this like a pro", "what do you think as a critic / director", "make it more alive", "add effects", "зроби рілс", "що скажеш як критик", or when a reel is being planned, reviewed or re-cut.

lalimi/claude-reelsmith

Write, analyse and plan short-video scripts (Instagram Reels, TikTok, YouTube Shorts, 30–60 s) in four proven viral structures — contrarian insight with a named archetype, series episode with a cliffhanger, humor hook + list of N factors, and "the scenario of …" confession. Use when the user asks to "write a reel script", "give me reel ideas", "analyse this viral reel", "break this reel down", "turn this transcript into a structure", "make one like this reel", pastes a reel transcript, or wants to edit a reel that has no script yet. Triggers in any language (e.g. "напиши сценарій для рілса"). Writes flowing spoken text in the creator's own language (English, Ukrainian, …), checks it against a checklist, and hands a montage plan to reel-builder, talking-head-edit or reel-director.

Skills relacionados