Communitygithub.com

linwanjiu/roteiro-video-curto

Transforma uma frase curta em roteiro completo para vídeo curto. Por padrão, entrega apenas o roteiro de locução e o texto de publicação, fornecendo storyboard sob demanda. Combina presets de plataforma, categoria e tom, com modelo de temporização e regras de pontuação. Ativar quando o usuário disser 'escreva um roteiro de vídeo curto'.

O que é roteiro-video-curto?

Este skill, chamado 'Roteiro para Vídeo Curto', é um template completo e modular para gerar roteiros de vídeos curtos (como TikTok, Instagram Reels, YouTube Shorts) a partir de uma única frase de tema. Ele segue uma estrutura de 'motor + presets': o motor (SKILL.md) define o fluxo de trabalho e as regras, enquanto os presets (em `presets/`) armazenam estilos e configurações específicas de plataforma, categoria, tom e hooks. O perfil ativo é mantido em `profile.md`. Suporta plataformas como Douyin, Xiaohongshu, Video Account, Bilibili e Genérico. O fluxo padrão prioriza a entrega rápida de um rascunho genérico, seguido por perguntas objetivas sobre plataforma, tom, estrutura e hooks para refinar o roteiro. A saída padrão inclui roteiro de locução com temporização e texto de publicação. O storyboard só é gerado quando solicitado explicitamente. O skill também inclui funcionalidades de ajuste e persistência de preferências, um checklist de qualidade, e regras claras de boundaries (não inventar dados, evitar promessas de resultados em áreas sensíveis). É uma ferramenta especializada para criadores e profissionais de marketing que buscam produtividade e consistência na criação de conteúdo curto.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/linwanjiu/short-video-copy/tree/HEAD/skills/short-video-copy

Perguntar na sua IA favorita

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

Documentação

Roteiro para Vídeo Curto

Uma frase → um roteiro pronto para gravar.

Este skill tem estrutura de motor + presets: a metodologia está aqui, os estilos estão em presets/, e a seleção atual está em profile.md.


0. Leia duas coisas primeiro

  1. profile.md — seleção atual (platform / category / tone / duration / density / person / cta / banned)
  2. De acordo com o profile, leia apenas a seção selecionada no arquivo de preset correspondente, não o arquivo inteiro
Campo do profileOnde lerLer apenas a seção
platformpresets/platforms.mdSubseção de mesmo nome (Douyin/Xiaohongshu/Video Account/Bilibili/Genérico)
categorypresets/categories.mdSubseção de mesmo nome
tonepresets/tones.mdSubseção de mesmo nome
Hookspresets/hooks.mdEscolha 1–2 categorias de acordo com o tipo de tema

Os valores no profile têm prioridade sobre qualquer padrão deste arquivo; se o usuário mudar de ideia durante o uso, o que ele disser na hora é o que vale.


1. Fluxo padrão: primeiro entrega, depois pergunta

Quando o usuário der uma frase, não faça uma série de perguntas primeiro. Use o profile atual (se não houver, use: Genérico / Claro e Direto / 30 segundos) para gerar uma versão completa, deixe-o ver o resultado, e então pergunte.

Primeiro passo: Rascunho genérico

Entregue os quatro itens completos (locução + storyboard + texto de publicação), calcule o tempo seguindo presets/timing.md. Inicie com uma observação: "Esta é a versão genérica, sem otimização para plataforma." — caso contrário, o usuário pode pensar que é a versão final.

Segundo passo: Quatro perguntas fixas

Pergunte apenas estas quatro, em ordem, e para cada uma forneça opções. Não adicione outras perguntas.

1. Plataforma: Douyin / Xiaohongshu / Video Account / Bilibili / Pode ficar genérico? — Determina ritmo, velocidade de fala e CTA

2. Tom: Incisivo / Amigável / Bem-humorado / Profissional com moderação / Manter claro e direto? — Determina tamanho das frases, verbos e distância com o público

3. Estrutura: Locução em três partes / Educativo (conclusão primeiro + mecanismo) / História (experiência + lição) / Drama (conflito + reviravolta)? — Determina ordem dos parágrafos e proporção

4. Reviravoltas e Hooks: Sem / Um contraponto de senso comum no meio / Reviravolta no final / Hooks duplos (parada nos primeiros 3 segundos + retenção aos 8 segundos)? — Determina design para completar o vídeo

Após perguntar, complete com: "Responda com o número da opção (1/2/3) ou uma frase, que eu reescrevo com base nisso."

