Communitygithub.com

Explainer Short (idée → vidéo terminée)

Transformez une idée ou un sujet en une vidéo explicative verticale terminée (YouTube Shorts / Reels / TikTok, 1080×1920 MP4 + sous-titres + couverture) dans le style technique « dark-canvas, lettrage manuscrit, diagramme continu » (comme les courts de KodeKloud) — localement et gratuitement (Remotion + Kokoro TTS, sans API payante, sans modèle vidéo, sans visage).

Qu'est-ce que Explainer Short (idée → vidéo terminée) ?

Ce skill permet à un agent IA (comme Claude Code, Cursor ou Codex) de produire automatiquement une vidéo verticale d'explication technique, de l'idée jusqu'au fichier MP4 final, en suivant un processus en 7 étapes strictes. Il est particulièrement utile pour les développeurs qui souhaitent créer rapidement des contenus éducatifs ou des explications visuelles pour les réseaux sociaux, sans avoir à monter manuellement ou utiliser des services payants. Le skill s'appuie sur des outils open-source : Remotion pour le rendu vidéo, Kokoro pour la synthèse vocale (TTS), et des scripts shell pour l'automatisation. Il gère la planification du script (structure en 6–9 sections), la génération de la voix avec contrôle de la prononciation, la création des visuels animés (diagrammes, focus, transitions) via React, et la validation automatique (vérifications de chevauchement, échelle, lisibilité, synchronisation, continuité, focus et densité). L'utilisateur n'a qu'à fournir le sujet, et le skill décide des paramètres par défaut (durée, voix, marque) à moins que l'utilisateur ne précise des exigences spécifiques. Le résultat est une vidéo 1080×1920 avec sous-titres (SRT), une couverture et un fichier upload.md prêt pour la publication.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mohamed-stifi/agent-skills/tree/HEAD/skills/explainer-short

Demander à votre IA préférée

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

Documentation

Que fait Explainer Short (idée → vidéo terminée) ?

Vous produisez UNE vidéo terminée par demande en suivant les 7 étapes ci-dessous dans l'ordre, une fois. Chaque étape a une commande, un résultat et une condition d'arrêt. N'inventez pas d'étapes supplémentaires.

Chemins : SKILL = le dossier contenant ce fichier. STUDIO = l'espace de travail vidéo (par défaut : ./explainer-studio dans le projet courant ; réutilisez-le s'il existe). SLUG = identifiant en kebab-case de la vidéo, ex. comment-fonctionne-https.

Limites strictes (pour garder l'exécution courte et peu coûteuse)

  • Posez au maximum une question à l'utilisateur, et seulement s'il n'y a aucun sujet. Sinon, décidez vous-même (durée, format, marque) en utilisant les valeurs par défaut ci-dessous et indiquez vos choix dans la réponse finale.
  • check.sh → correction → check.sh au maximum 2 cycles de correction. Ensuite, effectuez le rendu et listez tout problème restant dans la réponse.
  • Régénérez la voix au maximum 2 fois (uniquement pour la durée ou un mot mal prononcé).
  • Ne modifiez pas src/kit/ (sauf pour ajouter une icône). N'installez pas d'autres paquets ou outils.
  • Lisez template/src/videos/example/ une fois (c'est l'implémentation de référence). Ne lisez pas le code source du kit ; references/kit-api.md le documente.

« Court », « reel », « explainer short » = le FORMAT vertical, pas le mode de longueur. Utilisez le mode de longueur « court » uniquement si l'utilisateur demande une vidéo rapide/très courte/moins d'une minute ou donne des secondes.

Valeurs par défaut : durée 95–120 s (300–370 mots ; « court » = 55–70 s, « complet » = la durée de référence 160–175 s — voir references/script-guide.md), voix am_michael vitesse 1.18, marque = le nom/chaîne de l'utilisateur si connu, sinon "VotreMarque". Les règles de style proviennent de la mesure de 23 vidéos de référence ; les preuves sont dans references/style-evidence/ (humains uniquement — vous n'avez pas besoin de les lire).

