Communitygithub.com

bp-abe/skills-video

Produce animated videos end-to-end (Remotion, MP4 16:9 and/or 9:16) from a theme, script, loose notes or instructions. Uses local cloned voice (VoxCPM2) or Gemini TTS, soundtrack by Lyria or code-composed, CC0 effects with diversity check and independent review with a score. Includes offline mode ("without using APIs"). Also edits recorded video (silence/dead air removal, zoom, word-by-word captions, XML for Premiere). Use when the user asks for video, animation, explainer, motion, reels/shorts, product/campaign/biographical video, or to edit/cut a recording.

¿Qué es skills-video?

La skill bp-abe/skills-video es una herramienta especializada en la producción profesional de videos animados, diseñada para operar en agentes de IA como Claude Code, Cursor o Codex. Se basa en el framework Remotion para generar animaciones en formato MP4 (16:9 y 9:16) partiendo de un tema, guion, notas sueltas o instrucciones. La skill gestiona la narración mediante voz clonada local (VoxCPM2) o TTS de Gemini, la banda sonora a través de Lyria o composición en código, y los efectos visuales con verificación de diversidad y revisión por un crítico independiente que asigna una puntuación. Cuenta con un modo offline que no requiere APIs externas y también es capaz de editar grabaciones reales, eliminando silencios, añadiendo zooms y subtítulos palabra por palabra, o generando XML para Premiere. La skill incluye un flujo de trabajo estructurado con compuertas de calidad: idea, guion, voz, medición, sonido, storyboard, animatic, pase completo, crítica y renderizado final. Además, mantiene una base de documentación técnica y estética (aprendizajes, referencias, críticas) que evoluciona con cada proyecto, asegurando consistencia y mejora continua.

Compatible con✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/bp-abe/skills-video/tree/HEAD/video-animado

Preguntar en tu IA favorita

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

Documentación

Vídeo animado (Remotion)

Infraestrutura, não gosto. A skill guarda o que o modelo não traz sozinho — ferramentas (voz, trilha, render, transcrição), contexto da empresa (vozes autorizadas, chaves, firewall, licenças), regras de verdade, técnica com números, revisão e as lições técnicas — e não prescreve como o vídeo deve parecer. Estilo, dispositivo e look nascem do conteúdo a cada vídeo. Ao evoluir a skill, nunca acrescentar exemplo de look, receita estética ou componente "padrão" ao que é lido sempre: isso vicia e repete.

O que ler

SempreSob demanda
este arquivo · APRENDIZADOS.md (técnica) · direcao.md (ofício)gemini.md (vozes, APIs, capacidades) · assets.md (licenças, fontes de asset) · edicao.md (gravação) · critica.md (revisão) · referencias.md (só quando o pedido citar um dos vídeos estudados) · biblioteca/ (só depois do conceito escolhido) · VIDEOS.md e projetos antigos (só com linha de estilo pedida — nem para "ver que voz os outros usaram") · historico/ (quando um problema parecer conhecido)

Ler o pedido

A skill é a diretora: entende o que o pedido quer e age. Não faz questionário; pergunta só o que for bloqueante (enquadramento político/histórico ambíguo, fato que as fontes não resolvem, direito de uso incerto), com recomendação.

O pedido traz…Fazer
Só um temaCriar tudo (pesquisa, roteiro, conceito, voz, trilha) e entregar pronto.
Um roteiroO texto fica como está (ajustes sugeridos à parte, opcionais); mostrar o brief e produzir após o ok ("faz direto" pula).
Anotações, relato, tópicosEscrever o roteiro a partir delas (tom, cortes, anonimização) e mostrar roteiro + brief antes de produzir.
Consulta sem o conteúdo ("que animação você recomenda para…")Não escolher conceito: o conceito nasce do texto. Dizer do que a escolha depende e pedir o conteúdo.
Pedido de propostaSó o brief (PROPOSTA.md).
Instruções específicasSeguir à risca; liberdade só no que não foi dito.
Uma gravação para cortarModo edição: edicao.md.
Ajuste num vídeo existenteMudar só aquilo e renderizar de novo.
Linha de estilo ("igual ao vídeo X", "série")Carregar a entrada em VIDEOS.md, copiar tema.ts e peças daquele projeto, manter o look; roteiro.linha_de_estilo.
Folha em branco ("do zero", "sem nada pronto")Só a base técnica; nenhuma peça da biblioteca nem referência estudada.
Referência externa (link, vídeo)Estudar quadro a quadro, pegar a gramática (ritmo, técnica), nunca o conteúdo nem o look.
"Sem usar as APIs""offline": true, voz local, trilha partitura ou arquivo, sem geração de imagem.

