Communitygithub.com

lalimi/claude-reelsmith

Crie um reel de locução completo (Instagram Reels / TikTok / Shorts, 1080×1920, 25–70 s) a partir de um único arquivo reel.json — usando seus próprios clipes e fotos, locução, legendas com palavras de destaque, cartões de gancho/fim, carimbos, punch-ins, transições e efeitos de movimento (cover story, orbit text, doodle boil, glass type, checklist, headline wall, preto-e-branco → explosão de cor, fotomontagem), trilha sonora, mixagem em −14 LUFS, folha de verificação de zonas seguras, capa e legenda. Use após o roteiro ser aprovado (skill reel-script), quando o reel for uma locução sobre imagens (para alguém falando para a câmera, use talking-head-edit) ou quando pedirem para "fazer / construir / reconstruir / recortar um reel", "змонтуй рілс", "перезбери".

O que é claude-reelsmith?

O ReelSmith é uma skill especializada para construir reels completos de locução (Instagram Reels, TikTok, Shorts) no formato 1080×1920, com duração entre 25 e 70 segundos. Ele automatiza todo o pipeline de produção de vídeo: a partir de um arquivo `reel.json`, a skill gera frames, sincroniza a locução com legendas animadas, aplica efeitos visuais (como cartão de gancho, texto em órbita, doodle boil, vidro fosco, checklist, parede de manchetes, explosão de cor) e transições de movimento (zoom, whip). Também gerencia a mixagem de áudio em -14 LUFS, a criação de capa, legenda e uma folha de verificação de zonas seguras (QA sheet) para garantir que nenhum elemento importante fique nas áreas de interface do usuário do TikTok/Reels. A skill suporta o uso de vídeos e fotos próprios do criador, locução gravada ou gerada por ElevenLabs, e efeitos visuais que são grandes e coloridos o suficiente para serem vistos em uma tela de telefone na primeira reprodução. O fluxo de trabalho é rápido (~10 minutos do criador por reel) e inclui etapas de verificação com `--stills` para validar legendas e posicionamento antes da renderização final. A skill é utilizada principalmente em conjunto com outras skills do ecossistema, como `reel-script` e `reel-director`, e é executada via CLI com comandos como `reelsmith new`, `reelsmith build` e `reelsmith stills`.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Construtor de Reel

Engine: $(reelsmith root)/engine/ (build.py, template.html, music.py, pull_vo.py, capcut.py, fonts/). Uma pasta por reel: <reel-dir>/reel.json → <reel-dir>/out/reel.mp4. Se o reelsmith disser que não está configurado, execute reelsmith setup uma vez.

