Communitygithub.com

Lev-it/lev-skills

Apprenez une nouvelle compétence ou un nouveau concept à l'utilisateur, au sein de cet espace de travail.

Qu'est-ce que lev-skills ?

Cette compétence transforme le répertoire courant en un espace d'enseignement structuré pour apprendre n'importe quel sujet sur plusieurs sessions. Elle s'appuie sur des fichiers clés comme MISSION.md pour capturer la raison d'apprendre, des dossiers de référence et des enregistrements d'apprentissage pour suivre les progrès. Les leçons sont des fichiers HTML autonomes et magnifiques, conçus pour être courts et offrir une victoire tangible à chaque session, tout en reliant chaque concept à la mission de l'utilisateur. La compétence met l'accent sur une distinction entre la force de fluidité (récupération immédiate) et la force de stockage (rétention à long terme), en utilisant des techniques comme la pratique de récupération et l'espacement pour favoriser un apprentissage profond. Elle recommande de s'appuyer sur des ressources de haute qualité (RESOURCES.md), de créer des composants réutilisables dans ./assets/, et de toujours ancrer l'enseignement dans les objectifs réels de l'utilisateur. Idéale pour les développeurs utilisant des agents IA comme Claude Code ou Cursor, elle automatise la création d'un environnement d'apprentissage personnalisé et interactif.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Lev-it/lev-skills/tree/HEAD/.claude/skills/teach

Demander à votre IA préférée

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

Documentation

L'utilisateur vous a demandé de lui enseigner quelque chose. Il s'agit d'une requête avec état — il a l'intention d'apprendre le sujet sur plusieurs sessions.

Espace de travail d'enseignement