Terceiro passo: Reescrever

  • Altere apenas os parágrafos afetados, mantenha as partes que o usuário aprovou
  • Inicie com uma linha explicando o que mudou: Plataforma→Douyin, Tom→Incisivo, Duração 30→15s, Contraponto no meio
  • Após reescrever, recalcule o tempo, não reutilize a tabela anterior

Quarto passo: Devo guardar?

Se o usuário disser "sempre assim''/"lembre disso"/"mude o padrão para" → Siga o §5 para escrever em profile.md e informe.

Exceções

SituaçãoAção
Usuário já especificou plataforma/tom de uma vezPule as perguntas, vá direto para a versão personalizada
Usuário disse "me mostre o genérico primeiro"Entregue apenas o genérico, sem perguntar
Usuário quer só hooks, não o texto completoEntregue apenas 5 hooks candidatos, deixe ele escolher

1b. O que está faltando na frase de tema

O que faltaComo lidar
Público-alvoInferir a audiência mais provável e deixar claro a suposição
Ação desejadaUsar o cta do profile
DuraçãoUsar o duration do profile
PlataformaUsar o platform do profile; se não houver, usar "Genérico"

Na fase de rascunho genérico, faça apenas uma suposição chave. Não faça uma sequência de perguntas. As perguntas ficam para o segundo passo, as quatro fixas.


2. Montagem: como sobrepor os quatro presets

A ordem não pode ser alterada, cada camada resolve um problema diferente:

platform  → Determina ritmo, velocidade de fala, CTA (aparência)
category  → Determina ordem dos parágrafos e proporção (esqueleto)
tone      → Determina tamanho das frases, verbos e distância (pele)
hooks     → Determina os primeiros 3 segundos (porta)

Prioridade em caso de conflito: platform > category > tone. Por exemplo, Xiaohongshu exige "lento", mas vendas exigem "denso". Nesse caso, use um valor intermediário e explique no final que fez uma troca.

Combinações comuns (recomende diretamente)

ObjetivoCombinação
Sensação de viral no DouyinDouyin + Educativo + Incisivo + Hooks contraintuitivos
Plantar no XiaohongshuXiaohongshu + Vendas + Amigável + Cenário de dor
Confiança no Video AccountVideo Account + IP Pessoal + Profissional moderado + História com presença
Conteúdo denso no BilibiliBilibili + Educativo + Profissional moderado + Números concretos
Mais seguro para iniciantesGenérico + Locução + Claro e direto + Contraintuitivo

3. Saída: por padrão, só o roteiro

Não entregue uma pilha de coisas de uma vez. Por padrão, entregue apenas duas coisas: o roteiro e o texto de publicação. Pergunte se quer o storyboard.

3.1 Roteiro (entrega padrão, único obrigatório)

Roteiro de locução com temporização, três colunas:

TempoPalavrasFalas
0.0–1.9s6Quanto mais você dorme, mais cansado fica.
  • Calcule o tempo seguindo presets/timing.md, não estime manualmente; execute node scripts/timing.mjs --rate <velocidade> "Fala 1" "Fala 2"
  • Pontuação e frases rigorosamente seguindo presets/punctuation.md: pontuação em largura total, frases ≤ 15 caracteres, no máximo 2 vírgulas por frase
  • Erro entre o tempo final e a duração alvo ≤ 0.5 segundos. Se ultrapassar, corte caracteres, não acelere a fala
  • Na entrega, não anexe JSON, não anexe storyboard, a menos que o usuário peça

3.2 Texto de publicação (entrega padrão)

Título (≤ 20 caracteres) + 3–5 hashtags + uma frase de chamada para comentários.

3.3 Após entregar, pergunte obrigatoriamente

Assim que entregar o roteiro, pergunte:

Precisa de um storyboard baseado neste roteiro? (Qual imagem para cada fala, texto na tela, pontos de tempo)

  • Se o usuário disser sim → Entregue 3.4
  • Se o usuário disser não, ou não responder → Encerre aqui
  • Não entregue content.json e não pergunte "quer montar o vídeo?"

3.4 Storyboard (apenas se o usuário pedir explicitamente)

#TempoImagemTexto na telaObservações
  • A coluna de tempo deve copiar exatamente os tempos de 3.1, não distribua independentemente
  • Uma fala = um plano; se dividir uma fala em dois, escreva 1a/1b, e a soma dos dois deve ser igual ao original
  • Planos com < 1.2 segundos devem ser mesclados; > 6 segundos, divididos
  • Descreva apenas o que pode ser filmado, não escreva "cenas com atmosfera"

3.5 Verificação de efeitos (apenas se o usuário pedir para montar o vídeo)

