Communitygithub.com

storyboard

Cria um storyboard para vídeos curtos (Reels, TikTok, Shorts) a partir de um roteiro: divide o roteiro em planos palavra por palavra, fornece um quadro 9:16 para cada plano, o texto na tela, uma nota de edição e o som, e agrupa as filmagens em sessões. Gera uma pasta de storyboard com um arquivo HTML, PNGs para cada quadro e uma folha de contato.

O que é storyboard?

O storyboard é uma habilidade para agentes de IA (como Claude Code, Cursor, Codex) que transforma um roteiro de vídeo curto (Reels, TikTok, Shorts) em um plano detalhado de filmagem e edição. Ele divide o roteiro em planos individuais, palavra por palavra, e para cada plano especifica o tipo (rosto, tela, gráfico, etc.), o texto a ser exibido, notas de edição e efeitos sonoros. A saída é uma pasta contendo um arquivo HTML interativo, imagens PNG de cada quadro e uma folha de contato, tudo no formato 9:16. A habilidade também inclui uma configuração guiada que analisa vídeos anteriores do usuário para extrair seu estilo pessoal (tipos de planos, duração, cores, fontes) e aplicar essas preferências em todos os storyboards futuros. Após a aprovação, o storyboard serve como um prompt visual para construir os gráficos do vídeo, plano por plano.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Chefy3x/storyboard-skill/tree/main/storyboard

Perguntar na sua IA favorita

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

Prévia

Do README da skill

storyboard preview
storyboard preview

Documentação

O que storyboard faz?

Um storyboard é o plano de filmagem e o plano de edição para um vídeo. Ele está pronto quando o usuário pode lê-lo de cima a baixo, filmar cada sessão e entregar cada plano para a edição (ou para o Claude) com uma imagem clara do que aparece na tela, o que o texto diz e qual é o som.

Mantenha enxuto. Planos e sessões, nada mais. Nenhum diagrama de arco, sem transições por plano, sem kit de marca, sem checklist. Se o usuário quiser mais, ele pedirá.

Primeira execução: configuração guiada

Execute a configuração quando ~/.claude/storyboard-profile/profile.md ainda não existir, logo após a habilidade ser instalada, ou quando o usuário pedir para configurá-la ou reaprender seu estilo. Guie-o um passo de cada vez: diga para que serve o passo em uma frase, faça-o e espere onde diz para perguntar. Mantenha cada mensagem curta; a maioria das pessoas fazendo isso são criadores, não desenvolvedores.

  1. Boas-vindas. Uma mensagem curta: o que a habilidade faz (roteiro entra, um quadro para cada linha sai, então o Claude constrói os gráficos a partir disso) e que a configuração leva cerca de cinco minutos. Depois diga que a primeira coisa que você precisa é ver os vídeos deles.

  2. Verifique as ferramentas. Procure por Python 3, Google Chrome (ou Chromium / Edge) e ffmpeg. yt-dlp é um bônus para links. Para qualquer coisa faltando, dê o comando de instalação para o sistema deles (por exemplo brew install ffmpeg no Mac, winget install ffmpeg no Windows) e ofereça-se para executá-lo. Não prossiga até que Chrome e ffmpeg funcionem.

  3. Pergunte sobre eles. Uma mensagem, respondida em uma linha cada: seu nome de usuário e plataformas, sobre o que é o conteúdo, quanto tempo seus vídeos geralmente duram e como eles os finalizam (uma palavra-chave de comentário, seguir, link na bio).

  4. Peça os vídeos deles. Este é o passo importante, então explique o porquê: os storyboards deles devem se parecer com os vídeos deles, não com um modelo. Peça 3 a 5 vídeos publicados que melhor mostrem o estilo deles, idealmente incluindo um com gravações de tela ou gráficos se eles fizerem isso. Eles podem arrastar os arquivos para o chat (isso cola o caminho) ou colar links. Baixe links com yt-dlp se estiver instalado; se um link não baixar, peça o arquivo. Coloque tudo em ~/.claude/storyboard-profile/source/.

  5. Estude os vídeos. Para cada um:

    • Quadros: ffmpeg -i v1.mp4 -vf "fps=1,scale=360:-2" -q:v 4 source/v1_%03d.jpg, depois olhe para eles.
    • Cortes: ffmpeg -i v1.mp4 -vf "select='gt(scene,0.1)',showinfo" -f null - 2>&1 | grep -o "pts_time:[0-9.]*" fornece os tempos de corte, então você obtém a duração média do plano. Cortes rápidos em um talking head mal mudam a imagem e passam despercebidos, então verifique a contagem em relação aos quadros de 1 fps.
    • Palavras: se whisper (ou outro transcritor) estiver instalado, transcreva-o. Se não, leia as legendas embutidas nos quadros, ou peça para eles colarem o roteiro.

    Escreva o que você realmente vê, não suposições: a mistura de tipos de plano (quanto é rosto vs tela vs b-roll), duração média do plano, enquadramento (médio ou close, onde eles sentam, o fundo), como os primeiros dois segundos prendem, o texto na tela (peso da fonte, caixa, cores, estilo de destaque, onde fica), o estilo da legenda, as cores principais, gráficos ou sobreposições que se repetem, hábitos de som e como o CTA termina.

  6. Escolha o still do rosto deles. Escolha um quadro limpo deles falando para a câmera sem legenda embutida, corte-o para 9:16 (ffmpeg -ss <t> -i v1.mp4 -frames:v 1 -vf "crop=ih*9/16:ih,scale=540:960" face.jpg) e salve-o como ~/.claude/storyboard-profile/face.jpg. Todo plano de rosto o usará daqui em diante.

  7. Escreva o perfil. Salve ~/.claude/storyboard-profile/profile.md com seções para Criador (passo 3), Planos (mistura de tipos, duração média, enquadramento), Gancho, Texto na tela, Legendas, Cores, Som, CTA e Gráficos recorrentes. Depois escreva ~/.claude/storyboard-profile/theme.css, substituindo as variáveis do kit pela aparência deles:

    :root { --ink: #111; --accent: #ff5a1f; --on-accent: #fff; --bg: #f4f1ea;
             --grid: rgba(0,0,0,.05); --font: "Montserrat", sans-serif; }
    

    Use uma fonte que eles tenham instalada; se a deles não estiver, escolha a mais próxima que esteja.

  8. Mostre a eles e confirme. Construa um quadro de exemplo (o estilo do título deles sobre o still do rosto), renderize-o, mostre-o com um resumo de três linhas do perfil e pergunte o que está errado. Corrija até que eles digam que parece com o conteúdo deles.

  9. Finalize. Diga a eles que a configuração está concluída e o que fazer a seguir: "Cole um roteiro e diga storyboard this." Eles podem reexecutar a configuração sempre que o estilo deles mudar.

