Skills : expertise à la demande
- Définir ce qu'est un Skill et en quoi il diffère du fait de tout entasser dans CLAUDE.md
- Lire et écrire un SKILL.md — frontmatter plus instructions — et comprendre pourquoi la description est le déclencheur
- Expliquer la divulgation progressive et pourquoi elle permet à de nombreux skills de passer à l'échelle sans gonfler le contexte
- Connaître les trois endroits où vivent les skills : personnel, projet, et intégré à un plugin
- Choisir correctement entre Skill, commande slash, subagent et MCP
- Éviter les quatre erreurs courantes qui empêchent les skills de se déclencher
Un Skill empaquette de l'expertise — des instructions plus des scripts et ressources optionnels — que Claude charge uniquement quand c'est pertinent. Au lieu de tout entasser dans CLAUDE.md, vous donnez à Claude une bibliothèque de capacités qu'il tire à la demande.
Anatomie
Un skill est un dossier avec un SKILL.md : frontmatter YAML + instructions.
---
name: pdf-forms
description: Use when the user needs to fill, read, or generate PDF forms.
---
# PDF Forms
Steps and rules for working with PDF forms…
(optionally reference scripts/ or resources/ in this folder)
- La description est le déclencheur — Claude la lit pour décider quand activer le skill. Écrivez-la comme « Use when… », assez spécifique pour qu'elle se charge au bon moment et pas autrement.
Divulgation progressive (pourquoi les skills passent à l'échelle)
Claude ne charge pas d'emblée le corps complet de chaque skill — il voit le name + la description légers, et ne tire les instructions complètes (et n'exécute les scripts) que lorsqu'une requête correspond. Cela garde le contexte léger même avec beaucoup de skills installés.
Où ils vivent
- ~/.claude/skills/<name>/SKILL.md — reste à vous, disponible dans tous vos projets.
- .claude/skills/<name>/SKILL.md — versionnez-le dans git et toute l'équipe obtient la capacité.
- Empaquetez des skills dans un plugin pour la distribution en équipe. Voir Plugins & Marketplaces.
AILmanac est livré avec 7 packs de skills prêts à l'emploi — copiez-en un pour l'essayer.
Exemple concret : un skill qui se déclenche lui-même
Créez ~/.claude/skills/release-notes/SKILL.md :
---
name: release-notes
description: Use when the user asks to write release notes or a changelog from git history.
---
# Release Notes
1. Run `git log <last-tag>..HEAD --oneline` to get the commits.
2. Group them into Features / Fixes / Breaking changes.
3. Write user-facing notes — what changed for *users*, not commit messages.
4. Output Markdown ready to paste into a GitHub release.
Plus tard vous tapez le prompt ci-dessous. Claude n'avait jamais ces étapes en contexte — mais la requête correspond à la description, alors il tire le SKILL.md complet, exécute le git log et produit des notes groupées. Vous n'avez rien invoqué par son nom ; la description a fait le routage. Ajoutez un fichier scripts/ dans le même dossier et le skill peut l'exécuter dans le cadre de l'étape 1.
Déclencher le skill par l'intention — aucun nom requis
Draft release notes since v1.4.
Skill vs commande vs subagent vs MCP
| Outil | Ce que c'est | Vous vs Claude déclenche |
|---|---|---|
| Commande slash | Un prompt enregistré | Vous l'invoquez |
| Skill | Expertise à la demande + scripts | Claude le charge quand c'est pertinent |
| Subagent | Un agent délégué avec son propre contexte | Claude délègue |
| MCP | Une connexion à des outils/données externes | Fournit des outils à appeler |
- Vous voulez le déclencher à la demande → commande slash.
- Claude doit connaître la procédure et l'appliquer quand c'est pertinent → skill.
- Le travail doit se dérouler dans un contexte séparé → subagent.
- Vous devez atteindre un système externe → MCP.
Erreurs courantes
- Une description qui ne se déclenche pas. « Aide avec les PDF » est trop vague ; « Use when the user needs to fill, read, or generate PDF forms » indique à Claude exactement quand la charger. La description est tout le mécanisme d'activation — écrivez-la pour la correspondance, pas pour les humains.
- Tout mettre dans CLAUDE.md à la place. CLAUDE.md se charge à chaque session et coûte toujours du contexte ; un skill ne se charge que quand c'est pertinent. Déplacez les procédures situationnelles dans des skills et gardez CLAUDE.md pour les règles de projet toujours vraies.
- Un skill géant unique. Beaucoup de petits skills à la description précise routent mieux qu'un fourre-tout — la divulgation progressive n'aide que si chaque description est spécifique.
- Oublier que c'est partageable. Un skill de projet dans .claude/skills/ versionné dans git donne la capacité à toute l'équipe ; un skill personnel dans ~/.claude/skills/ reste à vous.