Communitygithub.com

Fldicoahkiin/dotfiles

Produza um vídeo cinematográfico de demonstração/produto a partir de uma aplicação web ao vivo. O Playwright grava interações reais na tela com um cursor sintético visível; o Kokoro TTS local narra; o Whisper gera legendas sincronizadas por palavra; uma composição HTML HyperFrames monta os clipes, a voz, as legendas e uma música de fundo em um MP4. Use quando o usuário quiser criar um vídeo de demonstração, um tour pelo produto, uma gravação de tela, um vídeo de submissão para hackathon, um clipe de lançamento ou "grave meu aplicativo com narração e legendas". Gera um único MP4 em paisagem; uma estrutura de hackathon é incluída como modelo.

O que é dotfiles?

Esta skill transforma uma aplicação web em execução em um vídeo de demonstração polido, combinando interação real gravada com Playwright, narração local via Kokoro TTS, legendas sincronizadas por palavra (via Whisper) e uma trilha musical ambiente. O pipeline é dividido em seis etapas independentes: gravação dos clipes, narração, transcrição, geração de legendas, criação da música e composição final com HyperFrames. A skill suporta plataformas como Claude Code e Cursor, sendo ideal para criar vídeos de demonstração de produtos, walkthroughs ou submissões de hackathon. O resultado é um MP4 em paisagem (1080p) que mostra o produto real funcionando, com um cursor visível e legendas precisas, mantendo a composição determinística para evitar falhas de renderização.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Fldicoahkiin/dotfiles/tree/HEAD/private_dot_claude/skills/demo-video-skill

Perguntar na sua IA favorita

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

Documentação

Estúdio de Vídeo de Demonstração

Transforme uma aplicação web em execução em um filme de demonstração polido: interação real gravada (não slideshow, não simulação) + narração TTS local + legendas sincronizadas por palavra + uma trilha musical ambiente, compostos deterministicamente com HyperFrames.

Quando usar

Ao criar qualquer vídeo de demonstração / tour / produto / lançamento / hackathon de uma aplicação web, especialmente quando deve mostrar o produto real em execução com narração e legendas. Grava uma URL implantada ou um servidor de desenvolvimento local.

Pipeline

① gravar     Playwright controla sua aplicação ao vivo, cursor visível → out/clips/*.webm
② narrar     escrever VO por cena → Kokoro TTS (local)                 → narration/*.wav
③ transcrever Whisper timestamps no nível da palavra                    → *.transcript.json
④ legendar   agrupar em frases + corrigir erros de marca               → captions.js
⑤ música     ffmpeg faixa ambiente (mixada baixo sob a voz)            → music/bed.wav
⑥ compor     HyperFrames HTML linha do tempo única: clipes+voz+legendas+música → MP4

Gravação e composição são independentes: regrave uma cena, ou execute novamente a narração, sem refazer a outra. Uma faixa GIF gerada por código (cenas HTML renderizadas diretamente em MP4, sem gravação) é um caminho opcional para páginas de documentação.

Fluxo de Trabalho

  1. Entenda o produto primeiro. Leia seu README / documentação de demonstração. Escreva um Fluxo de Demonstração antes de usar as ferramentas: problema → tour do produto → evidência → conclusão. Escolha o caminho de clique recomendado e o resultado visível que cada cena deve alcançar. Veja references/templates.md.
  2. Gravar. Copie scripts/record.mjs, defina APP e SIZE, substitua scenes pela sua coreografia (deslizar → pausar → agir → segurar). Grave na escala 1:1 do dispositivo. node scripts/record.mjs [scene]. Engine + exemplo prático: references/recording.md.
  3. Narrar → legendar. Escreva um assets/narration/NN-*.txt por cena com voz de narrador (você está falando com um espectador, não lendo um README). Depois: bash scripts/tts.sh && bash scripts/transcribe.sh && node scripts/build-captions.mjs. Edite PHRASE_FIX em build-captions.mjs para os nomes das suas marcas. Guia: references/narration-and-captions.md.
  4. Compor e renderizar. Comece a partir de references/composition-skeleton.html (um clipe + faixa de legenda + áudio), cresça a linha do tempo, depois npx hyperframes render . --resolution landscape --fps 30 --crf 17 --quality high. Renderize 1:1 (1080p criado → 1080p final) — nunca aumente para 4K, isso suaviza a interface. references/composition.md.
  5. Controle de qualidade antes de enviar. ffprobe a duração/áudio, amostre 1–2 quadros (não preto, não vazio), legendas dentro do quadro, narração não cortada, a página de resultado principal realmente visível. Corrija fluxo/tempo, então renderize novamente.

Início Rápido

# dependências do sistema
brew install node ffmpeg
npx playwright install chromium

# ambiente Python para TTS local + transcrição (uma vez)
python3 -m venv .ttsvenv && .ttsvenv/bin/pip install kokoro-onnx soundfile
export PATH="$(pwd)/.ttsvenv/bin:$PATH"

# 1) gravar  2) narrar  3) legendar  4) compor+renderizar
node scripts/record.mjs
bash scripts/tts.sh && bash scripts/transcribe.sh && node scripts/build-captions.mjs
npx hyperframes render . --resolution landscape --fps 30 --crf 17 --quality high --output out/demo.mp4

Na primeira execução, o TTS baixa ~340 MB (Kokoro), a primeira transcrição ~466 MB (Whisper small.en); ambos armazenam em cache em ~/.cache/hyperframes/.

Regras importantes

  • Interação real vence slides — grave o produto realmente em execução.
  • 1:1, nunca aumento de 2× — gravar com DPR 2× e renderizar em 4K suaviza cada clipe de interface. Crie e renderize em 1080p.
  • Composição determinística — sem Date.now(), Math.random() ou rede no HTML; HyperFrames busca quadros, então o movimento deve ser reproduzível.
  • Cursor visível + segurar nos resultados — deslize deliberadamente, pause no momento chave.
  • VO, não documentação — a narração acompanha a imagem; não é o README lido em voz alta.
  • Vídeo ≥ narração — aumente o tempo do clipe para que os visuais nunca terminem antes da voz.

Dependências

Node 22+, FFmpeg, Playwright (Chromium) e a CLI HyperFrames (npx hyperframes, instale suas skills com npx skills add heygen-com/hyperframes). TTS/Whisper locais precisam de Python + kokoro-onnx. Veja references/composition.md para a configuração do HyperFrames.

Referências

Habilidades Relacionadas