Communitygithub.com

gergobalogh/finding-video

Créez une courte vidéo verticale (TikTok, Reels, Shorts) à partir d'un matériau réel — données, photos, images satellite, menus, documents — pour lancer un débat et rediriger les utilisateurs vers votre page.

Qu'est-ce que finding-video ?

Ce skill permet de produire des vidéos courtes verticales (TikTok, Reels, Shorts) mettant en avant une découverte concrète issue de données, de photos, d'images satellite ou de documents. L'objectif est de lancer un débat ou de surprendre le spectateur avec un chiffre ou un écart inattendu, puis de rediriger vers la page de l'utilisateur. Le matériau remplit le cadre, le site n'apparaît qu'en fin de vidéo comme source. Il est conçu pour les contenus où la découverte est le produit (un écart de prix, une ville qui a grandi, un nombre surprenant), pas pour démontrer le fonctionnement d'une application. Le skill fournit un workflow structuré en trois approbations avant le rendu final, des options de rendu selon le type de matériau (images fixes, graphiques animés, scènes illustrées), et une série de vérifications automatiques de qualité (format, couleur, boucle, zone de sécurité). Il est compatible avec les agents comme Claude Code ou Cursor, et exploite des bibliothèques Python, Playwright, et ffmpeg.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Vidéo de découverte

Le produit, c'est la découverte, pas le site web. La vidéo montre le matériau réel qui la prouve, en grand et clair, retient un élément constant pour que le spectateur voie ce qui a changé, et se termine par une question que les gens commentent. Le site n'apparaît qu'à la fin, comme source.

Cette approche a été développée à partir du clip satellite de Cluj (même endroit, 1968 → 2025, image plein cadre, une année, deux lignes, pas de site), qui a bien mieux fonctionné qu'une simple visite guidée du site.

