Communitygithub.com

gergobalogh/finding-video

Crea un video vertical corto (TikTok, Reels, Shorts) sobre un hallazgo real: datos, fotos, imágenes satelitales, menús, documentos. El material ocupa todo el encuadre; el sitio web solo aparece como fuente al final. Úsalo cuando el punto del video sea lo que el usuario encontró (una brecha de precio, una ciudad que creció, un número que sorprende), no cómo usar el sitio.

¿Qué es finding-video?

Este skill genera videos verticales cortos (1080×1920, 30 fps, H.264+AAC, 15-25 segundos) diseñados para plataformas como TikTok, Reels o Shorts. El valor central es que el producto del video es el hallazgo en sí (un dato, una foto, una imagen satelital, un documento), no el sitio web que lo aloja. El sitio solo aparece al final como fuente. El flujo de trabajo incluye tres aprobaciones baratas antes del render final: verificación de la historia, verificación visual (con fotogramas de muestra) y storyboard. Soporta múltiples tipos de material: fotos, escaneos, cuadros satelitales, documentos, gráficos animados e incluso escenas ilustradas (opcional con cth9191/animate). Proporciona dos versiones del video (A y B) con diferentes aperturas, y un archivo `post.txt` con especificaciones, notas de publicación y tabla de fuentes. El skill enfatiza la verificación rigurosa: cada número debe rastrearse a su archivo fuente, las leyendas no deben superponerse, y el sonido debe medirse tanto en rango completo como por encima de 250 Hz (lo que reproduce un altavoz de teléfono). Incluye advertencias importantes como no reutilizar fotos de productos de apps (reservan derechos de imagen), no usar material generado por IA para lugares reales, y verificar que la página esté activa antes de publicar.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Video de hallazgo

El producto es el hallazgo, no el sitio web. El video muestra el material real que lo demuestra, grande y claro, mantiene una cosa constante para que el espectador vea qué cambió, y termina con una pregunta que la gente responde en los comentarios. El sitio aparece solo al final, como fuente.

Surgió a partir del clip satelital de Cluj (mismo lugar, 1968 → 2025, imágenes a pantalla completa, una etiqueta de año, dos líneas, sin sitio web), que funcionó mucho mejor que navegar por el sitio.

Qué entregas

  • Dos cortes, 1080×1920, 30 fps, H.264 + AAC, 15–25 s: A abre con la pregunta o la primera imagen y se repite; B abre en frío con el payoff. Carátulas para ambos.
  • post.txt: archivos y especificaciones, notas de publicación, la tabla de afirmaciones (cada número y línea en pantalla → su archivo fuente o URL), créditos de imágenes, fuentes de sonido. Sin texto de publicación a menos que el usuario lo solicite (los agentes no redactan publicaciones).
  • Los videos en una carpeta fuera del repositorio (~/Videos/<project>-finding-<date>/); el storyboard, guiones y recortes de material en reports/finding-<date>/ del proyecto, con un README: qué hay, dónde está el material multimedia, qué necesitan los guiones.
  • Publicar es trabajo del usuario: nunca publicar por él.

Flujo de trabajo: tres aprobaciones baratas antes del render largo

  1. El hallazgo. Enumera 2–4 candidatos de hallazgo de los datos del propio proyecto, cada uno con la tensión que conlleva y su denominador. Elige el que tenga tirón (dinero, la ciudad, una molestia compartida). Verifica cada número contra los datos, no contra la página que los resume.
  2. El material. Para el hallazgo, encuentra la cosa real más vívida que lo muestre: una captura de menú guardada, un cuadro satelital, un documento, una foto, los datos mismos como gráfico. Anota los derechos de cada pieza (ver references/craft.md, Material). Los recortes se mantienen exactamente como se capturaron: sin retoques, sin precios añadidos.
  3. Verificación de historia (aprobación 1). Una tabla de tiempos: tiempo, qué llena el encuadre, el título, el sonido y la afirmación que hace cada tiempo con su fuente. Nombra la constante (lo que permanece igual mientras el resto cambia) y el dispositivo (la única idea que podrías decir en una oración). Espera el sí o los cambios del usuario.
  4. Verificación visual (aprobación 2). Usa el diseño actual de la página: lee sus colores, tipo y estilo de gráfico desde el código fuente del sitio cada vez, ya que las páginas se rediseñan (2026-11-06). Renderiza 2–3 fotogramas a tamaño completo (frames.py --stills, o seek_capture.mjs ... stills) y muéstralos. Espera un pulgar arriba por fotograma.
  5. Storyboard (aprobación 3). Dibújalo con scripts/storyboard.py: un fotograma clave por tiempo en proporciones reales, con la hora, el sonido y la transición al siguiente tiempo. Muéstralo y espera un sí. El usuario solicitó esta verificación: no renderizar el video antes (2026-11-06).
  6. Construcción. Renderiza, luego ejecuta las verificaciones a continuación y revisa cada hoja tú mismo.
  7. Entrega. post.txt, tablero, e informa al usuario lo que no pudiste verificar (al menos sonido de oído) y que la retención de 2 segundos, el tiempo de visualización y los comentarios son el veredicto real.

Omite una aprobación solo cuando el usuario lo diga para este video.