Pedidos se combinam. Defaults: ~45–60 s como referência · 16:9 + 9:16 · voz VoxCPM2 clonada de uma referência autorizada ("voz": "voxcpm", já no template) só para uso interno — vídeo que vai a público (campanha, redes, cliente) pede outra voz: perguntar junto do brief, com recomendação. Pedido de outra voz: nome → usar; descrição → gemini.md; "opções" → amostras · CTA com URL só se o objetivo for vender. A duração é a que o conteúdo pedir; estimar pela taxa medida da voz escolhida (nunca prometer antes de medir). Vídeo longo: atos com função cada e passe completo dividido entre subagentes.

Brief do diretor (antes de qualquer código)

Na ordem — logline e limites primeiro, estética depois, ferramentas por último (começar pela técnica faz a técnica engolir a ideia). Vai no PROPOSTA.md (roteiro recebido/proposta) ou no topo do ANALISE.md. Barra, sempre: peça de portfólio de um estúdio de motion design — o máximo de acabamento, não o básico que funciona. Vale para qualquer estilo (minimalista ou denso); o que muda é onde o acabamento aparece.

  1. Logline: o vídeo numa frase + público + onde vai passar + o que a pessoa deve sentir/fazer no fim.
  2. Limites: duração, formatos, verdade (fontes; o que é ilustração), direitos, orçamento de API.
  3. Ideação sem viés: 3 conceitos bem diferentes, só do conteúdo (sem abrir biblioteca nem vídeos anteriores), cada um completo: dispositivo, mundo visual, materiais, paleta, tipografia, movimento, paleta sonora e trilha. Declarar em conceitos.json e rodar python3 scripts/diversidade.py --conceitos — o modelo tem reflexos de mundo que se repetem mesmo sem ver o histórico; o script (que só ele lê o registro) aponta. Menos de 2 livres → inventar de novo. Um quadro rápido de cada em out/conceitos/ e escolher olhando; quando houver brief para aprovar, os 3 quadros vão junto. Registrar os 3 e o porquê; os materiais do escolhido vão para roteiro.conceito.materiais.
  4. Bíblia visual com o porquê de cada escolha e uma frase de padrão de qualidade → src/tema.ts. Personagem recorrente → bíblia de personagem (proporções, paleta, expressões, o que nunca muda).
  5. Decupagem: bloco a bloco, a função de cada um, o que aparece, transição, som.
  6. Ferramentas: voz; trilha; assets — web com licença (assets.md, CREDITOS.md), geração (scripts/img.py, Veo: ver gemini.md) ou desenho em código.
  7. Passe de assets (depois da bíblia, antes de animar): um conjunto feito para ESTE vídeo, um asset por ideia do roteiro (personagem, objetos, cenário, texturas), todos no mesmo tratamento. Gerado: tratamento_imagem + imagens no roteiro.json, a 1ª imagem aprovada vira ref de estilo das outras, recorte para elemento solto (python3 scripts/img.py). Sem cota ou offline: desenhar em código com o mesmo cuidado. Imagem gerada nunca representa pessoa real ou fato sem rótulo "Ilustração". Foi o que mais separou peça de estúdio de peça correta.

Portões (não pular)

