Communitygithub.com

gergobalogh/encontrar-video

Crie um vídeo vertical curto (TikTok, Reels, Shorts) sobre uma descoberta de material real — dados, fotos, imagens de satélite, cardápios, documentos — para iniciar um debate e direcionar pessoas à página do usuário. O material preenche o quadro; o site aparece apenas como fonte. Use-o quando o objetivo do vídeo é o que o usuário encontrou (uma diferença de preço, uma cidade que cresceu, um número surpreendente), não como usar o site. Para mostrar como um aplicativo funciona (um chatbot respondendo), use o demo-video.

O que é encontrar-video?

Este skill cria vídeos verticais curtos (1080×1920, 15–25 segundos) que destacam uma descoberta a partir de material real — como dados brutos, imagens de satélite, fotos de cardápios ou capturas de tela — em vez de apenas mostrar um site. Ele foi projetado para vídeos de debate no TikTok, Reels ou Shorts, onde o conteúdo principal é a evidência visual da descoberta, e o site aparece apenas como fonte no final. O skill oferece dois cortes (A e B), gera uma tabela de reivindicações (claims table) e arquivos de pós-produção, e segue um fluxo de trabalho com três aprovações baratas antes da renderização longa: verificação da história, verificação visual e storyboard. Ele depende de renderizadores como `frames.py` (para imagens estáticas) ou `seek_capture.mjs` (para gráficos animados ou números em movimento), e pode usar habilidades de terceiros, como `cth9191/animate`, para cenas ilustradas. O skill enfatiza a precisão dos fatos (cada número verificado contra a fonte original), direitos autorais e evita problemas comuns, como vozes sintéticas que erram números ou reutilização de imagens de aplicativos de terceiros. Ele foi criado para desenvolvedores e criadores de conteúdo técnico que precisam produzir provas visuais convincentes sem postar os vídeos (isso é responsabilidade do usuário).

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/gergobalogh/claude-skills/tree/HEAD/skills/finding-video

Perguntar na sua IA favorita

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

Documentação

Vídeo de descoberta

O produto é a descoberta, não o site. O vídeo mostra o material real que a comprova, grande e nítido, mantém uma coisa constante para que o espectador veja o que mudou e termina com uma pergunta que as pessoas respondem nos comentários. O site aparece apenas no final, como fonte.

Isso surgiu do clipe de satélite de Cluj (mesmo local, 1968 → 2025, imagem em tela cheia, uma etiqueta de ano, duas linhas, sem site), que funcionou muito melhor do que percorrer o site.

O que você entrega

  • Dois cortes, 1080×1920, 30 fps, H.264 + AAC, 15–25 s: A abre na pergunta ou na primeira imagem e faz loop; B abre frio na conclusão. Capas para ambos.
  • post.txt: arquivos e especificações, notas de postagem, a tabela de reivindicações (cada número e linha na tela → seu arquivo ou URL de origem), créditos de imagem, fontes de som. Sem texto de postagem, a menos que o usuário peça (agentes não redigem postagens).
  • Os vídeos em uma pasta fora do repositório (~/Videos/<projeto>-descoberta-<data>/); o storyboard, roteiros e recortes de material em reports/descoberta-<data>/ do projeto, com um README: o que tem lá, onde a mídia reside, o que os scripts precisam.
  • A postagem é trabalho do usuário: nunca publique por eles.

Fluxo de trabalho: três aprovações baratas antes da renderização longa

  1. A descoberta. Liste 2–4 descobertas candidatas dos dados do próprio projeto, cada uma com a tensão que carrega e seu denominador. Escolha a que tem apelo (dinheiro, a cidade, um incômodo compartilhado). Verifique cada número nos dados, não na página que os resume.
  2. O material. Para a descoberta, encontre a coisa real mais vívida que a mostra: uma captura de cardápio salva, um quadro de satélite, um documento, uma foto, os próprios dados como gráfico. Anote os direitos de cada peça (veja references/craft.md, Material). Recortes permanecem exatamente como capturados: sem retoques, sem preços adicionados.
  3. Verificação da história (aprovação 1). Uma tabela de batidas: tempo, o que preenche o quadro, a legenda, o som e a reivindicação que cada batida faz com sua fonte. Nomeie a constante (o que permanece igual enquanto o resto muda) e o dispositivo (a única ideia que você poderia dizer em uma frase). Aguarde o sim ou as alterações do usuário.
  4. Verificação visual (aprovação 2). Use o design atual da página: leia suas cores, tipo e estilo de gráfico da fonte do site a cada vez, pois as páginas são reformuladas (2026-11-06). Renderize 2–3 quadros em tamanho real (frames.py --stills, ou seek_capture.mjs ... stills) e mostre-os. Aguarde um polegar para cima por quadro.
  5. Storyboard (aprovação 3). Desenhe-o com scripts/storyboard.py: um quadro-chave por batida em proporções de tamanho real, com o tempo, o som e a transição para a próxima batida. Mostre-o e aguarde um sim. O usuário pediu esta verificação: nenhuma renderização de vídeo antes dela (2026-11-06).
  6. Construção. Renderize, depois execute as verificações abaixo e examine cada quadro você mesmo.
  7. Entrega. post.txt, storyboard e informe ao usuário o que você não pôde verificar (som de ouvido pelo menos) e que a pausa de 2 segundos, o tempo de exibição e os comentários são o veredito real.

