Communitygithub.com

yamlreel-video-skills

Transforme um tópico em um vídeo curto finalizado (YouTube Shorts, Reels, TikTok vertical, paisagem ou quadrado) sem editor de vídeo, escrevendo uma especificação YAML e renderizando localmente com o CLI open-source yamlreel.

O que é yamlreel-video-skills?

Esta skill permite criar vídeos curtos completos (YouTube Shorts, Reels, TikTok, formatos vertical, paisagem ou quadrado) diretamente de uma especificação YAML, usando a ferramenta open-source `yamlreel` para renderização local. Ideal para desenvolvedores e criadores que desejam produzir vídeos explicativos, dicas de código, vídeos de design de sistemas ou lançamentos de produtos sem depender de editores de vídeo tradicionais. O fluxo de trabalho inclui verificação de ambiente, clarificação de parâmetros (tópico, duração, tema, formato), escrita de script e outline, geração do rascunho, edição da especificação, pré-visualização obrigatória com verificação de contato, renderização final e opções de polimento (efeitos sonoros, ajuste de loudness). A saída inclui MP4, pôster, folha de contato e texto de compartilhamento pronto para copiar. Suporta roteirização baseada em batidas, temas visuais (midnight, sumi, washi) e narração opcional via TTS local. A skill impõe regras de segurança rigorosas: não expõe segredos ou dados pessoais nas especificações, não instala pacotes do sistema ou fontes sem consentimento, e não faz upload ou publicação dos resultados.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nsijwali/yamlreel-video-skills/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

O que yamlreel-video-skills faz?

Escreva uma especificação YAML, renderize localmente com yamlreel, verifique a folha de contato e entregue o vídeo. <skill> abaixo significa o diretório onde este arquivo está localizado.

Fluxo de Trabalho

  1. Configuração. Execute python3 <skill>/scripts/check_setup.py (ele também verifica a versão e os recursos do yamlreel). Se falhar, mostre ao usuário as correções impressas. Execute com --install somente após o usuário concordar. Nunca instale fontes ou pacotes do sistema por conta própria.
  2. Esclareça em UMA mensagem, oferecendo padrões: tópico, público, formato (padrão vertical), duração (padrão 30s), tema (midnight|sumi|washi), voz (padrão nenhuma). Pule qualquer coisa que o usuário já tenha dito.
  3. Roteiro primeiro. Escreva videos/<slug>/script.txt no formato de batidas de references/writing-guide.md (duração alvo, um bloco [BEAT - input -> action -> result] por batida com sua fala e notas de entrega) e mostre ao usuário. Se ele pediu para revisar primeiro, pare e aguarde um sinal verde antes de rascunhar ou renderizar qualquer coisa. Esboço. Em seguida, escreva videos/<slug>/outline.yaml (tópico, gancho, problema, 1-6 etapas cada uma com name, say, show, além de when_to_use, question, answers). As regras estão em references/writing-guide.md: 15s = uma ideia; 30-45s = uma ideia mais até 3 etapas; no máximo 60s para #Shorts.
  4. Rascunho: yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. Use --force apenas para arquivos que você criou.
  5. Edite a especificação. Substitua todo TODO; defina meta.title/description/tags, formats, music.seed. O texto na tela é curto; a narração explica a tela e nunca a repete. Campos por tipo de cena: references/scene-types.md.
  6. Pré-visualização: python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out. Em erro, corrija a especificação com base na mensagem (erros de campo desconhecido listam as chaves permitidas) e references/troubleshooting.md. Repita no máximo 3 vezes, depois reporte ao usuário.
  7. Inspecione (obrigatório). Abra cada contact.png listado na linha RESULT com a ferramenta de visualização de imagens. Verifique: sem sobreposição, sem texto cortado ou encolhido, revela progresso entre os stills, gancho legível no primeiro still. Corrija a especificação e repita o passo 6 até ficar limpo, no máximo 3 ciclos.
  8. Final: python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out.
  9. Polimento opcional. Se o usuário quiser efeitos sonoros, ajuste de loudness ou verificação de loop, e yamlreel audit --help funcionar, siga references/polish.md no video.mp4 final (nunca toca na especificação).
  10. Relate os caminhos para cada video.mp4, poster.jpg e contact.png, e cole o conteúdo de share-copy.txt. Lembre o usuário de verificar os fatos de qualquer coisa simplificada. A publicação é responsabilidade do usuário.

Códigos de saída do render.py: 0 ok, 1 erro do yamlreel (stderr ecoado), 2 pré-voo recusado (mensagem explica por quê), 3 avisos de pré-visualização bloqueiam a renderização final (encurte texto, reordene dicas at; use --allow-warnings apenas se o usuário aceitar), 4 argumentos ruins (por exemplo, --contact-frames fora de 1-8). Sua última linha é RESULT {json} com cada caminho de saída. Um log é escrito em <out>/render-log.txt.

Padrões e fatos

  • As renderizações usam --no-voice (apenas música). Legendas e narração não são visíveis em renderizações sem voz; isso é esperado.
  • A saída vai para <out>/{preview,final}/<format>/; sempre passe --out videos/<slug>/out para que dois projetos nunca compartilhem uma pasta (o padrão é <spec folder>/out).
  • music.seed fixo mantém as renderizações determinísticas. Não adicione watermark a menos que o usuário peça.
  • Narração é opcional e traga a sua própria: veja references/voiceover.md.
  • Exemplos para copiar: examples/*.yaml.

Regras de segurança

  • Nunca coloque segredos, tokens, conteúdo de .env, nomes de host internos ou dados pessoais/de clientes em uma especificação: eles são gravados nos quadros e no share-copy.txt. Exemplos de código usam placeholders.
  • Leia e escreva apenas dentro da pasta de projeto do usuário; coloque imagens ao lado da especificação. Nunca adicione --allow-path ou --allow-private-hosts a menos que o usuário peça explicitamente, nomeando a pasta.
  • Voz apenas com um servidor TTS local que o usuário nomeie; o texto da narração é enviado para ele. Nunca uma URL remota.
  • Nunca instale pacotes do sistema ou fontes, ou edite ~/.config/yamlreel/config.yaml, sem o consentimento do usuário.
  • Cenas shot: apenas URLs https públicas fornecidas pelo usuário, ou imagens locais no projeto.
  • Nunca faça upload ou publique o resultado.

Habilidades Relacionadas