reelsmith new reels/meu-reel            # pasta com src/, vo/ e um reel.json de modelo
reelsmith sheet reels/meu-reel/src/*    # folhas de contato → escolha `ss` para cada segmento
reelsmith build reels/meu-reel --stills # ~1 min: frames, temporizações de palavras, legendas, out/qa_sheet.jpg
reelsmith stills reels/meu-reel 0.5,7.8,21.3   # frames de verificação extras
reelsmith build reels/meu-reel          # renderização completa (~4–5 min para 60 s)

Sempre execute --stills primeiro: leia a lista de legendas impressa e observe out/qa_sheet.jpg (vermelho = zonas de interface do Reels/TikTok; nada importante pode ficar no vermelho). Corrija o reel.json, depois construa. Verifique as linhas de volume impressas no final (−14 LUFS ±1, pico ≤ −1 dB). Em seguida, observe os frames do MP4 final em cada efeito e transição antes de entregá-lo.

Fluxo de trabalho (tempo do criador ≈ 10 min por reel)

  1. Roteiro: skill reel-script → criador aprova. Marque as palavras de destaque com <em>…</em>; mantenha números como dígitos para exibição.
  2. Locução: gravação própria do criador (vo/vo.mp3) ou ElevenLabs (veja docs/voice.md): texto TTS = roteiro sem tags, números escritos por extenso, nomes de marcas escritos foneticamente. No plano gratuito, gere na interface web do ElevenLabs (Claude no Chrome pode controlá-la), depois reelsmith voice <reel-dir> puxa as 2 gravações mais recentes para vo/ com durações. Transcreva ambas, mantenha a mais limpa como vo/vo.mp3. Vozes lentas: "speed": 1.07 em vo.
  3. Imagens: skill footage-scout — apenas clipes novos (verifique used_footage.md), folhas de contato, verificação de privacidade. As durações dos segmentos devem somar até o final da locução + ~2 s.
  4. Plano de edição: skill reel-director escolhe os 3–5 efeitos para esta história e onde as transições vão.
  5. Escreva reel.json → --stills → corrija → construa → entregue out/reel.mp4 + out/cover.jpg + out/caption.txt.
  6. Passagem de som opcional no CapCut: skill reel-capcut (efeitos sonoros de biblioteca + música escolhida de ouvido).

reel.json

{
  "vo": {"file": "vo/vo.mp3", "offset": 0.25, "speed": 1.07, "gaps": [[5.73, 0.8]]},
  "script": "Estou reescrevendo meu guia há três meses e ontem mudei a fonte da capa <em>pela quarta vez</em>. …",
  "hook": {"tag": "o cenário do rascunho eterno", "lines": ["o guia está quase pronto.", "<em>há três meses</em>"], "out": 5.55},
  "end": {"from": 55.6, "lines": ["quanto tempo", "<em>o seu está esperando?</em>"], "lines_at": [55.75, 56.6],
          "sub": "conte nos comentários", "sub_at": "@comments", "handle": "@seudominio", "handle_at": 58.6},
  "cover": {"from": 0, "to": 4.35, "title": "RASCUNHO", "left": "Nº4 · Outubro", "right": "@seudominio", "top": 330},
  "cover_t": 2.0,
  "stamps": [{"seg": ["I", "J"], "text": "tanya · 2 anos em rascunhos"}],
  "punch": [[3.02, 4.4], ["@mil", 9.0]],
  "segments": [
    {"id": "A", "clip": "src/mesa_noite.mp4", "ss": 9.5, "dur": 2.5, "crop": [0, 0.196, 0.75], "cut": true},
    {"id": "B", "clip": "src/teclas.mp4", "ss": 1.3, "dur": 1.9, "move": "none"},
    {"id": "E", "clip": "src/andar_com_celular.mov", "ss": 0.8, "dur": 4.5, "cut": true, "in": "zoom"},
    {"id": "I", "clip": "src/cafe.mp4", "ss": 0.3, "dur": 3.2, "look": "bw"},
    {"id": "K", "clip": "src/caminhar.mov", "ss": 14.0, "dur": 4.95, "look": "burst"},
    {"id": "N", "clip": "src/cafe_da_manha.mov", "ss": 0.0, "dur": 3.45, "rate": 0.4},
    {"id": "Q", "clip": "src/prado.mov", "ss": 13.2, "dur": 9.1, "move": "pull-out", "in": "zoom"}
  ],
  "caption": "…",
  "music": "synth"
}

Um exemplo real completo (ucraniano, 61 s, 17 segmentos, todos os efeitos abaixo) está em $(reelsmith root)/examples/chernetka/reel.json; um exemplo mínimo em examples/template/reel.json.

Locução e legendas

  • lang: Idioma Whisper da locução ("uk", "en", …); omitido = detecção automática (ou REELSMITH_LANG).
  • vo.gaps [vo_time, extra_s]: uma pausa para respiração inserida no ponto mais silencioso próximo àquele momento da locução (acelerada) — espaço para uma fotomontagem. vo.speed: fator atempo.
  • âncoras "@palavra": qualquer tempo em hook / end / doodles / glass / checklist / cover / orbit / wall / punch / subs_skip pode ser "@mil" (início daquela palavra do roteiro; correspondência exata primeiro, senão prefixo), "@novamente#2" (2ª ocorrência), "@duas_vezes+0.3". Palavras que o Whisper ouvir errado recebem tempos interpolados — use segundos ali. out/words.json tem os tempos reais após --stills.
  • subs / punch: omitido = automático a partir de script + tempos das palavras (5–7 palavras, 1–2 linhas, palavras de destaque em cor de destaque itálico, sem ponto final, uma linha nunca termina em "e/em/de…"; punch-ins em até 4 frases de destaque com ≥ 3 s de intervalo). Substitua com "subs": [[a, b, "html"]], "punch": [[a, b]]. As legendas ficam ocultas enquanto o cartão de gancho está visível, sob títulos de vidro e listas de verificação, e assim que o cartão final começa (subs_from / subs_until / subs_skip [[a, b]] para ajustar).

Cartões e texto

  • hook: cartão de papel visível desde o frame 0 (at: [t…] revela linhas uma a uma, size, top). end: cartão a partir de from, linhas em lines_at, sub, handle.
  • stamps: pílula mono no canto superior esquerdo sobre os segmentos listados (local, data, nome do personagem).
  • cover (cover story + quebra de frame): cabeçalho de revista ajustado à largura, letras caem; em segmentos com "cut": true a pessoa fica na frente do título. Escolha/recorte um plano onde o topo da cabeça fique 40–80 px abaixo do topo do cabeçalho — nunca sobre os olhos. color para o cabeçalho, top para movê-lo. cover_t ≈ 2 para que out/cover.jpg mostre a capa finalizada.
  • glass (vidro fosco): {"from", "to", "lines", "at", "top"} título em vidro fosco.
  • checklist: {"from", "to", "title", "items": [{"text", "sub", "at", "sub_at"}]} cartão que cresce item por item, marcas desenhadas em at.
  • wall (parede de manchetes): {"from", "to", "items": [...], "every": 0.06} blocos de nomes de arquivo/manchetes empilhando; coloque um título de vidro por cima.
  • orbit: {"from", "to", "seg", "text": "1000 SEGUIDORES · ", "speed", "scale", "tilt", "lift"} anel de texto em volta da cabeça em um segmento cut; a metade de trás passa atrás da pessoa. Melhor em uma selfie próxima.
  • doodles (doodle boil): {"kind": "text"|"circle"|"underline"|"strike"|"arrow", "at", "to", "x", "y", …} — texto: text, size, rot, write; círculo/risco: w, h (risco n ziguezagues; 3 mantém a palavra legível); sublinhado: w; seta: x2, y2, bend; color, width. Tinta de destaque com um halo creme, escrita da esquerda para a direita, oscilando a cada 3 frames. Mantenha-as acima de y ≈ 1000 enquanto o cartão de gancho estiver visível e fora dos rostos.

Segmentos

  • caminhos: relativos à pasta do reel, depois ao diretório atual, depois ao repositório. Fotos HEIC/JPG via img são aceitáveis.
  • ss início no clipe, dur segundos; pos 0–1 enquadramento horizontal para fontes largas; crop [x, y, size] = corte com aproximação do frame vertical (permanece nítido a partir de 4K); rate < 1 = câmera lenta quando apenas uma parte curta é utilizável.
  • cut: true = máscaras de pessoa do macOS Vision para este segmento (reelsmith masks, ~0,2 s/frame, em cache). Necessário para cover e orbit.
  • in: "zoom" (o plano de saída entra rapidamente com desfoque, o novo plano chega de um zoom) ou "whip" (deslize rápido desfocado, sem bordas pretas). Use em 4–6 cortes-chave, não em todos.
  • look: "" filme quente · "memory" entrada com zoom desbotado para fotomontagens (date adiciona um carimbo de data de câmera laranja) · "bw" preto e branco (música abafada) · "burst" cinza → colorido (música se abre).
  • move: push (aproximação lenta padrão) · tilt-up · pull-out · none.

Som e cor

  • music: "synth" (uma base lo-fi gerada moldada pelos looks — aceitável como placeholder, criadores geralmente preferem uma faixa real), um caminho para um arquivo de áudio para o qual você tem direitos, ou null. O som original do clipe nunca é usado.
  • music_gain: padrão 0,16 sob a locução (sidechain-ducked).
  • colors: {"accent": "#D4573A", "cream": "#F4EFE6", "ink": "#1F1A17"} (padrões: bege / terracota).

Regras que vieram de feedback real

  • Os efeitos devem ser legíveis no tamanho do telefone na primeira visualização: grandes, na cor de destaque, animados. Doodles creme pequenos e um painel de vidro fraco foram "cadê os efeitos?".
  • Sem flashes brancos repetidos nos cortes. Silencie o som original do clipe. 3–5 técnicas por reel, não todas.
  • Nunca coloque texto, cartões ou doodles sobre os olhos; mova o cartão ou reenquadre o plano.
  • Verifique as telas e fundos dos clipes em resolução total: mensagens de outras pessoas, placas de carro, nomes de ruas, painéis privados → pule esses segundos.
  • Imagens novas a cada reel (used_footage.md). Pergunte antes de usar planos com rostos de outras pessoas.

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.

Habilidades Relacionadas