Produzir — do briefing ao vídeo final
O maestro do estúdio. Cada etapa tem sua própria skill e faz seu próprio trabalho; esta skill
decide qual etapa executar em seguida, garante que cada portão seja aprovado antes de avançar e
mantém o usuário orientado. As etapas trocam informações por meio de arquivos em videos/<video>/, nunca
chamando scripts umas das outras diretamente.
brand-kit (somente novos clientes) → write → storyboard → voiceover → render
Como estão as coisas
node studio/scripts/status.mjs videos/<video> — lê os arquivos do vídeo e imprime cada
etapa (concluída / aguardando aprovação / desatualizada / não iniciada), a próxima ação e escreve
videos/<video>/status.md. Sem argumentos, lista todos os vídeos e seus próximos passos.
Execute no início de cada sessão de produção e após cada etapa.
Iniciando um novo vídeo
- Obtenha a solicitação: cliente/marca (site?), para que serve e quaisquer detalhes do briefing que o usuário já forneceu. Não interrogue — a skill de escrita coleta o briefing.
- Marca: se o cliente não tiver um kit aprovado em
studio/brands/, execute a skill brand-kit (ela inclui a biblioteca de ativos). Kit aprovado existente → reutilize-o. Universo: apenas se o usuário nomear um universo ou um de seus personagens (ex.: "com Nox", "no Noxverse"), o vídeo usa esse universo (skill universe): sua paleta substitui o kit da marca, a menos que o usuário peça explicitamente também por uma marca do cliente. Nunca sugira ou pergunte sobre universos caso contrário — o fluxo normal é executado. - Execute a skill write. Ela cria
videos/<YYYY-MM-DD>-<slug>/e o briefing, depois gancho → história → script com aprovações.
Continuando um vídeo
Execute status.mjs, depois invoque a skill para a próxima ação:
| Próxima ação do status | Skill |
|---|---|
| kit da marca ausente / não aprovado / sem biblioteca de ativos | brand-kit |
| universo nomeado no briefing mas ausente | universe |
| briefing, gancho, história ou script não aprovados | write |
| storyboard não iniciado, aguardando aprovação ou desatualizado | storyboard |
| narração não iniciada, não ajustada, aguardando aprovação ou desatualizada | voiceover |
| final não renderizado, aguardando aprovação ou desatualizado | render |
| concluído | informe ao usuário que está final; ofereça variações ou um novo vídeo |
Invoque as skills de etapa com a ferramenta Skill e siga suas instruções completamente — incluindo suas próprias etapas de aprovação. Não atalhe o processo de uma etapa a partir daqui.
Portões (sempre parar para o usuário)
- Kit da marca (novos clientes) · 2. Gancho · 3. História · 4. Script · 5. Conceito · 6. Frames de estilo ·
- Storyboard + apresentação · 8. Voz (audição + prévia) · 9. Vídeo final.
Vídeos de universo: o storyboard é mostrado para aprovação (portão 7) apenas quando
studio/scripts/board-check.mjs passa — status.mjs mostra check ✓ / check ✗ na linha do storyboard
aponta para a verificação enquanto falha.
A aprovação deve vir do usuário no chat para este vídeo e portão. "Parece bom", "aprovado", "pode ir" contam; silêncio ou uma pergunta não contam. Uma aprovação nunca cobre o próximo portão. Após cada portão, forneça uma linha de status e o próximo passo.
Alterações após a aprovação
- Nomeie a etapa responsável pela alteração: palavras → write; aparência, animação, transições, dicas sonoras → storyboard; voz, ritmo, tempo → voiceover; música, legendas, mix, exportação → render.
- A skill responsável incrementa a
version; as etapas posteriores tornam-se desatualizadas (status mostra ⚠️). Execute novamente apenas o que está desatualizado, em ordem. Nunca deixe arquivos desatualizados para trás — remova saídas que não correspondam mais (ex.: uma prévia antiga) depois que forem substituídas.
Regras do estúdio (aplicam-se a cada etapa)
- Grátis primeiro. Ferramentas pagas (voz ElevenLabs, imagens de IA, música de IA) apenas quando o usuário pedir ou aprovar uma estimativa de custo no chat.
- Som contido. Apenas momentos marcantes; sem "whoosh" em cada transição.
- Palavras vêm do script. Apenas a skill write altera palavras.
- Economize tokens sem perder qualidade: scripts medem e reportam JSON; veja folhas de contato, não frames individuais; não assista MP4s — envie-os para o usuário.
- Mantenha o usuário orientado: após cada etapa, um breve resumo + qual o próximo passo.
Reportando
Quando perguntado "onde estamos?" ou no final de uma sessão: execute status.mjs (todos os vídeos ou um)
e resuma em uma tabela curta: vídeo · etapa · próximo passo · qualquer coisa aguardando o usuário.