Se eles preferirem pular a configuração, faça o storyboard com a aparência padrão do kit e ofereça a configuração novamente no final.

O formato

Cada plano tem:

campoo que contém
typeface (falando para a câmera), split (tela em cima, rosto em uma caixa arredondada abaixo), screen (uma gravação de tela), graphic (construído na edição), b-roll (filmagem do mundo real)
voas palavras exatas do roteiro faladas sobre este plano
on_screen_texttexto queimado no quadro, geralmente em branco
edit_noteuma ou duas linhas: o que está na tela, o que se move, o enquadramento
sfxum som, geralmente em branco
thesistrue em exatamente um plano
statusreal (o quadro É a filmagem), stand-in (mostra a intenção), to-capture (nada ainda)

O tempo vem do VO a 3,4 palavras por segundo. Nunca defina manualmente.

Sessões agrupam os planos por onde são filmados: label, detail (o que preparar) e shots (números dos planos).

Passos

  1. Leia o perfil e obtenha o roteiro. Leia ~/.claude/storyboard-profile/profile.md e siga-o: a duração dos planos, a mistura de tipos de plano, o estilo do texto, o CTA. Onde ele discordar dos padrões abaixo, o perfil vence. Ainda não tem perfil? Ofereça a configuração primeiro. Peça o roteiro se ele não estiver na conversa ou em um arquivo, e observe a duração alvo (a duração usual do perfil se eles não disserem). Não edite o roteiro. Se uma linha parecer errada, diga e deixe o usuário corrigi-la.

  2. Divida o roteiro em planos, palavra por palavra. Juntando de volta, os campos vo devem ser iguais ao roteiro exatamente. Não reformule, corte ou adicione uma linha.

    • Corte onde a imagem muda, não no final das frases. Uma vírgula é um bom ponto de corte.
    • Mire em 2 a 6 segundos por plano (7 a 20 palavras). Acima de cerca de 8 segundos, divida-o, a menos que uma imagem contínua realmente carregue a linha.
    • O plano 1 tem o rosto do apresentador (um plano face ou split). Um rosto no primeiro segundo prende as pessoas.
    • Marque exatamente um plano thesis: a linha que diz sobre o que é o vídeo.
    • Último plano: o rosto do apresentador dizendo a chamada para ação. Se houver uma palavra-chave de comentário, ela é falada e vive nas legendas, não como uma grande pílula na tela.
    • Varie o tipo. Sem três planos face consecutivos. Use face para afirmações, apartes e o CTA; use screen para qualquer coisa que está sendo mostrada.
  3. Preencha os campos com moderação.

    • on_screen_text: título do plano 1, números de lista (01 SCRIPT) e no máximo um golpe de efeito. Em branco em todos os outros lugares; as legendas carregam o resto.
    • edit_note: o que está na tela, o que se move e o enquadramento (médio ou close). Coloque dicas de privacidade aqui também: desfoque e-mails, corte caminhos de arquivo que mostrem um nome de usuário.
    • sfx: dois ou três em todo o vídeo, apenas onde algo acontece (um ping na abertura, um impacto quando algo vai ao ar).
  4. Agrupe os planos em sessões por onde são filmados, não pela ordem dos planos.

    • Rosto: uma sessão para cada plano de rosto mais a metade do rosto de cada split.
    • Telas: uma sessão por aplicativo ou sessão de ferramenta, usando o mesmo projeto real o tempo todo.
    • Fora da mesa: apenas se um plano b-roll precisar.
    • detail: o que preparar (qual projeto abrir, o que manter em execução, o que limpar da tela primeiro).
  5. Escreva storyboard.json em uma pasta storyboard/<video-slug>/ no diretório de trabalho do usuário (pergunte se há um lugar melhor):

    {
      "title": "IA edita meus vídeos",
      "target_seconds": 50,
      "shots": [
        {"type": "face", "vo": "Meus últimos dois vídeos foram todos editados pelo Claude.",
         "on_screen_text": "CLAUDE EDITA MEUS VÍDEOS", "edit_note": "Plano médio, título segura 4s.",
         "sfx": "", "thesis": false, "status": "to-capture"}
      ],
      "sittings": [
        {"label": "Rosto", "detail": "Mesma camisa e luz para cada linha de rosto.", "shots": [1]}
      ]
    }
    
  6. Construa um quadro para cada plano (próxima seção) como frames/f01.html, frames/f02.html, e assim por diante. O número é a posição do plano.

  7. Renderize:

    python3 <pasta desta habilidade>/kit/render.py storyboard/<video-slug>
    

    Ele renderiza frames/out/fNN.png a 540x960 com Chrome headless, um frames/out/contact-sheet.jpg e board.html: cada quadro ao lado de seu VO, texto, nota de edição, som e tempo, mais as sessões. Ele imprime o tempo de duração e os segundos de rosto vs tela.

  8. Verifique a folha de contato, depois corrija e re-renderize: texto sobre um rosto, sobreposições, texto em zonas seguras, qualquer coisa privada.

  9. Relate brevemente: número de planos, tempo de duração vs a duração alvo, segundos de rosto vs tela e o que ainda precisa ser capturado. Abra board.html para o usuário.