Pule uma aprovação apenas quando o usuário disser para este vídeo.

Renderizadores

Escolha por material; todos escrevem quadros PNG 1080×1920 e codificam com yuv420p BT.709 faixa de TV.

MaterialRenderizadorComo
Fotos, digitalizações, quadros de satélite, recortes de documentosscripts/frames.py (do clipe de satélite)uma frame_fn(t) em Python que compõe imagens em tela cheia, shade_top atrás das legendas, overlay/text para legendas; synth para eventos sonoros; render() codifica
Um gráfico ou um número que se moveuma página HTML com window.seek(t) (o método de gráfico abaixo) + scripts/seek_capture.mjsnode seek_capture.mjs <page.html> <out> stills para quadros de verificação, depois quadros para o vídeo; codifique com ffmpeg como em frames.encode
Uma cena ilustrada (atmosfera, uma metáfora)opcional: cth9191/animate (MIT), um skill de terceirospergunte antes de instalá-lo

O método de gráfico (de charlie947/motion-graphics-skills animated-chart, MIT): quatro estados — início, uma mudança (nada desaparece e é substituído), pausa com o valor principal rotulado, retorno para que o loop não tenha salto. Cada quadro é calculado a partir de t sozinho. O título, rótulos e eixo nunca se movem. Nunca arredonde, reformate ou adicione um número. Após a construção, capture quadros em 0, 1, 2, 4 e 7 s e procure por texto sobreposto ou cortado antes do vídeo.

Precisa de numpy e Pillow para frames.py, Playwright para seek_capture.mjs (defina PLAYWRIGHT= para seu node_modules/playwright se não for resolvível), e ffmpeg.

Verificações

  • python3 ../demo-video/scripts/check.py <diretório de saída> --name <nome> (a partir da pasta deste skill) (nomeie os cortes <nome>-A.mp4 / <nome>-B.mp4): tamanho, taxa de quadros, cor, volume, SSIM de loop, zona segura e folhas de contato. Ele reporta e não falha: leia cada linha e verifique cada número em relação ao seu destino você mesmo.
  • Olhe para a folha de zona segura: nenhuma legenda, número ou linha de fonte abaixo do vermelho.
  • Leia cada legenda no tamanho de telefone (360 px de largura) na folha de contato.
  • Nomeie o herói de cada batida principal e verifique se ele ocupa pelo menos 40% da altura do quadro, e nomeie a virada (references/craft.md). Diga quais batidas falham.
  • Tabela de reivindicações: todo número na tela rastreado até um arquivo; toda comparação diz sua base (quais pizzas, qual data, quantos).
  • Meça o som batida por batida, tanto em faixa completa quanto acima de 250 Hz (o que um alto-falante de telefone reproduz). A conclusão deve ser a mais alta em ambos, e o quase-silêncio deve ser silencioso. Depois ouça uma vez se puder; caso contrário, diga que não ouviu. Use frames.mix para dar à conclusão seu próprio nível, depois frames.level; no piloto de pizza, o compressor antigo deixou o zumbido mais alto que o golpe.

Pegadinhas

  • Uma legenda ao lado de um número herda sua unidade. "a maior diferença" sob "4 lei" é lido como lei; diga "în procente" ou remova. (Treponti foi o maior em porcentagem, La Crosta em lei.)

  • Não reutilize fotos de produtos ou IU dos aplicativos (termos do Wolt e Glovo reservam direitos de imagem). Transcreva uma listagem em seu próprio cartão neutro, datado, ou recorte apenas o texto que você precisa como evidência e diga de onde vem.

  • Imagens geradas por IA ficam fora de vídeos sobre lugares ou preços reais; parecem encenação. A atmosfera vem das próprias imagens do usuário, arquivos de domínio público (verifique os direitos de cada item) ou um estilo claramente ilustrado.

  • ElevenLabs "Chris" erra números em romeno, mesmo como dígitos (49 e 67 no vídeo da pizza, 88 no vídeo das licenças, 2026-11-06). A transcrição não detecta isso. Audicione cada número falado e peça ao usuário para ouvir antes de mixar.

  • Antes de postar, a página deve estar no ar e os números verificados novamente se os dados mudaram.

  • Vozes sintéticas leem números incorretamente, e a transcrição não vai detectar isso. "optzeci" por extenso saiu como "opt zece", a transcrição ainda disse "Optzeci", e uma gravação com dígitos estava correta. A próxima gravação do mesmo número saiu errada novamente, então a geração varia: assim que o usuário aprovar uma gravação, corte esse áudio e não regenere. Apenas um ouvido humano pode verificar a pronúncia (2026-11-06).

De onde vêm as regras

references/craft.md contém o ofício: a folha de batidas da descoberta, as regras da história, legendas, material e direitos, som. Fontes: um clipe de imagens de satélite de Cluj-Napoca (2026-11-03), notas de ofício do demo-video, gramática de história do cth9191/animate (MIT), animated-chart e regras de vox-explainer do charlie947 (MIT), regras de quadro e virada do StewdioAI/blank-page (MIT) e uma consulta Codex (2026-11-04).

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas