<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Artigos do Salmo (@eusouosalmo)</title>
<link>https://eusouosalmo.dev/artigos</link>
<description>Os artigos e tutoriais do Salmo, do mais novo ao mais antigo.</description>
<language>pt-BR</language>
<atom:link href="https://eusouosalmo.dev/artigos/rss.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Mon, 02 Nov 2026 00:00:00 GMT</lastBuildDate>
<item><title>Como eu parei de ensinar a IA a editar meus reels toda vez</title><link>https://eusouosalmo.dev/artigos/skills-de-edicao-de-reels</link><guid isPermaLink="true">https://eusouosalmo.dev/artigos/skills-de-edicao-de-reels</guid><description>O fluxo de skills que escreve o roteiro, corta, anima e monta os meus reels no Claude Code, e como você instala e deixa ele com a sua cara.</description><pubDate>Mon, 02 Nov 2026 00:00:00 GMT</pubDate><dc:creator>Salmo Mascarenhas</dc:creator><content:encoded><![CDATA[<p>Toda vez que eu pedia para uma IA editar um reel meu, eu explicava o processo inteiro de novo. E mesmo explicando, ela mudava o estilo de um vídeo para o outro, porque não existia um fluxo definido. Então eu parei de ensinar a mesma coisa toda vez: transformei cada etapa da edição numa skill.</p>
<p>Uma skill é um arquivo de instruções que você instala no agente de IA. Ele lê a skill sozinho quando o seu pedido combina com ela e segue o processo escrito ali, em vez de inventar um novo a cada vídeo. Você ensina uma vez.</p>
<p>Por dentro, a skill é um texto. A descrição no topo diz ao agente quando usar a skill, e o resto é o processo, passo a passo:</p>
<figure class="content-figure"><img alt="A página do arquivo SKILL.md da skill reel-cut no GitHub, com o nome, a descrição marcada em amarelo e o status beta." loading="lazy" decoding="async" width="1280" height="600" src="https://eusouosalmo.dev/_astro/skill-md-reel-cut.BmFtF-eC_ZWeRFy.webp"><figcaption class="sm-type-small">O começo da skill de corte: o nome, a descrição que diz quando usar e o status.</figcaption></figure>
<div class="callout sm-window" data-callout="important" data-collapsible="false"><div class="callout-title sm-window__bar"><div class="callout-title-icon sm-type-label" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg></div><div class="callout-title-text sm-type-label">Importante</div></div><div class="callout-content"><p>As skills de reel rodam no Claude Code, que também fica dentro do Claude desktop, na aba Code. O chat comum não roda, porque elas usam programas e arquivos do seu computador.</p></div></div>
<figure class="content-figure"><img alt="O topo da barra lateral do Claude, com o botão Code ao lado do botão de chat e a dica “Code” aparecendo." loading="lazy" decoding="async" width="600" height="138" src="https://eusouosalmo.dev/_astro/botao-code.D8M1RbNk_1yLtIw.webp"><figcaption class="sm-type-small">No Claude desktop, o botão Code fica no topo da barra lateral, ao lado do chat.</figcaption></figure>
<p>Estas são as skills, na ordem em que entram num reel:</p>
<div class="content-table" tabindex="0"><table>
<thead>
<tr>
<th class="sm-type-label">Skill</th>
<th class="sm-type-label">O que faz</th>
<th class="sm-type-label">O que você aprova</th>
</tr>
</thead>
<tbody>
<tr>
<td class="sm-type-body"><code>reel-script</code></td>
<td class="sm-type-body">Escreve o roteiro a partir das suas anotações, com gancho, uma chamada final e o texto do teleprompter cronometrado</td>
<td class="sm-type-body">o roteiro, antes de gravar</td>
</tr>
<tr>
<td class="sm-type-body"><code>reel-cut</code></td>
<td class="sm-type-body">Junta as gravações, escolhe a melhor tomada de cada fala e tira as pausas</td>
<td class="sm-type-body">a tabela de tomadas, antes do corte</td>
</tr>
<tr>
<td class="sm-type-body"><code>reel-motion</code></td>
<td class="sm-type-body">Decide quais trechos viram animação e cria as cenas no tempo de cada palavra</td>
<td class="sm-type-body">o plano e os frames parados, antes de renderizar</td>
</tr>
<tr>
<td class="sm-type-body"><code>reel-finish</code></td>
<td class="sm-type-body">Monta o reel como projeto do CapCut ou como mp4 pronto, no estilo de um projeto seu</td>
<td class="sm-type-body">o reel montado</td>
</tr>
<tr>
<td class="sm-type-body"><code>post-caption</code></td>
<td class="sm-type-body">Escreve a legenda do post</td>
<td class="sm-type-body">a legenda</td>
</tr>
<tr>
<td class="sm-type-body"><code>reel-edit</code></td>
<td class="sm-type-body">Roda corte, animação e acabamento em ordem, sem você chamar uma por uma</td>
<td class="sm-type-body">cada etapa, antes da próxima</td>
</tr>
</tbody>
</table></div>
<p>Na primeira frase de um reel meu sobre a urna eletrônica, que desmonta esse boato, eu gravei a mesma fala quatro vezes. A skill de corte ficou com uma:</p>
<figure class="content-figure"><img alt="Quatro quadros da mesma fala, “As urnas eletrônicas são fraudulentas.”, gravada em três arquivos. Os três primeiros aparecem apagados, com as notas fala baixa de ensaio, repetida no mesmo arquivo e seguida de “De novo… corta aí”. O quarto tem borda azul e o selo Escolhida." loading="lazy" decoding="async" width="1600" height="942" src="https://eusouosalmo.dev/_astro/tomadas-da-mesma-fala.CooSLzAR_2apzEW.webp"><figcaption class="sm-type-small">Quatro tomadas da mesma fala, e a que entrou no reel.</figcaption></figure>
<p>No fim, a skill de acabamento entrega o projeto montado no CapCut, com a gravação, as cenas e os sons na timeline. Eu só abro, ajusto o que quero e exporto:</p>
<figure class="content-figure"><img alt="O CapCut desktop com o projeto 10-abrindo-urna-pt01 aberto: na mídia, o corte, as cenas e os sons; no player, o reel com a urna em cima e a gravação embaixo; na timeline, as trilhas de vídeo, cenas e som já montadas." loading="lazy" decoding="async" width="1366" height="1072" src="https://eusouosalmo.dev/_astro/capcut-projeto.C7aFpXtA_eN2i6.webp"><figcaption class="sm-type-small">O projeto do reel da urna, montado pela skill, aberto no CapCut.</figcaption></figure>
<h2 id="instalar" class="sm-type-title"><a href="#instalar">Instalar</a></h2>
<div class="callout sm-window" data-callout="tip" data-collapsible="false"><div class="callout-title sm-window__bar"><div class="callout-title-icon sm-type-label" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor"><path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></svg></div><div class="callout-title-text sm-type-label">O jeito mais fácil</div></div><div class="callout-content"><p>Você não precisa fazer nada disto na mão. Abra o Claude Code e peça: “instale as skills do eusouosalmo com <code>npx skills@latest add eusouosalmo/skills</code> e tudo o que elas precisam para rodar”. Ou clique em “Copiar para a IA”, no topo deste artigo, e cole no Claude Code: ele segue os passos abaixo no seu computador.</p></div></div>
<p>O que precisa estar no seu computador:</p>
<ul>
<li>Node.js, para rodar o instalador</li>
<li>ffmpeg</li>
<li>um Whisper com tempo por palavra (faster-whisper ou whisper.cpp), para transcrever as gravações</li>
<li>Python com Playwright, para criar as cenas</li>
<li>o CapCut desktop, só se você quiser o reel como projeto do CapCut; o mp4 pronto não precisa dele</li>
</ul>
<p>Você não precisa instalar tudo antes. Na primeira vez, a skill de animação confere o que falta e mostra o comando para o seu sistema.</p>
<ol>
<li>
<p>No terminal do seu computador (no Windows, o PowerShell), rode:</p>
<div class="content-code"><div class="content-code__bar"><span class="content-code__label sm-type-mono-body">bash</span></div><pre class="astro-code css-variables sm-type-mono-body" style="background-color:var(--astro-code-background);color:var(--astro-code-foreground); overflow-x: auto;" tabindex="0" data-language="bash"><code><span class="line"><span style="color:var(--astro-code-token-function)">npx</span><span style="color:var(--astro-code-token-string)"> skills@latest</span><span style="color:var(--astro-code-token-string)"> add</span><span style="color:var(--astro-code-token-string)"> eusouosalmo/skills</span></span></code></pre></div>
<p>O instalador pergunta quais skills você quer e em quais agentes. Para os reels, você não precisa da <code>skill-forge</code> nem da <code>git-guardrails</code>, que são de engenharia. Use a barra de espaço para marcar cada uma e Enter para confirmar:</p>
<figure class="content-figure"><img alt="O instalador no terminal: ele clona o repositório eusouosalmo/skills e mostra a lista de skills para marcar, com Select All no topo." loading="lazy" decoding="async" width="896" height="848" src="https://eusouosalmo.dev/_astro/instalador.Cj8e_-Xm_Z1gn407.webp"><figcaption class="sm-type-small">O instalador lista as skills do repositório para você escolher.</figcaption></figure>
</li>
<li>
<p>No Claude Code, rode <code>/setup-eusouosalmo-skills</code> uma vez. Ela acha as suas pastas (reels, roteiros, estilo, CapCut) e guarda os caminhos, para nenhuma skill perguntar de novo.</p>
</li>
<li>
<p>Peça em linguagem normal, por exemplo: “corta os brutos da pasta desse reel e tira as tomadas ruins”.</p>
</li>
</ol>
<h2 id="do-roteiro-ao-reel-pronto" class="sm-type-title"><a href="#do-roteiro-ao-reel-pronto">Do roteiro ao reel pronto</a></h2>
<p>É o caminho que eu sigo em todo reel:</p>
<ol>
<li>
<p><strong>Escreva o roteiro.</strong> Peça para a skill de roteiro a partir das suas anotações. Ela entrega o texto do teleprompter já cronometrado e, para cada bloco, o que aparece na tela:</p>
<figure class="content-figure"><img alt="Um roteiro aberto no Obsidian, em tabela com três colunas: o bloco com o número de palavras, a fala e o visual. O gancho e a abertura do reel da urna descrevem a urna em vista explodida e a urna de 1996 com disquete." loading="lazy" decoding="async" width="920" height="590" src="https://eusouosalmo.dev/_astro/roteiro.BozWV2cM_Z2sMYf2.webp"><figcaption class="sm-type-small">O começo do roteiro do reel da urna: a fala e o que aparece na tela em cada bloco.</figcaption></figure>
</li>
<li>
<p><strong>Grave em ordem.</strong> Grave na vertical, seguindo a ordem do roteiro, porque a ordem da gravação vira a ordem do vídeo. Repita cada frase até sair do jeito que você quer. Errou? Diga “corta” e comece a frase de novo. A skill de corte separa as tomadas do bastidor, então pode falar com quem está filmando entre uma tomada e outra.</p>
</li>
<li>
<p><strong>Junte tudo numa pasta.</strong> Uma pasta por reel, dentro da sua pasta de reels, com as gravações brutas e o roteiro. Eu deixo os brutos numa subpasta <code>brutos</code>, do jeito que saem do celular:</p>
<figure class="content-figure"><img alt="O Explorador de Arquivos do Windows na pasta D:, Vídeos, 10-abrindo-urna, brutos, com 28 vídeos MOV do celular em miniatura, de IMG_1605 a IMG_1632." loading="lazy" decoding="async" width="1280" height="720" src="https://eusouosalmo.dev/_astro/pasta-dos-brutos.DCKTpH2u_1s8v4S.webp"><figcaption class="sm-type-small">Os 28 brutos do reel da urna, numa subpasta da pasta do reel.</figcaption></figure>
</li>
<li>
<p><strong>Vai usar o CapCut?</strong> Crie nele um projeto vazio e feche o app antes de pedir a edição.</p>
</li>
<li>
<p><strong>Peça a edição completa:</strong></p>
<div class="content-prompt"><div class="content-code__bar"><span class="content-code__label sm-type-mono-body">Edição completa</span></div><div class="content-prompt__body sm-type-mono-body"><p>Edite o reel da pasta [nome da pasta] de ponta a ponta. O roteiro está na pasta. Quero o projeto do CapCut.</p></div></div>
</li>
<li>
<p><strong>Aprove nas paradas.</strong> O agente para em três momentos: a tabela de tomadas, o plano das cenas e a prévia das cenas. Nada é renderizado antes da sua resposta.</p>
</li>
<li>
<p><strong>Abra, ajuste e exporte.</strong> Depois, peça a legenda do post: “escreva a legenda do post desse reel”.</p>
</li>
</ol>
<div class="callout sm-window" data-callout="note" data-collapsible="false"><div class="callout-title sm-window__bar"><div class="callout-title-icon sm-type-label" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></div><div class="callout-title-text sm-type-label">Nota</div></div><div class="callout-content"><p>Se a sessão cair no meio, não tem problema: a edição anota o progresso num arquivo <code>edicao.md</code> dentro da pasta do reel, e um agente novo continua de onde parou.</p></div></div>
<h2 id="deixe-o-fluxo-com-a-sua-cara" class="sm-type-title"><a href="#deixe-o-fluxo-com-a-sua-cara">Deixe o fluxo com a sua cara</a></h2>
<p>O fluxo chega com o meu jeito de falar e de editar. A ideia é você trocar o meu pelo seu, em três frentes.</p>
<p><strong>A sua voz.</strong> A skill <code>eusouosalmo-voice</code> é o jeito como eu falo e escrevo. Use ela como modelo para criar a skill da sua voz, senão o seu roteiro sai falando igual a mim. Junte alguns textos seus, como legendas que você já postou ou a transcrição de um vídeo, e peça:</p>
<div class="content-prompt"><div class="content-code__bar"><span class="content-code__label sm-type-mono-body">A sua voz</span></div><div class="content-prompt__body sm-type-mono-body"><p>Use a skill eusouosalmo-voice como modelo e crie uma skill com a minha voz a partir destes textos meus. Mantenha a mesma estrutura e troque os exemplos, as expressões e as regras pelas minhas.</p><p>[cole aqui de três a cinco textos seus]</p></div></div>
<p><strong>A sua cara visual.</strong> As cenas seguem as cores e as fontes de um design system, e a montagem final copia o estilo de edição de um projeto seu do CapCut: a entrada, os sons, o zoom e a legenda. Diga quais são os seus:</p>
<div class="content-prompt"><div class="content-code__bar"><span class="content-code__label sm-type-mono-body">A sua cara visual</span></div><div class="content-prompt__body sm-type-mono-body"><p>Estas são as cores e as fontes da minha marca: [cores em hexadecimal e nomes das fontes]. Use essas cores e fontes nas cenas dos meus reels. E use o meu projeto do CapCut chamado [nome do projeto] como molde da edição: entrada, sons, zoom e legenda.</p></div></div>
<p><strong>O seu gosto.</strong> Quando a skill de animação entrega as cenas, ela pergunta o que você achou. Cada motivo que você der vira uma regra num arquivo de estilo, o <code>estilo.md</code>, e vale para todos os vídeos seguintes. Uma das minhas: pedi para ver os frames de cada cena antes de gerar o vídeo, porque corrigir uma imagem parada gasta muito menos token do que refazer a animação. Hoje a skill faz isso sempre. Esta foi a prévia das cenas do reel da urna, aprovada antes do render:</p>
<figure class="content-figure"><img alt="Dez quadros parados das cenas do reel da urna eletrônica, lado a lado em duas fileiras: a urna aberta, a linha do tempo das etapas do voto, o boletim de urna, a assinatura digital, a viagem sem internet, a totalização e o cartão da parte 2." loading="lazy" decoding="async" width="2200" height="816" src="https://eusouosalmo.dev/_astro/previa-das-cenas.tWc58BkK_Z1tk4e9.webp"><figcaption class="sm-type-small">A prévia das cenas: imagens paradas que eu aprovo antes de virar vídeo.</figcaption></figure>
<p>Outros exemplos do que você pode dizer:</p>
<ul>
<li>“Nunca cubra o meu rosto com animação.”</li>
<li>“As palavras na tela entram em caixa baixa.”</li>
<li>“O meu logo aparece só no último segundo.”</li>
</ul>
<p>O seu arquivo começa vazio e vai ficando com a sua cara a cada vídeo.</p>
<h2 id="hoje" class="sm-type-title"><a href="#hoje">Hoje</a></h2>
<p>Hoje eu não explico mais o processo a cada vídeo. Eu peço, aprovo o que a skill me mostra, e cada correção fica guardada para o próximo. Esta é a diferença num reel meu, no mesmo instante, antes e depois do fluxo:</p>
<figure class="content-figure"><img alt="À esquerda, eu falando para a câmera na gravação bruta. À direita, o mesmo quadro no reel pronto: em cima, a animação de uma urna eletrônica com uma linha do tempo das etapas do voto; embaixo, a gravação, com a legenda “ISSO OCORRA” entre as duas metades." loading="lazy" decoding="async" width="1104" height="960" src="https://eusouosalmo.dev/_astro/bruto-e-reel-pronto.Bt-vL6wJ_Z17iaEr.webp"><figcaption class="sm-type-small">A gravação bruta e o reel pronto, no mesmo instante.</figcaption></figure>
<p>Todas as skills estão no <a href="https://github.com/eusouosalmo/skills">repositório eusouosalmo/skills</a>.</p>
]]></content:encoded></item>
</channel>
</rss>
