reel
Skill16 starsChanged 40 days agoMITView on GitHub
Cria um reel vertical 1080x1920 pronto para postar, do gancho ao MP4 renderizado no computador da pessoa. Use quando a pessoa pedir "faz um reel sobre X", vídeo curto, reels para Instagram ou TikTok, roteiro com vídeo pronto, ou quiser transformar uma ideia, dica, lista ou conteúdo em vídeo animado com legenda. Faz uma entrevista curta, escreve gancho e roteiro cena a cena, gera a narração com a chave do ElevenLabs da própria pessoa (opcional), mixa a trilha que ela fornecer e renderiza com Remotion.
- Reads credentials
- Installs packages
10 other projects use a version of this.
Adopted by
Most recently taken up by
- bekhruztbx/ai-creative-teamtheir own version, first seen Oct 25, 2026
- Murtadha-Najem/instagram-account-audittheir own version, first seen Oct 15, 2026
- Bartimaeus-han/instagram-reel-skilltheir own version, first seen Oct 13, 2026
- lvupcrm/reels-automation-kittheir own version, first seen Oct 13, 2026
- waseemnasir2k26/reelforgetheir own version, first seen Oct 11, 2026
- Murtadha-Najem/claude-reeltheir own version, first seen Sep 19, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- bekhruztbx/ai-creative-team★ 18same name
- waseemnasir2k26/reelforge★ 10same name
- david-vrba/claude-power-skills★ 4same name
- lvupcrm/reels-automation-kit★ 2same name
- Bartimaeus-han/instagram-reel-skill★ 0same name
- denno13/claude-social-kit★ 0same name
- Murtadha-Najem/claude-reel★ 0same name
- Murtadha-Najem/instagram-account-audit★ 0same name
- Omerd26/reel-skill★ 0same name
- sourav2024/reelspec★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- carrosselSkill
- comentariosSkill
- legendaSkill
- perfilSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 52
No máximo 6 ou 7 palavras faladas.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Reel pronto, renderizado na sua máquina
Com um pedido como "faz um reel sobre 3 erros de quem começa a correr, para o meu perfil de corrida", você entrega o reel pronto: gancho, roteiro cena a cena, narração, trilha e o MP4 vertical 1080x1920, renderizado localmente com Remotion. Nada é enviado para app de edição.
O vídeo é tipográfico: fundo escuro com um brilho suave, cenas com título grande, lista numerada, número animado, cartão de antes/depois e um bloco final "Comenta PALAVRA", com a legenda aparecendo palavra por palavra no centro, alternando peso forte e itálico.
<skill> abaixo é a pasta desta skill (onde está este SKILL.md).
Pré-requisitos
- Node 18 ou mais novo (
node -v). Obrigatório. - ffmpeg (opcional). Só para nivelar o volume da trilha. Sem ele, a música entra como está.
Mac:
brew install ffmpeg. Windows:winget install ffmpeg. Linux:sudo apt install ffmpeg. - Chave do ElevenLabs (opcional). Sem ela o reel sai sem voz, só com legenda animada e trilha.
- Uns 600 MB livres para o Remotion (instalado uma vez) e o navegador que ele baixa no primeiro render. Internet no primeiro render, para baixar as fontes do Google Fonts.
O fluxo, em 7 passos
1. Entrevista rápida (uma mensagem só)
Pergunte tudo de uma vez, com sugestão padrão entre parênteses, para a pessoa responder em uma linha. Se ela já disse alguma coisa no pedido, não pergunte de novo.
- Nicho e perfil: sobre o que é o perfil?
- Público: quem assiste? (iniciante no assunto)
- Objetivo do reel: alcance, salvar, ou gerar comentário para mandar um material? (comentário)
- CTA: qual palavra a pessoa comenta e o que recebe? (ex.: "Comenta GUIA e eu te mando o guia")
- Tom: direto, didático, provocativo, leve? (direto)
- Voz e música: tem chave do ElevenLabs? Tem uma música (MP3 seu ou de biblioteca livre)? Quer cores específicas? (sem voz, sem música, tema escuro com destaque amarelo)
Nunca peça para a pessoa colar a chave no chat. Ela vai no arquivo .env (passo 4).
2. Gancho e roteiro
Escreva antes de qualquer código e mostre em bloco: gancho, cenas numeradas (tipo + o que aparece na tela + a fala) e a duração estimada. Peça ok antes de gerar narração, porque a narração gasta crédito do ElevenLabs. Sem narração, pode seguir direto se a pessoa pediu "só faz".
Gancho (cena 1, até 2 segundos)
- No máximo 6 ou 7 palavras faladas. Se precisa de mais, não é gancho, é introdução.
- A tela já mostra o gancho inteiro no primeiro quadro (o tipo
ganchofaz isso). - Formatos que seguram: pergunta com a dor ("Treina todo dia e nada muda?"), afirmação contra o senso comum ("Postar todo dia está te atrapalhando"), número concreto ("3 erros que travam seu primeiro 5 km"), consequência ("Isso aqui faz você perder cliente no direct").
- Nada de "Oi, gente", "Neste vídeo", "Você sabia" ou apresentação pessoal.
Roteiro (20 a 45 segundos no total)
- De 4 a 8 cenas. Cada cena entre 1,5 e 6 segundos: no ritmo de 2,9 palavras por segundo, são de 5 a 17 palavras de fala por cena.
- Fala contínua, não picada. O texto de todas as cenas, lido em sequência, precisa soar como uma pessoa falando sem parar: cada cena continua a frase ou a ideia da anterior. Nada de frases de uma palavra, reticências para "dar pausa" ou listas faladas sem verbo. Escreva primeiro o texto corrido inteiro e só depois corte nas cenas.
- Uma ideia por cena. A tela mostra a versão curta (título, itens, número); a fala explica.
- Números curtos em dígito na fala ("23 horas", "1,6 grama") para a legenda ficar limpa.
- Promessa só do que é verdade. Não invente estatística: se não tem fonte, use outro tipo de cena.
- Última cena é sempre
cta, e a fala diz a palavra em voz alta ("Comenta GUIA que eu te mando o passo a passo").
3. Montar o estúdio (uma vez) e a pasta do reel
O estúdio é uma pasta com o Remotion instalado; cada reel novo é só uma subpasta com o seu
cenas.json, então o npm install acontece uma vez só.
# primeira vez
cp -R <skill>/template ~/reels-estudio
cd ~/reels-estudio && npm install
# a cada reel (troque <slug> por um nome curto, ex.: 3-erros-corrida)
mkdir -p ~/reels-estudio/reels/<slug>/publicEscreva ~/reels-estudio/reels/<slug>/cenas.json (formato abaixo). O cenas.json da raiz do
estúdio é só o exemplo que abre no Studio; não precisa mexer nele.
4. Narração (só com chave do ElevenLabs)
A chave fica em ~/reels-estudio/.env (copie de <skill>/.env.exemplo):
ELEVENLABS_API_KEY=sua_chave
ELEVENLABS_VOICE_ID=id_da_voz # opcionalOs scripts leem do ambiente ou desse .env e nunca imprimem a chave. Não leia, não mostre
e não copie a chave para nenhum outro lugar.
cd ~/reels-estudio
node <skill>/scripts/narrar.mjs --projeto reels/<slug> --simular # valida, mostra custo, não chama a API
node <skill>/scripts/narrar.mjs --vozes-pt # vozes pt-BR da biblioteca pública
node <skill>/scripts/narrar.mjs --projeto reels/<slug> # gera de verdade- Rode
--simularantes, sempre. Ele valida ocenas.jsone diz quantos caracteres (créditos) a narração vai consumir. - Voz: deixe a pessoa escolher.
--vozes-ptlista vozes em português do Brasil da biblioteca pública; para usar uma delas, a pessoa adiciona à conta dela na Voice Library do site ("Add to my voices") e você passa--voz <id>ou põeELEVENLABS_VOICE_IDno.env.--vozeslista as que já estão na conta. Sem escolha, o script usa uma voz pré-pronta do ElevenLabs que fala português com sotaque não nativo: avise isso. - O texto inteiro vai numa chamada só (
/v1/text-to-speech/{voice_id}/with-timestamps), para a entonação sair contínua. Os tempos de cada caractere viram o tempo de cada palavra (legenda sincronizada) e o tempo de cada cena. - Saída:
reels/<slug>/public/narracao.mp3epublic/palavras.json, e ocenas.jsonpassa a apontar para eles. Rodar de novo com o mesmo texto e a mesma voz não gasta crédito; para outra tomada,--refazer.--velocidade 1.08acelera (0.7 a 1.2). - Mudou a fala depois de narrar? Rode
narrar.mjsde novo. A legenda vem do áudio.
Sem chave: pule este passo. O reel sai sem voz, com a legenda animada no tempo estimado pela fala (2,9 palavras por segundo) e a trilha, se houver.
5. Trilha (só se a pessoa fornecer)
A música vem da pessoa: uma faixa dela ou de biblioteca livre (YouTube Audio Library, Pixabay Music), respeitando a licença de cada faixa. Nunca baixe música de site de "download de MP3", de vídeo do YouTube ou de qualquer fonte de licença duvidosa, nem sugira isso. Sem trilha, o reel sai sem música.
node <skill>/scripts/mixar.mjs /caminho/da/musica.mp3 --projeto reels/<slug>
node <skill>/scripts/mixar.mjs /caminho/da/musica.mp3 --projeto reels/<slug> --inicio 12 # pula a introduçãoCom ffmpeg, o script corta no tamanho do reel (repete a música se for curta), nivela o volume e
põe fade de entrada e saída. Sem ffmpeg, copia como está. No render, a trilha fica baixa e
abaixa sozinha quando há voz (ducking simples na composição). Volume: volumeTrilha no
cenas.json, de 0 a 1 (padrão 0,3 com narração, 0,8 sem).
Se a pessoa trouxer a música depois da narração, rode mixar.mjs depois de narrar.mjs para o
corte usar a duração real.
6. Conferir, olhar e renderizar
cd ~/reels-estudio
node <skill>/scripts/checar.mjs --projeto reels/<slug>Corrija todo ✖ (erro) e leia os ! (avisos). Depois, olhe 3 quadros antes do render
(gancho, meio, CTA). Pegue os tempos na saída do narrar.mjs ou multiplique os segundos por 30:
npx remotion still Reel out/<slug>-q1.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=30
npx remotion still Reel out/<slug>-q2.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=<meio>
npx remotion still Reel out/<slug>-q3.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=<fim-20>Abra as imagens e confira texto cortado, linha órfã e sobreposição. Então renderize:
npx remotion render Reel out/<slug>.mp4 --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/publicUm reel de 30 s leva de 1 a 4 minutos. Em máquina fraca, some --concurrency=2. Para um
rascunho rápido, --scale=0.5 (sai em 540x960).
7. Entregar com o checklist
Entregue o caminho do MP4 (~/reels-estudio/out/<slug>.mp4), o roteiro final e a sugestão
de legenda do post. Antes, confirme e diga que conferiu:
- Contraste: a legenda lê bem sobre o fundo (o
checar.mjsmede; mínimo 4,5:1). - Nada parado mais de ~3 s: nenhuma cena acima de 6 s e nenhuma pausa longa sem legenda.
- Gancho em até 2 s, já visível no primeiro quadro.
- CTA no fim, na tela e na fala, com a palavra certa.
- Duração entre 20 e 45 s.
- Com voz: a legenda bate com a fala (veja um trecho do meio no MP4).
- Os PNGs de prévia em
out/podem ser apagados.
O cenas.json
{
"cores": { "fundo": "#0E0F12", "texto": "#F4F4F2", "destaque": "#FFC94A", "suave": "#9A9CA3", "sobreDestaque": "#0E0F12" },
"fonte": "Inter",
"fonteItalica": "Instrument Serif",
"legenda": true,
"narracao": null,
"palavras": null,
"trilha": null,
"cenas": [
{ "tipo": "gancho", "titulo": "Treina todo dia e nada muda?", "destaque": "nada muda",
"fala": "Treina todo dia e nada muda?" },
{ "tipo": "titulo", "titulo": "O problema não é o treino.", "subtitulo": "É o que acontece nas outras 23 horas.",
"fala": "O problema quase nunca é o treino, é o que você faz nas outras 23 horas." },
{ "tipo": "lista", "titulo": "Os 3 vilões",
"itens": ["Dormir menos de 7 horas", "Comer pouca proteína", "Repetir a mesma carga"],
"fala": "São três vilões: dormir menos de sete horas, comer pouca proteína e repetir a mesma carga por meses." },
{ "tipo": "numero", "de": 0, "ate": 1.6, "decimais": 1, "sufixo": " g", "rotulo": "de proteína por quilo de peso, por dia",
"fala": "Uma referência comum para quem treina é 1,6 grama de proteína por quilo, todo dia." },
{ "tipo": "antes-depois", "antes": "Treino novo toda semana", "depois": "Mesmo treino, carga subindo",
"fala": "Em vez de trocar o treino toda semana, mantenha o mesmo e suba a carga." },
{ "tipo": "cta", "chamada": "Comenta", "palavra": "PLANO", "promessa": "que eu te mando o checklist das 23 horas",
"fala": "Comenta PLANO que eu te mando o checklist das 23 horas." }
]
}O mesmo exemplo está em <skill>/exemplos/cenas.exemplo.json.
Tipos de cena
Todas têm fala (obrigatória) e duracao em segundos (opcional; só vale sem narração).
| tipo | campos | uso |
gancho | titulo, destaque | Primeira cena. Título enorme; destaque é o trecho em itálico na cor de destaque. Se o título é igual à fala, a legenda não repete. |
titulo | titulo, subtitulo, destaque | Uma afirmação forte. Título até ~50 caracteres. |
lista | titulo, itens (2 a 5) | Itens numerados entrando um a um. Cada item até ~30 caracteres. |
numero | ate, de, prefixo, sufixo, decimais, rotulo | Número que conta até o valor. Ex.: "prefixo": "R$ ", "sufixo": "%". |
antes-depois | antes, depois, rotuloAntes, rotuloDepois | Dois cartões; o "depois" entra no meio da cena, em destaque. |
cta | palavra, chamada, promessa | Última cena. "Comenta" + PALAVRA num bloco + o que a pessoa recebe. Palavra até 9 letras. |
Cores e fontes
cores: qualquer cor#rrggbb. O padrão é neutro escuro com destaque amarelo. Para tema claro, invertafundoetextoe escolha umdestaqueescuro o bastante. Ochecar.mjsreprova contraste baixo.fonteefonteItalica: nomes de famílias do Google Fonts (ex.:"Montserrat","Playfair Display"). Afonteprecisa ter peso 900. Use"sistema"para não baixar nada. Se a família não existir ou faltar internet, o render segue com a fonte do sistema.legenda: falsedesliga a legenda palavra por palavra.
Problemas comuns
- "palavras.json é de outra versão do cenas.json": a fala mudou depois da narração. Rode
narrar.mjsde novo. - ElevenLabs 401: chave errada ou sem permissão de text-to-speech. 404: a voz não está na conta; adicione pela Voice Library.
- Texto saindo da tela: encurte o título ou os itens; o
checar.mjsavisa os longos. - Render lento ou travando:
--concurrency=2, feche o navegador, e confira o espaço em disco. - Primeiro render demora mais: o Remotion baixa um navegador headless (uma vez só).
O que esta skill não faz
- Não filma nem usa vídeo gravado, imagem ou avatar: o reel é tipográfico (texto, número, cartões). Para editar filmagem, use outra ferramenta.
- Não clona voz nem gera voz sem a chave do ElevenLabs da própria pessoa.
- Não escolhe nem baixa música: a trilha é sempre fornecida pela pessoa.
- Não publica no Instagram nem agenda post.
- O ducking é simples (a música baixa quando há fala); não substitui uma mixagem profissional.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