Quadros

Use a fonte mais real que você conseguir, nesta ordem:

  1. Material real. Uma captura de tela do site ou aplicativo real que o plano apresenta (Chrome headless ou Playwright, 1440 de largura para desktop, 390 para mobile), ou um still do próprio vídeo do usuário (ffmpeg -ss <time> -i clip.mp4 -frames:v 1 still.jpg). Coloque as imagens na pasta frames/ e referencie-as pelo nome do arquivo.

  2. Quadros construídos. Escreva o quadro como um fragmento de corpo HTML usando as classes em kit/frame-kit.css. {{face}} em um fragmento se torna frames/face.jpg se existir, senão o still do rosto da configuração, senão uma silhueta neutra. O theme.css da configuração reestiliza automaticamente cada quadro com as cores e fontes deles.

    classeuse para
    .fo wrapper do quadro, sempre o elemento externo
    .hltítulo no topo, <em> em uma palavra-chave
    .lbl com .n + .tum rótulo de lista numerada (01 SCRIPT)
    .facerosto em quadro inteiro (um <img src="{{face}}">)
    .faceboxa caixa de rosto em um plano split
    .termum terminal Claude Code (.p prompt, .tool chamada de ferramenta, .ok, .dim)
    .chat + .bub + .viduma mensagem de chat do agente, opcionalmente com um vídeo
    .shotum cartão de captura de tela (<div class="shot"><img src="..."></div>)
    .tbluma tabela de dados (.h cabeçalho, .r linhas, .r.new uma nova linha)
    .bigum grande golpe de efeito
    .roomum placeholder de b-roll com uma legenda

    Defina a posição vertical com um style="top:..px" inline. Exemplo de fragmento:

    <div class="f">
      <div class="lbl"><span class="n">01</span><span class="t">SCRIPT</span></div>
      <div class="term" style="top:200px">
        <div class="bar"><i></i><i></i><i></i></div>
        <div class="p">escreva um roteiro de 45 segundos sobre ...</div>
        <div class="ok">  ✓ script.md</div>
      </div>
      <div class="facebox"><img src="{{face}}"></div>
    </div>
    
  3. Simule com dados reais quando a tela estiver atrás de um login que você não consegue acessar. Não faça login em nome do usuário. Construa a tela a partir de números reais e marque-a como stand-in.

Regras dos quadros:

  • Zonas seguras: mantenha o texto fora dos 20% inferiores e dos 12% direitos (a barra de like e comentário), e mantenha os 8% superiores limpos. As posições do kit já respeitam estas.
  • Estilo do título deles: siga as anotações de texto na tela do perfil (caixa, peso, como eles destacam uma palavra). O padrão é maiúsculo pesado com uma palavra-chave em <em>. Sobre um rosto em quadro inteiro, o kit torna o tipo branco com uma sombra suave.
  • Privacidade: nenhum caminho de arquivo com nome de usuário, e-mails, chaves de API ou conteúdo de .env em nenhum quadro. Use IDs falsos em tabelas.

Usando para construir o vídeo

Assim que o storyboard for aprovado, ele é o prompt. Construa os gráficos um plano de cada vez: "Construa o plano 4 do storyboard como um gráfico em movimento 9:16: combine o quadro, o texto na tela e a nota de edição." A primeira versão nunca está certa; coloque-a na edição, compare-a com o quadro e vá e volte até que corresponda.

Habilidades Relacionadas