Master class
Transforme du matériel d'étude en un cours vidéo que l'apprenant voudra vraiment regarder. Cette compétence gère la pédagogie (lecture, plan de cours, scripts). Le rendu (diagrammes, voix, MP4, notes Obsidian) est effectué par la compétence complémentaire master-class-render.
Routage du modèle (instruction explicite de l'utilisateur)
PEDAGOGY_MODEL: claude-sonnet-5.5 # lecture, plan de cours, scripts (étapes 1–4). Modèle le moins cher qui maintient la qualité ; changez ici si nécessaire.
La qualité dépend presque entièrement des étapes 1 à 4, elles doivent donc impérativement être exécutées sur PEDAGOGY_MODEL. Les étapes 0, 5 et 6 sont mécaniques et s'exécutent sur le modèle qui pilote cette session.
- Si vous êtes déjà PEDAGOGY_MODEL (ou si l'utilisateur demande de sauter la délégation), effectuez vous-même les étapes 1 à 4.
- Sinon, déléguez. Lancez un sous-agent
general-purposeavecmodel: PEDAGOGY_MODEL. Définir le modèle ici est une instruction explicite de l'utilisateur. Son invite doit inclure : le chemin source, la langue de sortie, le chemin du dossier source, tout focus/contexte donné par l'utilisateur, et "Lisez ~/.copilot/skills/master-class/SKILL.md et suivez exactement les étapes 1–2 ; écrivez course-map.md, puis arrêtez-vous et renvoyez le plan."- Montrez le plan renvoyé à l'utilisateur et attendez son approbation (sauf si l'utilisateur a demandé à exécuter sans approbation).
- Ensuite, envoyez l'approbation/les modifications au même agent (
write_agent) : "Approuvé [+ modifications]. Effectuez maintenant les étapes 3–4 exactement : écrivez chaque script, effectuez le lint jusqu'à ce qu'il n'y ait plus d'erreurs, écrivez scripts/README.md, puis renvoyez le résumé du lint." - Puis continuez vous-même avec l'étape 5 (rendu), qui ne nécessite pas un gros modèle.
- Si l'utilisateur nomme un modèle différent pour la pédagogie dans la requête, utilisez celui-ci à la place.
Liste de lecture (avant d'écrire quoi que ce soit)
- references/cheatsheet.md : une page avec les règles qui comptent.
- references/learner-profile.md : qui est l'apprenant, comment il pense, quelles analogies fonctionnent.
- references/lesson-template.md : le squelette à remplir pour chaque leçon.
- Exemples approuvés, tous issus d'un même cours (Lab 02, Utilisation d'outils et MCP) : examples/course-map.md, 01 (une phrase fausse → mécanisme), 05 (une histoire → une règle), 08 (peser les options → pourquoi une norme existe). Imitez leur profondeur et leur ton, pas leur formulation.
- Optionnel : references/teaching-research.md, les preuves et sources derrière les règles.
Règles pédagogiques non négociables
- Problème avant solution. Chaque leçon commence par une situation concrète où quelque chose échoue ou fait mal. La technologie n'est nommée qu'après le problème et les alternatives évidentes rejetées.
- Enseigner l'intention, pas l'implémentation. Si le matériel enseigne X, l'apprenant doit comprendre ce qu'est X, pourquoi il existe, quand l'utiliser et quand ne pas l'utiliser. Le code est une preuve pour un concept déjà expliqué (≤ 6 lignes), jamais une explication pas à pas.
- Démonter une idée fausse par leçon, à voix haute.
- Du concret à l'abstrait, avec un exemple fil rouge qui traverse tout le cours.
- La manière de penser de l'apprenant : contexte → contrainte réelle → options envisagées et pourquoi chacune a été rejetée → décision → coût/compromis → quand ne pas l'utiliser. Demandez explicitement "y a-t-il quelque chose de mieux ?".
- Pause de récupération dans chaque leçon : question →
…(le rendu insère une pause de 4 s) → réponse avec sa raison. - Pont : chaque leçon se termine par le problème que résout la suivante.
- Pas de limite de longueur, mais un seul objectif d'apprentissage par leçon (généralement 4–6 min).
- Variez les ouvertures, les fils conducteurs et les conclusions ; jamais un moule fixe.
- Ne jamais inventer de faits ou de chiffres. Les affirmations techniques proviennent des sources lues ou des docs officiels vérifiés ; les scénarios hypothétiques doivent être clairement identifiés comme tels.
Workflow
0 · Demander d'abord
- Langue de sortie : toujours demander sauf si l'utilisateur l'a déjà précisée.
- Chemin source, s'il manque. Valeurs par défaut (confirmer uniquement si la structure du coffre diffère) :
- notes →
<dossier lab>/Master class/ - vidéos →
<dossier lab>/_attachments/master-class/ - sources →
<dossier lab>/_attachments/master-class/source/(course-map.md,scripts/,scenes/)
- notes →
- Appliquez le routage du modèle ci-dessus.
1 · Lire avec une profondeur limitée
- Lisez entièrement le lab/la note. Pour les notebooks, lisez le markdown et les concepts que le code démontre ; n'exécutez jamais les notebooks et ne lisez jamais de secrets ou de
.env. - Suivez les
[[wikilinks]]/documents liés jusqu'à 2 niveaux de profondeur, seulement si pertinent pour l'intention du matériel. Ignorez les futurs labs, les prérequis déjà couverts et les digressions. - Le web est autorisé pour vérifier ou compléter le pourquoi (docs officiels et spécifications). Citez-le.
- Tenez un journal : lu / écarté + raison.
2 · Plan de cours → arrêt pour approbation
Écrivez <source>/course-map.md comme examples/course-map.md :
- l'intention en 2–3 phrases, comme ce que l'apprenant sera capable de décider ;
- le journal de lecture ;
- un tableau des leçons :
# · leçon · problème qu'elle ouvre · idée fausse · analogie/ouverture · résout → laisse ouvert, avec la leçon 00 comme vision d'ensemble et la dernière leçon comme synthèse sous forme de décisions.
3 · Scripts, une leçon par passage
Pour chaque leçon, dans l'ordre :
- Relisez l'aide-mémoire, le modèle, la ligne de la leçon dans le plan et un exemple.
- Copiez references/lesson-template.md vers
<source>/scripts/NN - Titre court.script.mdet remplissez-le. Le suffixe.script.mdest obligatoire, car sinon Obsidian confond les scripts avec les notes de leçon. - Effectuez le lint (étape 4) et corrigez avant de passer à la leçon suivante.
La narration est écrite pour l'oreille : pas de listes, tableaux ou URL ; les nombres comme on les dit ; les identifiants/code entre guillemets (lire comme des mots). Le temps de récupération est titré Pause de récupération et contient … entre la question et la réponse. Si son Écran est la question elle-même, écrivez-la comme *"question"*.
Enfin, écrivez <source>/scripts/README.md : tableau des leçons + auto-évaluation par rubrique.
4 · Lint + rubrique (doit passer avant le rendu)
python3 ~/.copilot/skills/master-class/scripts/lint_script.py "<source>/scripts" --sources "<dossier lab>" <autres notes lues>
Corrigez chaque ERREUR. Corrigez chaque AVERTISSEMENT sauf s'il est intentionnel (par exemple, un nombre hypothétique dans un scénario clairement hypothétique). Le linter ne peut pas juger ces éléments, alors vérifiez-les vous-même :
- Pourquoi avant comment : la technologie n'apparaît qu'après les alternatives rejetées
- Compréhensible sans voir aucun code
- L'idée fausse est énoncée et démontée explicitement
- La question de l'accroche reçoit une réponse explicite
- L'Écran complète la narration (pas de texte dupliqué)
- Lu à voix haute, cela sonne comme un professeur, pas comme des points
- Les ouvertures/conclusions varient entre des leçons consécutives
5 · Rendu → master-class-render
Lisez ~/.copilot/skills/master-class-render/SKILL.md et suivez-le : écrivez les scènes, puis construisez les MP4, les notes de leçon et le MOC avec une seule commande, puis vérifiez.
6 · Rapport
Chemins (MOC en premier), nombre de leçons et durée totale, résultat du lint, tout élément non vérifié et un résumé du journal de lecture.