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)
| # | Étape | Lire | Outils |
|---|---|---|---|
| 1 | Écrire le script à partir de sent.txt, puis exécuter la vérification novice | references/01-script-and-lay-check.md | — |
| 2 | Couper la voix à ≤ 60 s sur des bords vérifiés, tempo, sous-titres | references/02-voice-cut.md | islands_labels.txt, dips.py, tx.sh, cut.py, voice.sh, words.py |
| 3 | Preuves : captures d'écran + rectangles cibles, logos, diagrammes issus de la documentation | references/03-evidence.md | shoot.mjs, logo_tools.py, logo.mjs, register_image.py |
| 4 | Timeline dans remotion/src/video.json | references/04-video-json.md | moteur src/Explainer.tsx |
| 5 | Son : clics, sons de caisse, musique douce, mix | references/05-sound.md | sfx_mix.py, score.py |
| 6 | Aperçu avec les zones de sécurité TikTok, rendu, vérifier | references/06-render-verify.md | remotion/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)
- 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.
- 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.
- Avant le rendu : images fixes de chaque nouvel élément avec
--zones. - 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).