Communitygithub.com

liwoo/evidence-explainer

Transforme un enregistrement vocal ou un clip audio (sans image caméra) en une vidéo verticale d'environ 1 minute pour TikTok / Reels / Shorts qui PROUVE ce que le locuteur dit – captures d'écran plein écran de sites web réels zoomées sur la ligne exacte (avec surligneur), logos d'entreprises incrustés avec un clic d'appareil photo, diagramme d'architecture pas à pas compréhensible par un non-initié, cartes en français simple pour chaque mot de jargon, un « ka-ching » à chaque étape monétaire/transaction réussie, un accroche au début et un appel à l'action à la fin, sous-titres mot à mot ancrés en bas.

Qu'est-ce que evidence-explainer ?

Cette compétence est conçue pour les créateurs de contenu, les spécialistes du marketing et toute personne souhaitant transformer rapidement des enregistrements vocaux, des mémos vocaux, des extraits de podcasts ou des fichiers audio (MP3, M4A) en vidéos explicatives verticales courtes pour TikTok, Instagram Reels ou YouTube Shorts. L'objectif est de fournir des preuves visuelles irréfutables : captures d'écran de sites web réels, logos d'entreprises, diagrammes d'architecture simplifiés et cartes de glossaire pour les termes techniques. La compétence suit un processus en six étapes, allant de la transcription et du découpage de la voix à la génération de sous-titres, en passant par la collecte de preuves, la construction d'une timeline vidéo, l'ajout d'effets sonores et le rendu final. Elle utilise des outils comme ffmpeg, Node.js, Python, Chrome (via Playwright), et whisper.cpp pour la transcription. Le résultat est une vidéo de 60 secondes maximum, avec un style maison défini : captures plein écran, zooms précis, logos animés, effets sonores de caisse enregistreuse (« ka-ching ») pour les transactions, et des sous-titres ancrés en bas pour une lisibilité optimale. La compétence inclut également des points de contrôle pour vérifier la compréhension par un novice, les revendications non vérifiables, et la conformité des licences des logos avant publication.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/liwoo/evidence-explainer/tree/HEAD

Demander à votre IA préférée

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

Documentation

Explicateur avec preuves (note vocale → vidéo verticale de 1 minute avec sources)

Basé sur « Comment les Malawites obtiennent des cartes Visa sans Forex » (11 novembre 2026) : une note vocale Android de 4:15 → un TikTok de 60,4 s avec 10 pages web comme preuves, le diagramme d'architecture de Bridge, 9 logos, 4 sons de caisse. Exemple concret dans assets/examples/visa-cards/ (script + vérification novice, plan de montage, tâches de capture, video.json complet, texte de publication, fiche de contacts).

note vocale ─► transcrire + îlots ─► SCRIPT + VÉRIFICATION NOVICE (point de contrôle) ─► couper la voix (bords vérifiés) ─► tempo + mots
                                        │
                                        └► preuves : captures d'écran avec rectangles cibles · logos · diagrammes issus de la documentation
                                                                    │
                       timeline video.json (scènes, zooms, tampons, glossaires, sons caisse, étapes du diagramme)
                                                                    │
                                  effets sonores + musique douce + mix ─► images fixes avec zones de sécurité ─► rendu ─► vérifier

Configuration

SK=~/.claude/skills/evidence-explainer
zsh $SK/scripts/new_explainer.sh "<fichier audio>" .context/<slug>     # ~1-3 min ; affiche l'espace disque
cd .context/<slug>                                                  # chaque script s'exécute depuis ici (W)

Nécessite ffmpeg, Python 3 + numpy + Pillow, Node 20+, Chrome (Playwright pilote le Chrome installé), whisper.cpp + ggml-medium.en.bin dans ~/.cache/whisper.cpp (scripts/setup_whisper.sh le construit ; surcharger avec WHISPER_DIR). Le script d'échafaudage exécute npm i dans remotion/, ou clone un node_modules existant lorsque EXPLAINER_NODE_MODULES pointe vers celui-ci (copie à l'écriture APFS, ~0 octets). Aspect = « mode développeur » (src/brand.ts : grille pointillée, Space Mono, cyan/jaune/ambre) ; le nom et le site proviennent de video.json.

Les étapes (lire la référence lorsque vous y arrivez)

#ÉtapeLireOutils
1Écrire le script à partir de sent.txt, puis exécuter la vérification novicereferences/01-script-and-lay-check.md—
2Couper la voix à ≤ 60 s sur des bords vérifiés, tempo, sous-titresreferences/02-voice-cut.mdislands_labels.txt, dips.py, tx.sh, cut.py, voice.sh, words.py
3Preuves : captures d'écran + rectangles cibles, logos, diagrammes issus de la documentationreferences/03-evidence.mdshoot.mjs, logo_tools.py, logo.mjs, register_image.py
4Timeline dans remotion/src/video.jsonreferences/04-video-json.mdmoteur src/Explainer.tsx
5Son : clics, sons de caisse, musique douce, mixreferences/05-sound.mdsfx_mix.py, score.py
6Aperçu avec les zones de sécurité TikTok, rendu, vérifierreferences/06-render-verify.mdremotion/stills.mjs, sheet.py, verify.sh

Chemin rapide une fois le script approuvé :