Renderizadores

Elige según el material; todos escriben fotogramas PNG 1080×1920 y codifican con tv-range BT.709 yuv420p.

MaterialRenderizadorCómo
Fotos, escaneos, cuadros satelitales, recortes de documentosscripts/frames.py (del clip satelital)un frame_fn(t) de Python que compone imágenes a pantalla completa, shade_top detrás de los títulos, overlay/text para títulos; synth para eventos de sonido; render() codifica
Un gráfico o un número que se mueveuna página HTML con window.seek(t) (el método de gráfico a continuación) + scripts/seek_capture.mjsnode seek_capture.mjs <page.html> <out> stills para fotogramas de verificación, luego fotogramas para el video; codifica con ffmpeg como en frames.encode
Una escena ilustrada (ambiente, una metáfora)opcional: cth9191/animate (MIT), una habilidad de tercerospreguntar antes de instalarlo

El método de gráfico (de charlie947/motion-graphics-skills animated-chart, MIT): cuatro estados — inicio, un cambio (nada se desvanece y se reemplaza), mantener con el valor del titular etiquetado, regresar para que el bucle no tenga salto. Cada fotograma se calcula solo a partir de t. El título, las etiquetas y los ejes nunca se mueven. Nunca redondear, reformatear o agregar un número. Después de construir, captura fotogramas en 0, 1, 2, 4 y 7 s y busca texto superpuesto o cortado antes del video.

Requiere numpy y Pillow para frames.py, Playwright para seek_capture.mjs (establece PLAYWRIGHT= en su node_modules/playwright si no es resoluble), y ffmpeg.

Verificaciones

  • python3 ../demo-video/scripts/check.py <out dir> --name <name> (desde la carpeta de esta habilidad) (nombra los cortes <nombre>-A.mp4 / <nombre>-B.mp4): tamaño, velocidad de fotogramas, color, sonoridad, SSIM de bucle, zona segura y hojas de contacto. Informa y no falla: lee cada línea y verifica cada número contra su objetivo tú mismo.
  • Mira la hoja de zona segura: ningún título, número o línea de fuente debajo de rojo.
  • Lee cada título a tamaño de teléfono (360 px de ancho) en la hoja de contacto.
  • Nombra al héroe de cada tiempo principal y verifica que ocupe al menos el 40% de la altura del fotograma, y nombra el giro (references/craft.md). Di qué tiempos fallan.
  • Tabla de afirmaciones: cada número en pantalla rastreado hasta un archivo; cada comparación dice su base (qué pizzas, qué fecha, cuántos).
  • Mide el sonido tiempo por tiempo, tanto en rango completo como por encima de 250 Hz (lo que reproduce un altavoz de teléfono). El payoff debe ser el más fuerte en ambos, y el casi silencio debe ser silencioso. Luego escucha una vez si puedes; de lo contrario, di que no lo hiciste. Usa frames.mix para darle al payoff su propio nivel, luego frames.level; en el piloto de pizza el compresor antiguo dejó el zumbido más fuerte que el golpe.

Advertencias

  • Un título junto a un número hereda su unidad. "la brecha más grande" debajo de "4 lei" se lee como lei; di "în procente" o elimínalo. (Treponti fue la más grande en porcentaje, La Crosta en lei.)

  • No reutilices las fotos de productos o la interfaz de usuario de las aplicaciones (los términos de Wolt y Glovo reservan derechos de imagen). Transcribe un listado a tu propia tarjeta neutral, fechada, o recorta solo el texto que necesitas como evidencia y di de dónde es.

  • El metraje generado por IA se queda fuera de los videos sobre lugares reales o precios reales; se lee como escenificado. La atmósfera proviene del metraje propio del usuario, archivos de dominio público (verifica los derechos de cada elemento) o un estilo claramente ilustrado.

  • ElevenLabs "Chris" falla los números en rumano, incluso como dígitos (49 y 67 en el video de pizza, 88 en el video de permisos, 2026-11-06). La transcripción no lo detecta. Audiciona cada número hablado y haz que el usuario escuche antes de mezclar.

  • Antes de publicar, la página debe estar activa y los números deben ser verificados nuevamente si los datos cambiaron.

  • Las voces sintéticas leen mal los números, y la transcripción no lo detectará. "optzeci" escrito salió como "opt zece", la transcripción seguía diciendo "Optzeci", y una toma con dígitos estaba bien. La siguiente toma del mismo número salió mal de nuevo, por lo que la generación varía: una vez que el usuario aprueba una toma, empalma ese audio y no lo regeneres. Solo un oído humano puede verificar la pronunciación (2026-11-06).

De dónde vienen las reglas

references/craft.md contiene el oficio: la hoja de tiempos del hallazgo, las reglas de la historia, títulos, material y derechos, sonido. Fuentes: un clip de imágenes satelitales de Cluj-Napoca (2026-11-03), notas de oficio de demo-video, gramática de historia de cth9191/animate (MIT), animated-chart y reglas de vox-explainer de charlie947 (MIT), reglas de fotograma y giro de StewdioAI/blank-page (MIT), y una consulta a Codex (2026-11-04).

Individual skills in this repo

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

Skills relacionados