Étape 1 — Configuration (une fois par machine, ~3 min la première fois, ~2 s ensuite)

bash SKILL/scripts/setup.sh STUDIO

Condition d'arrêt : dernière ligne PRÊT : …. Si elle affiche OUTILS MANQUANTS, dites exactement à l'utilisateur quoi installer et arrêtez-vous. (Définissez d'abord KOKORO_MODELS=<dossier> si les fichiers du modèle vocal existent déjà quelque part, pour éviter un téléchargement de 340 Mo.)

Étape 2 — Planification (pas encore de code)

Lisez references/script-guide.md. Ensuite, écrivez STUDIO/src/videos/SLUG/plan.md (≤ 25 lignes, après que l'Étape 3 ait créé le dossier) :

  1. Titre dans l'un des formats (Comment fonctionne X · X vs Y · Entretien : … · Conception système : comment fait X).
  2. Exemple fil rouge : une personne nommée + un produit/une entrée/une valeur concret(te) utilisé(e) du début à la fin.
  3. Temps forts (sections) avec des identifiants, 6–9, chacun = une idée.
  4. Étapes visuelles : lisez references/visual-guide.md, puis écrivez une ligne par section : section → ajouté / déplacé / focus (projecteurs sur identifiants) / quitte (voir « Étapes de planification » dans ce fichier). Choisissez 3–4 accents et associez chacun à un élément.

Étape 3 — Script

bash SKILL/scripts/new_video.sh STUDIO SLUG

Écrivez STUDIO/src/videos/SLUG/script.json (format : voir le script.json de l'exemple). Règles importantes :

  • sections[].id unique, simple (accroche, scenario, mecanisme, …). La dernière section est l'appel à l'action.
  • Écrivez les nombres/symboles comme vous voulez qu'ils soient affichés et mappez-les à leur prononciation dans pronounce ("429": "quatre cent vingt neuf", "API": "A P I", "SQL": "sequel", "k8s": "kubernetes").
  • Phrases ≤ 18 mots. Seuls . ! ? terminent les phrases (chaque phrase est synthétisée séparément). Vérifiez automatiquement par rapport à la liste de règles à la fin de script-guide.md avant de passer à l'étape suivante.

Étape 4 — Voix

bash SKILL/scripts/voice.sh STUDIO SLUG

Affiche le début/la fin de chaque section et Terminé : <sec>s, <mots> mots, <mots/min> mpm. Condition d'arrêt : durée dans la cible ±15 %. Trop long → coupez des phrases (pas la vitesse) et relancez une fois.

Étape 5 — Visuels

Lisez references/kit-api.md et l'exemple (STUDIO/src/videos/example/Video.tsx + stages/*.tsx). Écrivez STUDIO/src/videos/SLUG/Video.tsx + un fichier par étape dans stages/. Non négociable :

  • Le at de chaque élément provient de cue(section, mot) ou sec(section).from — jamais de secondes codées en dur.
  • Un seul canevas continu : les éléments persistent, se déplacent, s'estompent et sont réutilisés. Pas d'effacement plein écran sauf entre les étapes.
  • Quelque chose change visiblement au moins toutes les ~3 s de narration (nouvel élément, mise en évidence, changement d'état, déplacement).
  • Focus = plan de projecteurs sur <Canvas focus> (atténue le reste) — le principal mécanisme du style.
  • Pas de sous-titres. Légendes (Conclusion) ≤ 7 mots, 2–6 par vidéo.
  • Gardez le contenu dans la zone de sécurité (x 60–1020, y 280–1480 ; titre ≈150 ; légende juste en dessous du diagramme).
  • Remplissez la largeur : panneaux principaux l 960 (ou 2 × 465). Rien de plus petit que 26 px.

Étape 6 — Vérification (max 2 cycles de correction)

check.sh et render.sh démarrent un serveur local + Chrome sans tête. Dans un agent en mode bac à sable, exécutez les deux commandes en dehors du bac à sable. Si votre environnement ne peut pas du tout le faire (Aucun port disponible trouvé, Chrome ne démarre pas, appels hors bac à sable refusés) : arrêtez-vous après l'Étape 5, et dites à l'utilisateur d'exécuter check.sh puis render.sh lui-même (donnez les deux commandes complètes). N'essayez pas de contournements.

bash SKILL/scripts/check.sh STUDIO SLUG          # 3e argument optionnel : "12.5,30,41" = secondes supplémentaires à inspecter

Il vérifie chaque cue() par rapport au minutage vocal (instantané), vérifie les types, effectue le rendu d'environ 3 images par section + la carte de fin, et écrit out/SLUG/check/sheet.jpg (+ NN.jpg images individuelles). Regardez l'image de la planche (et 2–3 images individuelles en taille réelle). Corrigez uniquement ce qui échoue :

VérificationÉchec quand
chevauchementdes textes/boîtes entrent en collision ou sont coupés par le bord de l'écran
échellele diagramme utilise < 80 % de la largeur ou laisse y 900–1400 vide dans une section chargée ; un texte que vous devez plisser les yeux pour lire dans une image de 540 px de large
lisibilitétoute étiquette plus petite qu'environ 28 px, ou un texte sur une zone chargée
synchronisationun élément apparaît avant son mot, ou une image montre un canevas vide/périmé alors que la narration parle de quelque chose
continuitéune étape ne semble pas liée à la précédente (tout remplacé) alors que l'histoire continue
focusla chose dont on parle n'est pas mise en évidence (Focus / ambre / atténuer les autres)
densitéune image avec > 9 éléments visibles, ou > 2 lignes de texte de conclusion

Les erreurs de type / cue non trouvé impriment la correction (la liste des mots valides). Corrigez et relancez.

Étape 7 — Rendu + livraison

bash SKILL/scripts/render.sh STUDIO SLUG

(Si Chrome sans tête est bloqué par un bac à sable, réexécutez cette commande en dehors du bac à sable.) Ensuite, écrivez STUDIO/out/SLUG/upload.md : titre (= le titre de la vidéo, ≤ 60 caractères, 1 emoji à la fin autorisé), description de 2 phrases, 5 hashtags, et une liste « Faits à vérifier » (chaque nombre/affirmation que vous avez cité de mémoire).

Réponse finale (courte) : le chemin du MP4, la durée, les chemins du SRT/de la couverture/de upload.md, les choix que vous avez faits (format, durée, exemple fil rouge), et tout problème connu restant. Arrêtez-vous ensuite.

Dépannage

SymptômeCorrection
cue non trouvé : "x" #1 dans la section "y". Mots : …utilisez un mot de la liste imprimée, ou la bonne section
un mot est mal prononcéajoutez-le à pronounce et relancez l'étape 4
Impossible de trouver le module './timing.json'l'étape 4 n'a pas été exécutée pour ce SLUG
composition SLUG non trouvéeexécutez voice.sh (il enregistre la vidéo)
Chrome / SIGABRT / ENOTFOUND remotion.media / Aucun port disponible trouvéle bac à sable bloque le navigateur/port : exécutez la commande sans bac à sable (voir Étape 6)
échec de la canonisation du chemin …/voice/.venv/bin/python3 ou autres erreurs uv/venvsupprimez STUDIO/voice/.venv et relancez setup.sh
une image montre un texte débordant d'un panneaudonnez au <El> un h plus grand, moins de lignes, ou une police plus petite (≥ 26 px)
vidéo trop longue/courtemodifiez le script (≈3.1 mots par seconde à la vitesse 1.18), relancez l'étape 4

Individual skills in this repo

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

Skills associés