python3 $SK/scripts/cut.py cut.json && zsh $SK/scripts/voice.sh 1.18 "Noms, Marques, Jargon"
python3 $SK/scripts/words.py word_fixes.json
node $SK/scripts/shoot.mjs shoot_jobs.json shots && cp shots/*.png remotion/public/shots/ && cp shots/shots.json remotion/src/shots.json
python3 $SK/scripts/logo_tools.py sync                      # après avoir récupéré les logos
# écrire remotion/src/video.json, puis :
python3 $SK/scripts/sfx_mix.py path/to/music.mp3          # ou `none`
(cd remotion && npx tsc -p . && node stills.mjs 45,300,...) && python3 $SK/scripts/sheet.py stills --zones
(cd remotion && npx remotion render src/index.ts Explainer ../out/<slug>.mp4 --codec=h264 --crf=18 --audio-codec=aac --audio-bitrate=192k)
zsh $SK/scripts/verify.sh out/<slug>.mp4

Un rendu complet de 60 s prend ~40 s ; les images fixes ~1 s chacune après le bundle.

Style maison (issu de la revue du créateur sur la première vidéo — conservez-le sauf indication contraire)

  • Plan B plein écran. Les captures d'écran remplissent le cadre 1080×1920 (pas de carte de navigateur) ; la caméra commence large, puis zoome sur la ligne qui prouve le point tandis qu'un surligneur la parcourt. Un bandeau fin https://domaine + une étiquette jaune // preuve : … se trouvent en haut à gauche.
  • Les logos arrivent avec un clic d'appareil photo (carte blanche, légère inclinaison, effet de réduction avec apparition, flash blanc). Montrez-en davantage : chaque entreprise nommée reçoit son logo une fois.
  • « Ka-ching » à chaque transaction réussie (compte créé, argent reçu, portefeuille rechargé, paiement approuvé) avec une pastille ✓ verte et un anneau.
  • Architecture pour les non-initiés. Un diagramme (Vous → App → Infrastructure → Carte), avec des logos dans les nœuds, construit étape par étape (« ÉTAPE 1 · INSCRIPTION »…), avec des paquets étiquetés voyageant entre les nœuds. Le diagramme de développement d'un fournisseur n'est montré zoomé que dans ses zones en français simple, jamais en entier.
  • Demandez-vous après avoir écrit le script : cela clarifiera-t-il ou embrouillera-t-il un novice qui utilise le produit ? Corrigez chaque « embrouille » avant de construire (cartes de glossaire, étiquettes plus simples, pas de style de code). Mettez la vérification dans le fichier du script et dans le résumé.
  • Sous-titres ancrés en bas : le bord inférieur du cadre est fixé à 400 px au-dessus du bord inférieur du cadre (juste au-dessus du bloc nom d'utilisateur/légende de TikTok), les pages de 2 lignes s'agrandissent vers le haut, décalées par rapport au rail d'actions de droite.
  • Accroche au début (grand mot en matrice de points + la question du spectateur sur la première preuve, flouté), appel à l'action à la fin (récapitulatif de la chaîne de logos, SUIVEZ, nom, bouton, site).
  • La musique est un fond doux (score.py BASE −26 LUFS) : une musique dramatique forte testée comme « bien trop forte et agaçante ».

Points de contrôle (arrêtez-vous et demandez, avec une recommandation)

  1. Script + vérification novice avant de couper quoi que ce soit : le tableau des séquences (ce qu'il dit → ce qui est à l'écran) et le tableau embrouille/clarifie.
  2. Affirmations que vous ne pouvez pas vérifier (par exemple « l'application X utilise le fournisseur Y ») : conservez-les dans ses mots, formulez les étiquettes à l'écran comme « p. ex. » / « un exemple », et signalez-les.
  3. Avant le rendu : images fixes de chaque nouvel élément avec --zones.
  4. Avant la publication : licences des logos (CC BY/BY-SA nécessitent une ligne de crédit), affirmations nuancées (« très probablement » reste visible), noms mal compris par Whisper (les sous-titres utilisent l'orthographe correcte même s'il l'a dit étrangement). Téléchargez uniquement lorsque demandé.

Principes de travail

  • Preuves plutôt qu'affirmations : chaque séquence factuelle reçoit une page qui le dit, capturée en direct, zoomée sur la ligne. Préférez les sources primaires (salle de presse de l'entreprise, documentation officielle, le régulateur/banque centrale, la page de l'App Store) aux blogs. Notez ce qu'une page ne DIT PAS (le tableau des pays de Bridge = qui peut être intégré, pas la disponibilité des cartes) et étiquetez en conséquence.
  • Coupez uniquement sur des bords vérifiés : îlots d'énergie + creux bissectés (tx.sh), jamais les horodatages de mots de Whisper (ils dérivent de secondes sur l'audio téléphonique). Retranscrivez la coupe finale et le rendu.
  • Les glossaires sont courts et concrets : « stablecoin = un dollar numérique, 1 USDC ≈ 1 $ », « KYC = le contrôle d'identité + selfie que vous avez fait lors de l'inscription », « API = une prise qui permet aux applications d'utiliser X ».
  • Limites de zoom : une capture d'écran mobile de 1200 px remplit le cadre au zoom 1.0 (elle est déjà recadrée de ~36 px de chaque côté) ; les paragraphes tolèrent ≤ 1,3, les cibles courtes (une ligne de code, une ligne de tableau) 1,8–2,0. Vérifiez que les mots surlignés et toute colonne clé (par exemple la devise) restent dans le cadre.
  • Vérifiez, puis rapportez : durées (vidéo vs audio), −14 LUFS / crête ≤ −1, transcription complète du rendu, sons de caisse ≥ +5 dB par rapport à la voix, une fiche de contacts que vous avez regardée. Dites ce que vous avez choisi par balise sans écouter (musique).

Format du résumé final

Chemin du livrable + longueur ; une image de fiche de contacts ; ce qui est à l'écran, séquence par séquence (court) ; le verdict de la vérification novice ; « vérifier avant de publier » (affirmations non vérifiées, licences, nuances, noms mal compris) ; entretien (répertoire de travail, disque, coût de re-rendu, quel fichier modifier).

Skills associés