Communitygithub.com

NourEldinShobier/course

Lancer ou poursuivre un espace de travail d'apprentissage multi-sessions dans le dossier courant — une mission, des ressources validées, des enregistrements d'apprentissage, des leçons interactives numérotées, des fiches de référence, un glossaire, des révisions par flashcards et une file d'attente pour suivre un cours (Udemy, playlist YouTube) ou un livre chapitre par chapitre.

Qu'est-ce que course ?

Cette compétence transforme n'importe quel dossier en un espace de travail d'apprentissage structuré et multi-sessions, idéal pour suivre des cours en ligne (Udemy, YouTube) ou des livres techniques. Elle automatise la création d'une mission, d'un glossaire, de leçons interactives numérotées, de fiches de révision et d'une file d'attente (queue.json) pour progresser méthodiquement, chapitre par chapitre. À chaque session, l'agent lit l'état, propose un échauffement par questions de récupération, enseigne une nouvelle notion en construisant une leçon selon les étapes 2–6 de la compétence 'learn', et met à jour les flashcards et les enregistrements d'apprentissage. Compatible avec les agents basés sur des fichiers (Claude Code, Cursor, Codex), elle suit la même structure que le skill 'teach' de Matt Pocock, garantissant une interopérabilité et une expérience cohérente dans tout environnement de développement.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NourEldinShobier/teach-me/tree/master/skills/course

Demander à votre IA préférée

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

Documentation

Teach Me : espace de travail de cours

L'utilisateur souhaite apprendre quelque chose sur plusieurs sessions. Le dossier courant est l'espace de travail. Les chemins de l'espace de travail sont résolus à partir du dossier courant ; <plugin> est le dossier deux niveaux au-dessus du répertoire de base de cette compétence. Les leçons utilisent le runtime Teach Me et les étapes 2 à 6 de la compétence learn (<plugin>/skills/learn/SKILL.md).

La disposition suit la compétence teach de Matt Pocock (MIT), donc les deux outils fonctionnent dans le même dossier.

MISSION.md            pourquoi l'utilisateur apprend ceci          <plugin>/references/workspace/MISSION-FORMAT.md
RESOURCES.md          sources validées : connaissances, communautés, lacunes   RESOURCES-FORMAT.md
GLOSSARY.md           termes que l'utilisateur a employés correctement       GLOSSARY-FORMAT.md
NOTES.md              les préférences de l'utilisateur, vos notes de travail, métaphores déjà utilisées
learning-records/     0001-slug.md : preuve de ce qu'il sait   LEARNING-RECORD-FORMAT.md
lessons/              0001-slug.src.html -> 0001-slug.html (+ notes)
reference/            antisèches : condensées, imprimables, revues régulièrement
queue.json            épisodes ou chapitres à parcourir
review.src.html       toutes les flashcards de toutes les leçons, dues en premier
sources/              transcriptions brutes et texte des chapitres (à ajouter à .gitignore)

Chaque session

  1. Lire l'état : MISSION.md, NOTES.md, les enregistrements d'apprentissage les plus récents, queue.json. S'il n'y a pas de MISSION.md, interviewez d'abord l'utilisateur (pourquoi, à quoi ressemble la réussite, date limite, niveau actuel, contraintes) et rédigez-la selon la forme du fichier de format. Modifier la mission plus tard nécessite la confirmation de l'utilisateur et un enregistrement d'apprentissage.
  2. Ressources : tant que RESOURCES.md n'a pas quelques entrées de haute confiance, les trouver est la priorité (documentation officielle, manuels de référence, le cours lui-même, une ou deux communautés pour la sagesse). Élaguer sans pitié.
  3. Échauffement : commencez par deux questions de récupération dans le chat issues des leçons précédentes (pas de la matière d'aujourd'hui). Mentionnez combien de flashcards sont dues et proposez review.html.
  4. Choisir la leçon : la demande de l'utilisateur, sinon le prochain élément queued, sinon la chose la plus utile dans sa zone proximale de développement compte tenu des enregistrements et de la mission.
  5. Enseigner une chose : construisez lessons/NNNN-slug.src.html (numéro suivant), en suivant les étapes 2 à 6 de la compétence learn, mais construisez dans l'espace de travail : bun <plugin>/scripts/build.ts lessons/NNNN-slug.src.html puis bun <plugin>/scripts/check.ts lessons/NNNN-slug.html. Liez la leçon précédente et la suivante ainsi que la fiche de référence correspondante. Réutilisez exactement les termes du glossaire. Ne réutilisez pas une métaphore listée dans NOTES.md ; ajoutez-y la nouvelle.
  6. Fermeture : mettez à jour la file d'attente, ajoutez les cartes de la leçon à review.src.html (un composant cards par paquet, avec le même deck et les mêmes identifiants de carte que la leçon pour que les plannings soient reportés) et reconstruisez-la. Toutes les trois leçons, ou sur demande, distillez une fiche de référence dans reference/.
  7. Enregistrements : lorsque l'utilisateur colle la progression d'une leçon ou montre sa compréhension dans le chat, n'enregistrez que les preuves (voir <plugin>/references/pedagogy.md). Promouvez les termes du glossaire que l'utilisateur a employés correctement.

Suivre un cours ou un livre

queue.json :

{"source": {"kind": "udemy|youtube|book", "title": "…", "url": "…", "file": "…", "courseId": "…"},
 "items": [{"id": "lecture-or-chapter-id", "title": "…", "section": "…", "status": "queued|taught|skipped", "lesson": "lessons/0004-….html"}]}
  • Construire la file d'attente une fois à partir du programme ou de la table des matières (<plugin>/references/inputs.md : endpoint du programme Udemy, yt-dlp -J pour une playlist, plan PDF ou dos EPUB). Ignorer les introductions, sorties, promotions et quiz par défaut ; demander une fois en cas de doute.
  • Un élément par leçon. Ne récupérer que les sous-titres de cet épisode ou le texte de ce chapitre, au moment de l'enseigner. Ne jamais pré-récupérer un cours entier.
  • "suivant" signifie le prochain élément queued. L'utilisateur peut aussi nommer un élément ou une plage ("leçons 12-14 en une seule leçon", "seulement chapitre 3, section 2").
  • Les leçons d'épisode ou de chapitre utilisent le format notes (technique) ou le format practice (compétences douces, vie, non-fiction) : un résumé court et lisible dans les termes de l'utilisateur, l'idée principale sous forme de figure, ce que le formateur ou l'auteur souligne, les erreurs courantes, un quiz et des cartes. Ajoutez "où cela s'inscrit" en faisant le lien avec les leçons précédentes. Pour les cours de style AWS, préférez un diagram avec une trace de requête et une question "que se passe-t-il si"; notez les faits pertinents pour l'examen dans une note lorsque le cours vise une certification.
  • Citez la leçon ou le chapitre (titre, numéro, horodatage ou page) dans le pied de page des sources. Paraphrasez ; ne collez jamais de transcriptions ou de longs passages dans les leçons.

Sessions de ré-enseignement

Lorsque l'utilisateur dit "teste-moi" ou "laisse-moi expliquer" : il explique d'abord dans le chat ; vous trouvez la ou les deux plus petites lacunes, posez une question sur chacune (socratique), et donnez la réponse après deux tentatives. Enregistrez ses propres mots lorsqu'il réussit.

Individual skills in this repo

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

Skills associés