Considérez le répertoire actuel comme un espace de travail d'enseignement. L'état de son apprentissage est capturé dans ce répertoire via plusieurs fichiers :

  • MISSION.md : Un document capturant la raison pour laquelle l'utilisateur s'intéresse au sujet. Il doit servir de base à tout enseignement. Utilisez le format décrit dans MISSION-FORMAT.md.
  • ./reference/*.html : Un répertoire de documents de référence. Ce sont les apprentissages compressés issus des leçons — aide-mémoires, algorithmes de référence, syntaxe, postures de yoga, glossaires. Ce sont les unités brutes d'apprentissage. Ils doivent être de beaux documents qui s'impriment bien et conçus pour une consultation rapide.
  • RESOURCES.md : Une liste de ressources qui peuvent être explorées pour ancrer votre enseignement dans des connaissances contextuelles, ou pour acquérir des connaissances et de la sagesse. Utilisez le format décrit dans RESOURCES-FORMAT.md.
  • ./learning-records/*.md : Un répertoire d'enregistrements d'apprentissage, qui capture ce que l'utilisateur a appris. Ce sont approximativement l'équivalent des dossiers de décision architecturale en développement logiciel — ils capturent les leçons non évidentes et les idées clés qui pourraient nécessiter une révision ultérieure ou guider les sessions futures. Ils doivent être utilisés pour calculer la zone de développement proximal. Ils sont nommés 0001-<nom-en-kebab-case>.md, où le numéro s'incrémente à chaque fois. Utilisez le format décrit dans LEARNING-RECORD-FORMAT.md.
  • ./lessons/*.html : Un répertoire de leçons. Une leçon est un fichier HTML unique et autonome qui enseigne une chose étroitement liée à la mission. C'est l'unité principale d'enseignement dans cet espace de travail.
  • ./assets/* : Des composants réutilisables partagés entre les leçons. Voir Composants.
  • NOTES.md : Un bloc-notes pour vous permettre de noter les préférences de l'utilisateur ou des notes de travail.

Philosophie

Pour apprendre à un niveau profond, l'utilisateur a besoin de trois choses :

  • Connaissances, capturées à partir de ressources de haute qualité et de haute confiance
  • Compétences, acquises grâce à des leçons interactives hautement pertinentes conçues par vous, basées sur les connaissances
  • Sagesse, qui découle de l'interaction avec d'autres apprenants et praticiens

Avant que RESOURCES.md ne soit bien rempli, votre objectif doit être de trouver des ressources de haute qualité qui aideront l'utilisateur à acquérir des connaissances. Ne faites jamais confiance à vos connaissances paramétriques.

Certains sujets peuvent nécessiter plus de compétences que de connaissances. Apprendre davantage sur la physique théorique pourrait être plus basé sur les connaissances. Pour le yoga, davantage basé sur les compétences.

Force de fluidité vs Force de stockage

Vous devez faire attention à distinguer deux types d'apprentissage :

  • Force de fluidité : la récupération immédiate des connaissances
  • Force de stockage : la rétention à long terme des connaissances

La fluidité peut donner à l'utilisateur un sentiment illusoire de maîtrise, mais la force de stockage est le véritable objectif. Essayez de concevoir des leçons qui construisent une rétention à long terme par une difficulté souhaitable :

  • En utilisant la pratique de récupération (rappel de mémoire)
  • En espaçant (répartir la pratique dans le temps)
  • En entrelaçant (mélanger différents sujets mais liés dans la pratique — uniquement pour la pratique des compétences)

Leçons

Une leçon est la principale chose que vous produisez — l'unité par laquelle les connaissances et les compétences atteignent l'utilisateur. Chaque leçon est un fichier HTML autonome, enregistré dans ./lessons/ et intitulé 0001-<nom-en-kebab-case>.html où le numéro s'incrémente à chaque fois.

Une leçon doit être belle — une typographie et une mise en page propres et lisibles — car l'utilisateur y reviendra plus tard pour réviser. Pensez à Tufte.

La leçon doit être courte et réalisable très rapidement. La mémoire de travail des apprenants est très limitée, et nous devons rester dans ses limites. Mais chaque leçon doit donner à l'utilisateur une victoire tangible unique sur laquelle il pourra construire. Elle doit être directement liée à la mission et se situer dans la zone de développement proximal de l'utilisateur.

Si possible, ouvrez le fichier de leçon pour l'utilisateur en exécutant une commande CLI.

Chaque leçon doit créer des liens via des ancres HTML vers d'autres leçons et documents de référence.

Chaque leçon doit recommander une source principale que l'utilisateur peut lire ou regarder. Cela doit être la ressource de la plus haute qualité et de la plus haute confiance que vous ayez trouvée sur le sujet.

Chaque leçon doit contenir un rappel pour poser des questions de suivi à l'agent. L'agent est son enseignant et peut l'aider avec tout ce qui n'est pas clair.

Composants

Les leçons sont construites à partir de composants réutilisables, stockés dans ./assets/ : feuilles de style, widgets de quiz, simulateurs, aides visuelles — tout ce qu'une deuxième leçon pourrait réutiliser.

La réutilisation est la règle par défaut, pas l'exception. Avant d'écrire une leçon, lisez ./assets/ et construisez à partir des composants déjà présents. Lorsqu'une leçon a besoin de quelque chose de nouveau et réutilisable, écrivez-le comme un composant dans ./assets/ et créez un lien vers celui-ci — n'écrivez jamais en ligne un code qu'une future leçon dupliquerait.

Une feuille de style partagée est le premier composant que chaque espace de travail mérite : chaque leçon y fait référence, afin que les leçons ressemblent à un cours cohérent plutôt qu'à un tas de documents isolés. À mesure que l'espace de travail grandit, la bibliothèque de composants doit également grandir.

La Mission

Chaque leçon doit être liée à la mission — la raison pour laquelle l'utilisateur est intéressé à apprendre le sujet.

Si l'utilisateur n'est pas clair sur la mission, ou si MISSION.md n'est pas renseigné, votre première tâche doit être d'interroger l'utilisateur sur les raisons pour lesquelles il veut apprendre cela.

Ne pas comprendre la mission signifiera que l'acquisition de connaissances n'est pas ancrée dans des objectifs réels. Les leçons sembleront trop abstraites. Vous n'aurez aucun moyen de juger ce que l'utilisateur devrait faire ensuite.

Les missions peuvent changer à mesure que l'utilisateur développe plus de compétences et de connaissances. C'est normal — assurez-vous de mettre à jour MISSION.md et d'ajouter un enregistrement d'apprentissage pour capturer le changement. Confirmez avec l'utilisateur avant de modifier la mission.

Zone de développement proximal

À chaque leçon, l'utilisateur doit toujours sentir qu'il est mis au défi 'juste assez'.

L'utilisateur peut spécifier une chose exacte qu'il veut apprendre. S'il ne le fait pas, déterminez sa zone de développement proximal en :

  • Lisant ses learning-records
  • Déterminant la bonne chose à lui enseigner en fonction de sa mission
  • Enseignant la chose la plus pertinente qui correspond à sa zone de développement proximal

Connaissances

Les leçons doivent être conçues autour d'une compétence que l'utilisateur va apprendre. Les connaissances dans la leçon doivent être uniquement ce qui est nécessaire pour acquérir cette compétence. Vous enseignez d'abord les connaissances, puis vous faites pratiquer les compétences à l'utilisateur via une boucle de rétroaction interactive.

Les connaissances doivent d'abord être recueillies à partir de ressources de confiance. Utilisez RESOURCES.md pour les suivre. Les leçons doivent être parsemées de citations — des liens vers des ressources externes pour étayer toute affirmation faite. Cela augmente la fiabilité de la leçon.

Pour l'acquisition de connaissances, la difficulté est l'ennemie. Elle consomme la mémoire de travail dont vous avez besoin pour comprendre.

Compétences

Si les connaissances concernent l'acquisition, les compétences concernent la durabilité et la flexibilité. Faites en sorte que les connaissances collent.

Pour l'acquisition de compétences, la difficulté est l'outil. Le rappel effortful est ce qui construit la force de stockage. Les compétences doivent être enseignées à travers des leçons interactives. Plusieurs outils sont à votre disposition :

  • Leçons interactives, utilisant des quiz et des tâches légères dans le navigateur
  • Leçons qui guident l'utilisateur à travers une liste d'étapes concrètes à suivre (par exemple, des postures de yoga)

Chacune d'elles doit être basée sur une boucle de rétroaction, où l'utilisateur reçoit des commentaires sur sa performance. Cette boucle de rétroaction doit être aussi serrée que possible, donnant des commentaires immédiatement — et idéalement automatiquement.

Pour les quiz, chaque réponse doit avoir exactement le même nombre de mots (et de caractères, si possible). Ne donnez aucun indice à l'utilisateur sur la réponse à travers le formatage.

Acquérir la sagesse

La sagesse vient d'une vraie interaction dans le monde réel — tester ses compétences en dehors de l'environnement d'apprentissage.

Lorsque l'utilisateur pose une question qui semble nécessiter de la sagesse, votre posture par défaut doit être de tenter d'y répondre — mais en fin de compte de déléguer à une communauté.

Une communauté est un lieu (en ligne ou hors ligne) où l'utilisateur peut tester ses compétences dans le monde réel. Cela peut être un forum, un subreddit, un cours en présentiel (selon le budget) ou un groupe d'intérêt local.

Vous devez tenter de trouver des communautés de haute réputation que l'utilisateur peut rejoindre. Si l'utilisateur exprime une préférence pour ne pas rejoindre une communauté, respectez-la.

Documents de référence

Tout en créant des leçons, vous devez également créer des documents de référence. Les leçons peuvent faire référence à ces documents — ils sont utiles pour suivre les unités brutes de connaissances utiles entre les leçons.

Les leçons seront rarement revisitées plus tard — les documents de référence le seront. Ils doivent être l'essence compressée de la leçon, dans un format conçu pour une consultation rapide.

Certains sujets d'apprentissage se prêtent à la référence :

  • Syntaxe et extraits de code pour la programmation
  • Algorithmes et organigrammes pour les processus
  • Postures de yoga et séquences pour le yoga
  • Exercices et routines pour le fitness
  • Glossaires pour tout sujet avec sa propre nomenclature

Les glossaires, en particulier, sont une référence essentielle. Une fois créé, il doit être respecté dans chaque leçon.

NOTES.md

L'utilisateur exprimera parfois des préférences sur la manière dont il souhaite être enseigné, ou des choses dont vous devez vous souvenir. C'est l'endroit pour enregistrer ces préférences, afin que vous puissiez vous y référer lors de la conception de leçons ou du travail avec l'utilisateur.

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

Lev-it/lev-skills

Ask which skill or flow fits your situation. A router over the user-invoked skills in this repo.

Lev-it/lev-skills

Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Optimized for intentional logo concepting, refined composition, sparse typography, strong symbolic meaning, premium mockups, art-directed imagery, and flexible grid layouts.

Lev-it/lev-skills

Compact the current conversation into a handoff document for another agent to pick up.

Lev-it/lev-skills

Ink terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from JSON, creating terminal component catalogs, or rendering AI-generated specs in the terminal.

Lev-it/lev-skills

Interactive QA session where user reports bugs or issues conversationally, and the agent files GitHub issues. Explores the codebase in the background for context and domain language. Use when user wants to report bugs, do QA, file issues conversationally, or mentions "QA session".

Lev-it/lev-skills

Facilitate a structured sprint retrospective — what went well, what didn't, and prioritized action items with owners and deadlines. Use when running a retrospective, reflecting on a sprint, creating action items from team feedback, or learning how to run effective retros.

Lev-it/lev-skills

Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".

Lev-it/lev-skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Lev-it/lev-skills

Turn the current conversation into a PRD and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

Lev-it/lev-skills

Move issues through a state machine of triage roles — categorise, reproduce, grill if needed, and write agent-ready briefs.

Lev-it/lev-skills

Create product backlog items in Why-What-Acceptance format — independent, valuable, testable items with strategic context. Use when writing structured backlog items, breaking features into work items, or using the WWA format.

Skills associés