brief → roteiro → voz → medir → som + batidas → assets → storyboard → animatic → passe completo → crítica → render → entrega → evoluir
  1. Projeto: bash ~/.claude/skills/video-animado/novo.sh ~/videos/<slug>. O ANALISE.md do projeto já vem com o checklist dos portões: marcar cada um ao passar; pular só o que o pedido dispensar, com o porquê.
  2. Roteiro em roteiro.json (fonte única) + ROTEIRO.md com fontes. Checagem factual antes da voz, sempre.
  3. Voz: python3 scripts/tts.py (só regrava blocos alterados). Conferir: ~/.venvs/tts-local/bin/python scripts/check_voz.py.
  4. Medir: python3 scripts/tighten.py; fala natural ou ATENÇÃO → ~/.venvs/tts-local/bin/python scripts/align.py (cueW).
  5. Som + batidas: trilha (lyria → scripts/music.py; arquivo; partitura composta em código, com intensidade por bloco e eventos da cena) e python3 scripts/sound.py (timeline, efeitos, picos, beats.json da partitura). Trilha pronta → ~/.venvs/tts-local/bin/python scripts/beatmap.py. Efeitos por família (biblioteca/sfx/INDEX.md), escolhidas pelo material, via sfxVar (o pico cai na ação sozinho).
  6. Storyboard: um still por momento do roteiro, criticado contra a bíblia e contra "o que dá para tirar?".
  7. Animatic: render rápido (npx remotion render Video-9x16 out/animatic.mp4 --scale=0.4) para acertar ritmo e batidas antes do acabamento.
  8. Passe completo em src/Video.tsx (o exemplo do template é só sincronia: substituir; construir os componentes que o conceito pedir). Vídeo longo: dividir grupos de cenas entre subagentes, com tema.ts e regras centrais.
  9. Crítica: python3 scripts/qa_folhas.py out/<mp4> + subagente limpo com nota (critica.md), até tudo ≥ 8 (no máximo 3 rodadas; o crítico julga contra a bíblia do vídeo, não contra um gosto dele). python3 scripts/diversidade.py ok (continuidade pedida: roteiro.linha_de_estilo).
  10. Render: bash scripts/render.sh (−14 LUFS em duas passadas, os formatos do roteiro); conferir no relatorio.txt do qa_folhas.py (−14 ± 1).
  11. Entrega: MP4s + frame de capa (npx remotion still … out/capa.png) + folhas de revisão + ANALISE.md (brief, decisões, fontes, notas da crítica, o que precisa de escuta humana) + arquivo mostrado no Finder (open -R). A mensagem final pede a nota (1–5) e o que mudaria.
  12. Evoluir a skill: nota de quem pediu → diversidade.py --registrar → lição técnica no APRENDIZADOS.md (curta; fundir ou tirar ao acrescentar), escolhas estéticas no VIDEOS.md, peça reutilizável e sem tema na biblioteca/ (+ INDEX.md), bug do template corrigido e testado nos dois formatos, capacidade nova no gemini.md. Lição de ofício repetida em 2 vídeos → direcao.md (sem exemplo de look).

Contrato do código

  • Tempo nunca é número solto: cue, cueW, blockStart, naBatida(frame), batida(i), virada().
  • Formato: useFmt() + pick(paisagem, retrato); toda cena roda nos dois (reenquadrar, não recortar).
  • Movimento: mola(frame, at, 'ui'|'padrao'|'pesada'|'viva'); regras em direcao.md.
  • Núcleo neutro do template: tema.ts (cores e fontes do vídeo), lib.ts (tempo, formato, batidas, molas), stage.tsx (SceneStack com corte/wipe/zoom ou transição própria TransFn, Sheet, Soundtrack, sfxVar), acabamento.tsx. Peças prontas ficam na biblioteca/componentes/, opcionais, abertas só depois do conceito.
  • Toda animação sai do frame (useCurrentFrame + interpolate/mola); interpolate sempre com extrapolateLeft/Right: 'clamp'; nunca transition/animation de CSS (não aparecem no render).
  • Pacotes @remotion/* 4.0.528 no template (transitions, paths, shapes, noise, motion-blur, lottie, three, media-utils, layout-utils); novos na mesma versão.

Regras duras

  • Chaves em ~/.config/secrets.env (source antes; nunca imprimir). Sem cota/teto de gasto: voz local e partitura.
  • Clonagem de voz só com autorização por escrito; voz clonada de pessoa real é uso interno, salvo autorização expressa para uso público.
  • Asset de terceiros só com licença clara, registrado em CREDITOS.md; nunca foto de pessoa real sem base de direito, música comercial ou logo de terceiros imitando peça oficial.
  • Verdade: dado com fonte ou rótulo "Ilustração/Exemplo"; nada inventado na tela nem na legenda do post.
  • MP4 e áudio não vão para repositório público. Não commitar sem perguntar.
  • Sessões paralelas mexendo na skill (git status com mudanças que não são suas): só trocas pontuais, ou worktree própria (claude --worktree) e merge — nunca reescrever arquivo de outra sessão.

Individual skills in this repo

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

Skills relacionados