Communitygithub.com

trend-explainer-video (Produtora de Vídeos de Explicação de Ran…

Produz vídeos completos de narração explicativa em chinês para rankings do GitHub (estilo dark tech com Remotion). Ideal para criar vídeos de lista dos 10 melhores, tendências do GitHub ou no estilo koubo-gh.

O que é trend-explainer-video (Produtora de Vídeos de Explicação de Ran…?

Esta skill fornece uma linha de produção completa para criar vídeos explicativos com narração sobre rankings, especialmente voltados para listas de tendências do GitHub (como GitHub Trending). Ela integra captura de snapshots, roteiro narrado, síntese de voz edge-tts com timestamps a nível de palavra, animações com âncoras de palavras, páginas independentes para cada classificação, três tipos de cenas de conteúdo, cenas de "como usar" com três passos e ilustrações, fundo de tela cheia animado, validações automatizadas (beat_lint, motion_check, sfx_check, contract_lint), normalização de áudio loudnorm e geração de capa vertical. A skill depende do motor de renderização TalkCraft e é indicada para cenários onde o usuário solicita "um vídeo explicativo de ranking", "um vídeo do GitHub Trending" ou um vídeo com narração ao estilo koubo-gh.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/daxian942-tech/trend-explainer-video/tree/main

Perguntar na sua IA favorita

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

Documentação

trend-explainer-video:Linha de Produção de Vídeos de Explicação de Rankings com Narração

Com o motor de renderização C:/Users/<seu-nome-de-usuario>/.workbuddy/skills/video-talkcraft (skill TalkCraft), esta skill fornece o esqueleto do projeto, scripts de ponta a ponta, identidade visual e solução de problemas prática para o tema de rankings. Para teoria de vídeo/validações gerais, consulte o TalkCraft em si; esta skill não os repete.

Etapas da Linha de Produção (comandos e armadilhas em references/pipeline.md)

  1. Capturar Snapshot: Captura única da página de ranking (curl com user-agent), salva em data/snapshot.md/.json como a única fonte da verdade — classificação, estrelas, descrição, linguagem devem vir exclusivamente desta captura, sendo proibido inventar.
  2. Roteiro Narrado script.json: Estrutura fixa de 35 frases = 1 abertura + 10 projetos × (frase de classificação + detalhe/total de estrelas + frase "como usar" + total de estrelas) + 3 parágrafos finais (fechamento, frase de efeito, CTA). Regras rígidas: números todos em caracteres chineses; cada projeto deve começar obrigatoriamente com "Primeiro lugar... / Segundo lugar..."; cada projeto deve incluir uma frase de "como usar" (começando com verbo, explicando onde usar, como usar ou qual problema resolve). A abertura já entra no assunto: "Hoje, este ranking semanal do GitHub, vou apresentar os dez primeiros de uma vez."
  3. Dublagem: synth_voice.py (VOICE/RATE no topo, edge-tts precisa de HTTP_PROXY) → assemble_voice.py (full.wav + timestamps.json) → cp audio/full.wav remotion/public/narration.wav.
  4. Reconstrução da Linha do Tempo: make_timing.py → gen_beats.py (inclui geração de anchors.json) → gen_cues.py. As três tabelas de âncoras devem estar sincronizadas: REPO_ANCHORS do gen_beats, REPO_CFG do gen_cues, REPO_CFG do all.tsx, além do sceneFor em scenes/index.ts (os números das cenas chart/quote/cta nos parágrafos finais são deslocados devido à inserção de frases). Qualquer alteração nos parâmetros de dublagem = reconstrução completa da cadeia, nunca apenas substituir a faixa de áudio.
  5. Implementação do Projeto: Copiar o esqueleto de assets/remotion-template/; modificar src/data.ts (dados do snapshot), e as cinco tabelas REPO_CFG/USES/STEPS/ICONS/DETAILS + RANK_LIST (tabela de cenas de classificação) em src/scenes/all.tsx. O restante do código de cena é reutilizado como está. Executar npx tsc --noEmit para validação.
  6. Renderização: node <video-talkcraft>/scripts/render_shots.mjs --all --concat out/assembled.mp4 --audio out/full-mix.wav --mux out/v?.mp4 (full-mix é re-renderizado automaticamente com base na impressão digital do timing).
  7. Validações Automatizadas (apenas entregar se tudo estiver verde): beat_lint → motion_check (parado + tremor) → sfx_check solo+mix → workbench_contract_lint. Limiares e prescrições de falha estão no pipeline.md.
  8. Entrega: Duas passadas do loudnorm (medição → normalização linear) → delivery.mp4 → repetir sfx_check --mix → present_files.
  9. Capa: gen_cover.py gera capa vertical 1080×1920 genérica (sem projetos específicos, reutilizável por muito tempo), produzindo cover_vertical.png/.jpg.

Diferenciais Visuais desta Linha de Produção (versão v16, consulte references/style-guide.md)

  • Página Independente de Classificação RankPage: A cena da palavra de classificação é renderizada em tela cheia como uma página independente "Nº X" (fonte dourada grande 240px + RANK #N + nome do repositório + número de estrelas + barra de progresso de 10 segmentos), sem compartilhar a tela com o conteúdo do projeto.
  • Três Tipos de Cenas de Conteúdo: IllBg fundo de tela cheia com ilustração (blur30+escurecimento) + OgiCard cartão de ilustração dinâmico (EFFECT PREVIEW + Ken Burns + pontos de luz + varredura) + DemoPanel demonstração em terminal/grid, acompanhado de 3 itens USES (com emoji) + carrossel de detalhes DetailBlock.
  • Cena "Como Usar" em Três Passos com Ilustrações HowScene: Cada passo tem um cartão de ilustração StepIcon (fundo gradiente + emoji grande + canto STEP), conduzido pelas duas tabelas STEPS/ICONS.
  • Efeito Ambiental de Tela Cheia: Três faixas de luz varrendo a tela em fases defasadas, para resolver trechos parados detectados pelo motion_check (cenas com cards pequenos/texto estático devem obrigatoriamente incluir).
  • Visual Escuro: Paleta de cores no style-guide.md; estrelas em dourado #FFC94D, aumento semanal em verde #63E6A4.

Armadilhas Frequentes (consulte references/pipeline.md)

  • A geração de imagens pelo ImageGen pode sofrer rate limit 429 → usar cartões de ícone emoji (StepIcon) para as ilustrações, e capa programática com PIL (gen_cover.py), zero custo, estável e adequado; quando o serviço voltar, pode trocar por imagens de IA.
  • Trechos parados no motion_check (freezedetect noise=0.003): em cenas com cards pequenos/texto estático/fundo desfocado, animações lentas com seno não resolvem → usar Ambient com três faixas de luz varrendo em fases defasadas (≥3 faixas, 2 faixas têm período de vácuo).
  • Renderização de <Video> no servidor sempre quebra → usar OffthreadVideo + muted.
  • fps do素材 ≠ fps do vídeo final → motion_check detecta "quadros repetidos"; usar minterpolate=mi_mode=blend para interpolação de fluxo óptico.
  • Windows: links simbólicos são todos rejeitados → copiar diretórios; ffmpeg 7+ não tem -vsync → usar -fps_mode passthrough.
  • edge-tts precisa de proxy: HTTP_PROXY/HTTPS_PROXY=http://<seu-proxy>.
  • Modificar all.tsx usando reescrita atômica com python (concorrência EBUSY no Windows pode fingir que a edição deu certo); bash heredoc passando python com crases é truncado → usar Write para escrever .py e depois executar.

Referência Rápida de Ambiente

  • bash PATH a cada sessão: complementar com PortableGit usr/bin + ffmpeg-bin; python usar venv: C:/Users/<seu-nome-de-usuario>/.workbuddy/binaries/python/envs/default/Scripts/python.exe; node usar a versão gerenciada diretamente; tsc rodar com node_modules/typescript/lib/tsc.js (bin/tsc é sequestrado pelo shim do fnm).

Habilidades Relacionadas