Ce que vous livrez

  • Deux montages, 1080×1920, 30 ips, H.264 + AAC, 15–25 s : A commence par la question ou la première image et boucle ; B commence à froid sur le payoff. Vignettes pour les deux.
  • post.txt : fichiers et spécifications, notes de publication, tableau des affirmations (chaque chiffre et ligne à l'écran → son fichier source ou URL), crédits image, sources sonores. Pas de texte de publication sauf si l'utilisateur le demande (les agents ne rédigent pas de publications).
  • Les vidéos dans un dossier en dehors du dépôt (~/Videos/<projet>-finding-<date>/) ; le storyboard, les scripts et les recadrages du matériau dans reports/finding-<date>/ du projet, avec un README : ce qui s'y trouve, où se trouve le média, de quoi les scripts ont besoin.
  • La publication est la responsabilité de l'utilisateur : ne publiez jamais à sa place.

Flux de travail : trois approbations légères avant le rendu long

  1. La découverte. Listez 2 à 4 découvertes candidates issues des données du projet, chacune avec la tension qu'elle porte et son dénominateur. Choisissez celle qui a de l'attrait (argent, ville, nuisance partagée). Vérifiez chaque chiffre par rapport aux données, pas par rapport à la page qui les résume.
  2. Le matériau. Pour la découverte, trouvez la chose réelle la plus vivante qui la montre : une capture de menu sauvegardée, une image satellite, un document, une photo, les données elles-mêmes sous forme de graphique. Notez les droits pour chaque pièce (voir references/craft.md, Matériau). Les recadrages restent exactement comme capturés : pas de retouche, pas de prix ajoutés.
  3. Vérification de l'histoire (approbation 1). Un tableau des séquences : temps, ce qui remplit le cadre, la légende, le son, et l'affirmation que chaque séquence fait avec sa source. Nommez la constante (ce qui reste identique pendant que le reste change) et le dispositif (l'idée unique que vous pourriez dire en une phrase). Attendez le oui ou les modifications de l'utilisateur.
  4. Vérification de l'aspect (approbation 2). Utilisez le design actuel de la page : lisez ses couleurs, sa police et son style de graphique à partir de la source du site à chaque fois, car les pages sont refondues (2026-11-06). Rendez 2 à 3 images en pleine taille (frames.py --stills, ou seek_capture.mjs ... stills) et montrez-les. Attendez un pouce levé par image.
  5. Storyboard (approbation 3). Dessinez-le avec scripts/storyboard.py : une image clé par séquence aux proportions réelles, avec le temps, le son et la transition vers la séquence suivante. Montrez-le et attendez un oui. L'utilisateur a demandé cette vérification : aucun rendu vidéo avant cela (2026-11-06).
  6. Construction. Rendez, puis exécutez les vérifications ci-dessous et examinez chaque feuille vous-même.
  7. Livraison. post.txt, storyboard, et dites à l'utilisateur ce que vous n'avez pas pu vérifier (son à l'oreille au moins) et que la tenue de 2 secondes, le temps de visionnage et les commentaires sont le véritable verdict.

Ne sautez une approbation que si l'utilisateur le dit pour cette vidéo.

Rendeurs

Choisissez selon le matériau ; tous écrivent des images PNG 1080×1920 et encodent avec tv-range BT.709 yuv420p.

MatériauRendeurCommentaire
Photos, scans, images satellite, recadrages de documentsscripts/frames.py (du clip satellite)une frame_fn(t) Python qui compose les images plein cadre, shade_top derrière les légendes, overlay/text pour les légendes ; synth pour les événements sonores ; render() encode
Un graphique ou un nombre qui bougeune page HTML avec window.seek(t) (la méthode graphique ci-dessous) + scripts/seek_capture.mjsnode seek_capture.mjs <page.html> <out> stills pour les images de vérification, puis les images pour la vidéo ; encoder avec ffmpeg comme dans frames.encode
Une scène illustrée (atmosphère, métaphore)optionnel : cth9191/animate (MIT), un skill tiersdemandez avant de l'installer

La méthode graphique (de charlie947/motion-graphics-skills animated-chart, MIT) : quatre états — début, un changement (rien ne disparaît et n'est remplacé), maintien avec la valeur du titre étiquetée, retour pour que la boucle n'ait pas de saut. Chaque image est calculée à partir de t uniquement. Le titre, les étiquettes et les axes ne bougent jamais. N'arrondissez jamais, ne reformatez pas et n'ajoutez pas de nombre. Après la construction, capturez les images à 0, 1, 2, 4 et 7 s et recherchez un texte qui se chevauche ou coupé avant la vidéo.

Nécessite numpy et Pillow pour frames.py, Playwright pour seek_capture.mjs (définissez PLAYWRIGHT= sur son node_modules/playwright s'il n'est pas résoluble), et ffmpeg.

Vérifications

  • python3 ../demo-video/scripts/check.py <répertoire de sortie> --name <nom> (depuis le dossier de ce skill) (nommez les montages <nom>-A.mp4 / <nom>-B.mp4) : taille, fréquence d'images, couleur, volume, SSIM de boucle, zone de sécurité et planches contact. Il signale et n'échoue pas : lisez chaque ligne et vérifiez chaque nombre par rapport à sa cible vous-même.
  • Regardez la feuille de zone de sécurité : aucune légende, nombre ou ligne source sous le rouge.
  • Lisez chaque légende à la taille d'un téléphone (360 px de large) sur la planche contact.
  • Nommez le héros de chaque séquence principale et vérifiez qu'il occupe au moins 40 % de la hauteur du cadre, et nommez le virage (references/craft.md). Dites quelles séquences manquent.
  • Tableau des affirmations : chaque nombre à l'écran tracé jusqu'à un fichier ; chaque comparaison indique sa base (quelles pizzas, quelle date, combien).
  • Mesurez le son séquence par séquence, à la fois en pleine portée et au-dessus de 250 Hz (ce que joue un haut-parleur de téléphone). Le payoff doit être le plus fort dans les deux, et le quasi-silence doit être silencieux. Écoutez ensuite une fois si possible ; sinon, dites que vous ne l'avez pas fait. Utilisez frames.mix pour donner au payoff son propre niveau, puis frames.level ; sur le pilote de pizza, l'ancien compresseur a laissé le ronronnement plus fort que le son fort.

Pièges

  • Une légende à côté d'un nombre hérite de son unité. "le plus grand écart" sous "4 lei" se lit comme des lei ; dites "în procente" ou supprimez-le. (Treponti était le plus grand en pourcentage, La Crosta en lei.)

  • Ne réutilisez pas les photos de produits ou l'interface des applications (les conditions de Wolt et Glovo réservent les droits d'image). Transcrivez une annonce dans votre propre carte neutre, datée, ou recadrez uniquement le texte dont vous avez besoin comme preuve et indiquez sa provenance.

  • Les images générées par IA restent hors des vidéos sur des lieux ou des prix réels ; elles donnent l'impression d'être mises en scène. L'atmosphère provient des propres images de l'utilisateur, d'archives du domaine public (vérifiez les droits de chaque élément) ou d'un style clairement illustratif.

  • ElevenLabs "Chris" se trompe sur les nombres roumains, même en chiffres (49 et 67 sur la vidéo pizza, 88 sur la vidéo permis, 2026-11-06). La transcription ne le détecte pas. Auditionnez chaque nombre parlé et faites écouter l'utilisateur avant le mixage.

  • Avant de publier, la page doit être en ligne et les nombres revérifiés si les données ont changé.

  • Les voix synthétiques lisent mal les nombres, et la transcription ne le détectera pas. L'écriture en toutes lettres "optzeci" est sortie comme "opt zece", la transcription disait toujours "Optzeci", et une prise avec des chiffres était correcte. La prise suivante du même nombre est à nouveau sortie erronée, donc la génération varie : une fois que l'utilisateur approuve une prise, épissez cet audio et ne le régénérez pas. Seule une oreille humaine peut vérifier la prononciation (2026-11-06).

D'où viennent les règles

references/craft.md contient le savoir-faire : la feuille de séquences de découverte, les règles d'histoire, les légendes, le matériau et les droits, le son. Sources : un clip d'imagerie satellite de Cluj-Napoca (2026-11-03), les notes de savoir-faire de demo-video, la grammaire d'histoire de cth9191/animate (MIT), animated-chart et les règles d'explication vidéo de charlie947 (MIT), les règles de cadre et de virage de StewdioAI/blank-page (MIT), et une consultation Codex (2026-11-04).

Individual skills in this repo

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

Skills associés