Execute apenas quando o usuário disser "quero montar o vídeo" ou "me dê o rascunho":

cd <video-studio>
.\check-effects.ps1 -Human
ResultadoAção
Script não existeUsuário não tem pipeline de vídeo → Ignore, não é um erro
installed=trueContinue
installed=falseAlerte primeiro e pergunte, não gere sem avisar

Você ainda não gerou a biblioteca de efeitos (9 itens, ~196 MB). Deseja gerar agora? Leva cerca de 2,5 minutos.

Não gere se o usuário não concordar.

3.6 O que não fazer

  • Não gerar content.json / scenes: é estrutura do lado do vídeo, o lado do roteiro não deve cuidar disso
  • Não oferecer storyboard ativamente, não perguntar "quer montar o vídeo?"
  • Não decidir plataforma e tom pelo usuário — isso está em profile.md

4. Autoverificação

  • Os primeiros 3 segundos são um hook, não uma apresentação
  • O hook pertence a uma categoria clara no hooks.md, sem misturar categorias
  • Há uma frase que pode ser compartilhada como screenshot isoladamente
  • Pelo menos um número concreto, e o texto cumpre essa promessa
  • Cada frase de locução tem ≤ 15 caracteres; leia na velocidade definida sem estourar o tempo
  • O texto inteiro tem apenas um tom, sem mudança no meio
  • A estrutura corresponde à proporção de parágrafos da categoria selecionada
  • Sem termos absolutos (melhor/primeiro/único/curar/cem por cento)
  • Na área médica, financeira e educacional, sem promessas de eficácia
  • Palavras em banned? Se sim, reescreva a frase
  • Pontuação toda em largura total, sem meia-largura ,.!?
  • Aspas uniformes (「」ou “”), reticências são ……, travessão é ——
  • Sem frases longas com vírgula até o fim; cada frase ≤ 15 caracteres
  • Formato de números uniforme (15s / 73%), palavras em inglês com espaços ao redor

5. Como ajustar com feedback

Mude os presets, não o motor.

Usuário dizO que mudar
Muito longo / curtoduration
Muito formal / agressivo / melosotone
Não parece Xiaohongshu / parece Douyinplatform
Informação densa demais / dispersadensity
Estrutura erradacategory
Início não funcionaTroque a categoria de hooks
Não use essa palavrabanned

Mudança temporária vs permanente (importante)

Usuário dizO que fazerPersistir?
"Para esta versão, mude para Xiaohongshu"Apenas reescreva esta versão com os novos parâmetros❌ Não escrever arquivo
"Sempre use Xiaohongshu" / "Lembre disso" / "Mude o padrão para"Deve usar ferramenta de edição para alterar profile.md✅ Escrever arquivo
"Muito agressivo" / "Muito meloso"Julgue se temporário ou permanente; pergunte ou trate como permanente✅ Escrever arquivo

Se não escrever, não mudou. Quando a sessão acabar, o contexto se perde, e os parâmetros antigos voltam.

Ao persistir, faça três coisas:

  1. Altere a linha correspondente em profile.md
  2. Adicione uma linha ao final do "Registro de alterações" em profile.md: - AAAA-MM-DD: Alterou tone de X para Y (motivo)
  3. Informe ao usuário: "Já escrito em profile.md: tone: Incisivo"

E se o valor não existir nos presets?

Se o usuário pedir platform: Zhihu, mas presets/platforms.md só tem quatro plataformas:

  1. Escreva com a mais próxima (Zhihu ≈ Bilibili longa + profissional moderado), explique que fez uma aproximação
  2. Pergunte se deseja adicioná-la ao presets/platforms.md
  3. Se sim, adicione uma seção seguindo o formato existente, não enfie em SKILL.md

Se o usuário ajustar a mesma dimensão três vezes consecutivas, significa que o preset não é detalhado o suficiente; então considere modificar a seção correspondente em presets/.


6. Modo de análise (opcional)

Quando o usuário fornecer um vídeo de referência (link ou transcrição) em vez de um tema, use references/analysis.md: Entregue tipo de hook, segmentação da estrutura, tags de estilo, motivos de viralidade e 3 direções de reescrita.


7. Limites

  • Não invente dados. Se nenhum número for dado, use quantidades vagas verificáveis ou pergunte diretamente.
  • Nas áreas médica, financeira e educacional, não escreva promessas específicas de eficácia.
  • Para fatos incertos, marque "a verificar"; não trate como conclusão.
  • Não escreva termos absolutos como "melhor/primeiro/único", a menos que haja fonte verificável.

Habilidades Relacionadas