Communitygithub.com

Lesson Slide Designer

Transformez le contenu d'une leçon (plan pédagogique, script de cours, section de syllabus ou notes) en un diaporama PowerPoint clair et vivant (.pptx, 16:9, icônes, graphiques natifs, notes de l'orateur) et en un script vidéo prêt pour un montage ou une synthèse vocale. Suit les règles de conception pédagogique (une idée par diapositive, un visuel sur chaque diapositive, règle 6x6, police minimale 24 pt, fond sombre, trois couleurs, structure titrage-fermeture) et vérifie chaque règle avec un script avant de livrer quoi que ce soit. À utiliser à chaque fois que l'utilisateur demande des diapositives, un diaporama, un PowerPoint, une présentation pour une leçon, un cours, une classe, un atelier, une formation, une vidéo de cours en ligne ou une conférence Udemy, ou dit « transforme cette leçon en diapositives », « fais le diaporama pour le module 2 », « des diapositives pour ma vidéo de cours », même s'il ne mentionne jamais PowerPoint. Pas pour rédiger le contenu de la leçon lui-même ni pour des pitchs commerciaux.

Qu'est-ce que Lesson Slide Designer ?

Le **Lesson Slide Designer** est une compétence IA conçue pour générer automatiquement des présentations pédagogiques professionnelles au format PowerPoint (.pptx, 16:9) ainsi qu'un script vidéo de narration, à partir du contenu d'une seule leçon. Il est idéal pour les formateurs, enseignants et créateurs de cours en ligne qui souhaitent transformer rapidement un plan de cours, un script ou des notes en un diaporama structuré, visuellement attrayant et conforme aux principes de conception pédagogique (une idée par diapositive, 6x6, police 24 pt minimum, fond sombre, trois couleurs). La compétence produit également un script vidéo détaillé, ligne par ligne, avec les indications de production et les durées, prêt à être utilisé par un monteur vidéo ou un pipeline de synthèse vocale pour créer une vidéo commentée. Elle repose sur un pipeline de scripts Python (build_slides.py, render_slides.py, preview_video.py) qui valident rigoureusement les diapositives (limites de texte, absence d'orphelins, règles de rythme) et génèrent le fichier PowerPoint, des aperçus PNG et une vidéo de prévisualisation optionnelle. Le flux de travail est itératif : l'utilisateur fournit le contenu de la leçon, la compétence planifie le diaporama, génère un fichier JSON central (slides.json), construit le deck, le rend visuellement et signale toute violation des règles. Cela garantit un résultat de haute qualité, prêt à être utilisé en classe ou en ligne. La compétence est hautement configurable (thème, langue, forme d'adresse) et s'intègre dans des workflows de création de cours complets.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chuonglife/lesson-slide-designer-skill/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

Lesson Slide Designer (Concepteur de Diaporamas Pédagogiques)

Transformez le contenu d'une leçon en un diaporama dont on peut apprendre et un script vidéo pour la version narrée. Une leçon à la fois, un dossier par leçon.

Sortie, dans slides/<cours>/<leçon>/ sauf si l'utilisateur indique un autre emplacement :

FichierDescription
slides.jsonLa source unique : chaque diapositive sous forme de données, utilisant 16 types de diapositives (references/slide-types.md). Modifiez ce fichier, puis reconstruisez
<nom_fichier>.pptxLe diaporama 16:9, Arial, un thème à trois couleurs ; la narration de chaque diapositive se trouve dans ses notes de l'orateur
<nom_fichier>.video-script.mdLe fichier pour l'étape vidéo : un bloc par diapositive avec le texte à l'écran, les notes de production, la narration prête pour la synthèse vocale, et les secondes, plus un tableau récapitulatif
_preview/slide-NN.png, _preview/contact-sheet.pngImages 1920x1080 de chaque diapositive et une planche contact, pour votre propre contrôle visuel et comme images pour une vidéo
<nom_fichier>.preview.mp4 (optionnel)Un diaporama silencieux aux minutages du script, ou un diaporama narré si des fichiers audio par diapositive existent

Outils utilisés par les scripts : Python 3.9+ avec python-pptx, Pillow, lxml (et cairosvg pour les icônes, ou sharp-cli, rsvg-convert, Inkscape) ; LibreOffice et Poppler (pdftoppm) pour générer les aperçus ; ffmpeg pour la vidéo de prévisualisation optionnelle. Les icônes sont issues de l'ensemble Lucide (licence ISC) dans assets/icons/.

Flux de travail

Étape 0. Lire la source et définir le brief

  1. Lisez l'intégralité de la source de la leçon : objectifs, public, mode de diffusion, le plan de cours avec les minutes, le script, les questions avec réponses, toute ébauche de diapositives, les documents distribués. Si l'utilisateur ne donne qu'un titre, demandez le contenu ou rédigez-le d'abord (la compétence compagnon lesson-content-writer fait exactement cela).
  2. Lisez references/slide-standards.md (les règles et la structure du diaporama) et references/slide-types.md (les 16 types et leurs limites de texte).
  3. Définissez : la diffusion (vidéo en autonomie, donc chaque vidéo est un cluster avec sa propre ouverture, son corps et sa fermeture plus des diapositives de pause ; ou cours en direct, donc des diapositives pour interroger la salle et pour guider les exercices) ; la langue (language, n'importe quelle langue fonctionne, en et vi bénéficient de vérifications supplémentaires) ; le thème (par défaut navy ; un thème par cours, réutilisez-le leçon après leçon) ; la manière dont le formateur s'adresse aux apprenants (tirez-la du script) ; le nom du formateur et son contact pour le pied de page.

Étape 1. Planifier le diaporama

À partir du plan de diapositives de la source, ou de la séquence de la leçon, écrivez un tableau : # | type | l'idée unique de la diapositive | visuel ou icône | question ou pause | numéro de vidéo. Contraintes :

  • Structure complète : title -> (question, un ouvreur « essayez d'abord », si la leçon en a un) -> objectifs -> ordre du jour -> pour chaque partie une section (ou l'ordre du jour à nouveau avec current) -> 2 à 5 diapositives de contenu -> au moins une question -> résumé -> closing.
  • Une idée par diapositive. Au moins 4 types de diapositives par diaporama, jamais 3 du même type à la suite, une pause ou une question au moins toutes les 10 à 12 minutes de narration.
  • Planifiez l'arc émotionnel et placez un rythme-breaker aux 1/3 et 2/3 ; écrivez les titres comme des affirmations, pas des étiquettes (references/rhythm-and-titles.md). Les nombres sourcés vont sur big-numbers ou chart, pas dans les puces.
  • Les faits, les termes, les chiffres et les exemples proviennent uniquement de la source de la leçon. Ne les inventez jamais. Les exemples sont tirés du travail propre des apprenants.
  • Cours vidéo : suivez le plan de cours, couvrez chaque section, exemple, question de pause et exemple travaillé de la source sur une diapositive ou dans la narration, et déclarez videos avec les minutes prévues pour que le script puisse alerter sur les vidéos trop légères. Un plan de diapositives dans la source est un plancher, pas un plafond. Une leçon de 100 minutes nécessite généralement 35 à 60 diapositives ; le modèle de 17 diapositives est une démonstration technique, pas une leçon complète.

Étape 2. Écrire slides.json

Copiez templates/slides.example.json et remplissez-le à partir du plan. Pour chaque diapositive :

  • Le texte à l'écran se compose de mots-clés et de courtes lignes qui tiennent en 24 pt (limites par type dans slide-types.md). Trop long ? Scindez la diapositive. Ne réduisez jamais la taille du texte.
  • narration : à partir du script de la leçon, réécrite pour l'oreille (references/narration-and-video-script.md) : une respiration par ligne, chaque ligne se termine par . , ? ou !, les nombres sont écrits comme on les prononce, la diapositive n'est jamais lue mot pour mot, les diapositives de question disent « faites une pause dans la vidéo ».
  • notes : instructions de production (révéler un par un, pointer, entourer, insérer un clip, « Silence 60 secondes »).
  • Choisissez les icônes par leur sens (slide-types.md, section 4) et conservez une icône par concept récurrent pour tout le cours. Les images réelles (captures d'écran, photos de produits) se placent à côté de slides.json avec leur source dans IMAGE-SOURCES.md. Demandez avant de télécharger des images depuis le web et vérifiez la licence.
  • Écrivez comme une personne, pas comme un dépliant (references/plain-human-voice.md).

Étape 3. Construire et vérifier

python scripts/build_slides.py slides/<cours>/<leçon>/slides.json

Le script S'ARRÊTE sur les violations graves : plus de 6 lignes, texte qui ne tient pas en 24 pt, un mot orphelin qui ne peut pas être corrigé en rapprochant deux mots, une icône ou une image manquante, un type inconnu, un tiret interdit ou une phrase d'IA générique, une étiquette de minuteur qui contredit la narration, un élément que la narration ne lit jamais. Corrigez slides.json et reconstruisez jusqu'à obtenir 0 erreurs. Lisez aussi tous les avertissements (lignes longues, chiffres dans la narration, trois diapositives d'un même type à la suite, pas de rythme-breaker, vidéos trop légères) et corrigez-les ou notez pourquoi pas.

python scripts/render_slides.py slides/<cours>/<leçon>/<nom_fichier>.pptx

Regardez _preview/contact-sheet.png, puis chaque slide-NN.png en pleine taille, avec la checklist de la section 5 de slide-standards.md : texte coupé ou qui se chevauche, grandes zones vides, mauvais alignement, lisible à un tiers de la taille, un point focal par diapositive. Corrigez, reconstruisez, regardez à nouveau jusqu'à ce qu'un passage complet ne montre rien. Ne déclarez jamais terminé sans avoir regardé le dernier rendu.

Optionnel, pour vérifier le rythme ou remettre une vidéo brouillon :

python scripts/preview_video.py slides/<cours>/<leçon>/slides.json [--audio <dossier avec S01.mp3 ...>]

Leçons longues sur les plateformes vidéo (un sujet par vidéo, 10 à 12 minutes) : conservez un seul slides.json au niveau de la leçon avec un numéro de video sur chaque diapositive et scindez-le :

python scripts/split_videos.py slides/<cours>/<leçon>/slides.json --build --render

Chaque vidéo obtient son propre dossier et son propre diaporama avec une diapositive de titre (« Vidéo k/N »), ses propres objectifs, son propre corps et une fermeture qui fait la transition vers la vidéo suivante. Modifiez le fichier au niveau de la leçon, jamais les fichiers générés.

Étape 4. Rapport

Donnez à l'utilisateur : les chemins du diaporama, du script vidéo et de la planche contact ; un court tableau récapitulatif (# - type - idée - secondes) ; le nombre de diapositives et la durée estimée ; le thème ; vos hypothèses (forme d'adresse, chiffres et leur provenance) ; les avertissements que vous avez laissés et pourquoi. Montrez la planche contact.

Plusieurs leçons à la suite

Réutilisez le thème, le pied de page, la forme d'adresse et l'ensemble icône-par-concept des leçons précédentes dans le même dossier de cours. Gardez les diapositives title et closing identiques dans leur mise en page à travers le cours, et laissez chaque fermeture faire la transition vers la leçon suivante.

Principes

  • Les normes ne bougent pas (slide-standards.md). Le contenu à l'intérieur est l'espace de la créativité. Le script est le gardien ; ne désactivez jamais une vérification pour passer outre.
  • Les diapositives sont pour les yeux, la narration est pour les oreilles. Les deux canaux se complètent et ne se dupliquent jamais.
  • Les apprenants font quelque chose. Chaque partie contient une question ou une pause ; le diaporama se termine par une action concrète.
  • Titres en majuscules par défaut ("title_case": "upper"), le JSON reste tel quel pour que la narration et les sous-titres ne soient pas affectés. Les majuscules prennent plus de largeur, donc gardez les titres courts.
  • 24 pt est le minimum pour tout, y compris les étiquettes, légendes, sources et pieds de page. Trop long signifie réécrire, pas réduire.
  • Pas de mots orphelins. Un mot seul sur la dernière ligne d'un titre, d'une carte, d'une étape ou d'une puce semble cassé. Le script rapproche les deux derniers mots lorsque cela tient, et s'arrête quand ça ne tient pas.
  • Exécutez, puis livrez. Construisez, rendez, regardez, mesurez. Ne devinez jamais.
  • Pour ajouter un type de diapositive, ajoutez une méthode s_<type> dans scripts/build_slides.py, enregistrez-la dans KINDS, documentez-la dans slide-types.md, et construisez un diaporama de test avant de l'utiliser.

Fichiers de référence

  • references/slide-standards.md - ce que sont les diapositives d'apprentissage numérique, les dix règles de conception et comment le script les vérifie, la structure du diaporama, les principes d'apprentissage multimédia, la checklist de pré-livraison.
  • references/slide-types.md - le format de slides.json, les 16 types de diapositives avec leurs limites de texte, les thèmes, la planification vidéo, la liste des icônes.
  • references/narration-and-video-script.md - règles de narration pour la synthèse vocale ou une voix humaine, notes de production, lecture de chaque élément à l'écran, transmission à la production vidéo.
  • references/rhythm-and-titles.md - l'arc émotionnel d'une leçon, les rythme-breakers à 1/3 et 2/3, les titres sous forme d'affirmations, les schémas de phrases pour les ouvreurs, les comparaisons, les chiffres et les fermetures.
  • references/plain-human-voice.md - comment supprimer la voix IA : tirets et phrases interdits, rythme des phrases, détails concrets, opinion.
  • templates/slides.example.json - une leçon de démonstration de 17 diapositives qui utilise tous les types majeurs, déjà construite et vérifiée.

Skills associés