Tu arrives tôt : c'est la toute première version du site, on y travaille encore.
DeviensDevInstagram

← Claude Code Starter Kitmis à jour le 4 septembre 2026

Claude Code Skills, expliquées depuis zéro

Ce que c'est, comment Claude s'en sert, comment on en écrit une qui se déclenche et qui fait le bon travail, et la méthode pour qu'elle s'écrive presque toute seule. En français, depuis la doc officielle, pour quelqu'un qui n'a jamais ouvert un SKILL.md.

Trois parties, onze sections. Compte une demi-heure de lecture, et une skill qui marche à la fin.

Partie 1 · Comprendre

Avant d'écrire quoi que ce soit : ce qu'est une skill, à quoi ça ressemble sur ton disque, et comment Claude s'en sert.

1

Le problème que ça résout

Tu répètes les mêmes consignes à Claude. Une skill, c'est ces consignes écrites une fois, et chargées seulement quand il faut.

Tu l'as déjà vécu. Troisième conversation de la semaine, et tu réexpliques à Claude comment on déploie chez toi, comment tu veux tes messages de commit, où sont rangés les fichiers. Chaque conversation neuve repart de zéro : ce que tu as dit hier n'existe plus.

Il y a deux réflexes, et les deux sont mauvais. Le premier : recoller le même pavé au début de chaque session. C'est pénible, et tu oublies toujours un morceau. Le second : tout mettre dans CLAUDE.md, le fichier que Claude lit à chaque démarrage. Ça marche un temps, puis le fichier grossit, et Claude paye à chaque session pour des procédures qui ne servent qu'une fois par mois.

Une skill, c'est la troisième voie : un mode opératoire écrit dans un fichier, que Claude charge uniquement quand ta demande correspond. La doc officielle le dit en une phrase : crée une skill quand tu colles la même checklist pour la troisième fois, ou quand une section de ton CLAUDE.md est devenue une procédure plutôt qu'un fait.

L'image qui aide : un classeur de fiches de procédure. L'index du classeur est toujours sous les yeux de Claude. La fiche, il l'ouvre quand le travail le demande, et il la referme après.

Sans skill

Lundi · conversation neuve

Pour déployer : 1. lance npm run build, 2. s'il y a une erreur arrête-toi, 3. lance npm run deploy, 4. vérifie la page d'accueil, 5. …déploie stp

Mercredi · conversation neuve

Pour déployer : 1. lance npm run build, 2. s'il y a une erreur arrête-toi, 3. lance npm run deploy, 4. vérifie la page d'accueil, 5. …déploie stp

Vendredi · conversation neuve

Pour déployer : 1. lance npm run build, 2. s'il y a une erreur arrête-toi, 3. lance npm run deploy, 4. vérifie la page d'accueil, 5. …déploie stp

Le même pavé, recollé à chaque fois. Un jour, il manque l'étape 2.

Avec une skill

deploiement/SKILL.md

---
description: Déploie le site. À utiliser
  quand on dit « déploie ».
---
1. npm run build
2. Une erreur ? Stop.
3. npm run deploy
4. Vérifie la page d'accueil
écrite une fois

Lundi

déploie
/deploiement chargée

Mercredi

déploie
/deploiement chargée

Vendredi

déploie
/deploiement chargée

Claude la charge tout seul quand tu dis « déploie ». Les quatre étapes sont toujours les mêmes.

2

Une skill, concrètement : un dossier et un fichier

Un dossier, un fichier SKILL.md dedans, deux parties dans le fichier. C'est toute la mécanique.

Une skill, c'est un dossier qui porte le nom de la skill, avec un fichier SKILL.md dedans (en majuscules, exactement comme ça). Le fichier a deux parties :

  • L'en-tête, entre deux lignes ---. On l'appelle le frontmatter. C'est du YAML, c'est-à-dire des lignes clé: valeur. Deux clés comptent : name (le nom) et description (ce qu'elle fait et quand l'utiliser). La première ligne du fichier doit être le premier ---, sinon Claude lit tout comme du texte. Une description longue s'écrit sur plusieurs lignes avec description: > puis les lignes indentées, comme dans l'exemple.
  • Le corps, en Markdown, du texte normal avec des titres et des listes. C'est la procédure que Claude va suivre.

Le nom du dossier devient une commande : une skill dans deploiement/ se lance en tapant /deploiement.

Où elle vit

~/.claude/skills/
└── deploiement/
    └── SKILL.md
  • deploiement/ le nom du dossier devient la commande /deploiement
  • SKILL.md le seul fichier obligatoire, écrit exactement comme ça

Ce qu'il y a dedans

SKILL.md

  1. 1---
  2. 2name: deploiement
  3. 3description: Déploie le site en prod.
  4. 4 À utiliser quand on dit « déploie ».
  5. 5---
  6. 6
  7. 71. Lance `npm run build`.
  8. 82. S'il y a la moindre erreur, arrête-toi.
  9. 93. Lance `npm run deploy`.
  10. 104. Vérifie que la page d'accueil répond.

L'en-tête (frontmatter, entre les deux ---) : lu par Claude au démarrage, pour toutes tes skills. C'est ce qui décide si elle se déclenche.

Le corps (Markdown) : lu seulement quand la skill sert. C'est la procédure.

# ~/.claude/skills/deploiement/SKILL.md

---
name: deploiement
description: >
  Déploie le site en production (build, vérification, mise en ligne).
  À utiliser quand on dit « déploie », « mets en prod », « mets en ligne ».
---

1. Lance `npm run build`.
2. S'il y a la moindre erreur, arrête-toi et montre-la. Ne déploie pas.
3. Lance `npm run deploy`.
4. Ouvre l'URL de prod et vérifie que la page d'accueil répond.

La même skill, en entier, à copier. Crée le dossier, colle ce fichier, adapte les commandes.

Où la ranger. Deux endroits, et le choix est simple :

DossierVaut pourQuand
~/.claude/skills/Tous tes projetsPar défaut quand tu apprends. Tes habitudes, tes outils, ta façon de bosser.
.claude/skills/ à la racine du projetCe projet seulementDès que la skill parle des fichiers de ce projet. Elle part dans git avec le code, et toute l'équipe l'a.

Pas besoin de redémarrer. Claude Code surveille ces dossiers : la skill est disponible dès que tu enregistres le fichier, même en pleine session. Pour vérifier, tape / et cherche son nom dans le menu, ou demande-lui « quelles skills sont disponibles ? ».

3

Comment Claude s'en sert

Au démarrage, Claude ne lit que la description. Le corps, quand la skill sert. Les fichiers annexes, quand la tâche le demande.

C'est le point à comprendre avant d'écrire, parce qu'il explique toutes les règles qui suivent. Une skill se charge en trois étages, et à chaque étage, ce qui entre dans le contexte de Claude n'a pas la même taille :

toi /deploiementouClaude « déploie » ≈ la description
  1. 1

    L'index

    Au démarrage, toujours

    nom + description de chaque skill

    Quelques dizaines de mots par skill. Cinquante skills tiennent dans une page.

  2. 2

    La fiche

    Quand elle se déclenche

    le corps du SKILL.md

    Entre dans la conversation, et y reste jusqu'à la fin. D'où : court.

  3. 3

    Les annexes

    Pendant le travail, si besoin

    references/ lues, scripts/ exécutés

    Seulement ce que la tâche demande. Un script ne coûte rien : seule sa sortie entre.

La jauge, c'est la place prise dans le contexte de Claude. L'index est minuscule ; c'est le corps qu'on paye, à chaque tour, jusqu'à la fin de la session.

Et il y a deux façons de déclencher l'étage 2. Toi, en tapant /nom-de-la-skill. Ou Claude tout seul, quand ce que tu lui demandes ressemble à la description. Dans les deux cas, c'est la même skill qui se charge.

Pourquoi ça change tout : le contexte de Claude est limité, et plus il est chargé, moins Claude est bon (c'est la section 1 du kit). Grâce à ce chargement par étages, tu peux avoir cinquante skills installées : tant qu'elles ne servent pas, elles coûtent cinquante lignes d'index et rien d'autre. En revanche, une fois la fiche chargée, chaque ligne du corps est relue à chaque tour jusqu'à la fin de la session. C'est pour ça que le corps doit rester court, et que le détail vit dans les annexes.

4

Skill, CLAUDE.md, ou juste un message ?

Un fait va dans CLAUDE.md. Une procédure va dans une skill. Une demande qui ne reviendra pas reste un message.

Trois outils pour donner du contexte à Claude, et ils ne se remplacent pas :

OutilChargéPourExemple
Un messageCette conversationUne demande qui ne reviendra pas« Renomme cette fonction. »
CLAUDE.mdToujours, à chaque sessionLes faits toujours vrais sur le projet, en court : la stack, les conventions, les commandes de base« Tests : npm test. Jamais de any en TypeScript. »
Une skillQuand la demande correspondUne procédure en plusieurs étapes, ou un savoir de domaine, qui ne sert pas à chaque sessionDéployer. Écrire un article selon ta méthode. Relever des stats et les interpréter.

Le test : « est-ce vrai à chaque session ? » Oui, c'est un fait, il va dans CLAUDE.md. Non, c'est une procédure qu'on lance de temps en temps, c'est une skill. Et si ton CLAUDE.md dépasse les deux cents lignes, il y a presque à coup sûr deux ou trois skills qui dorment dedans.

Deux mots sur le reste. Les anciennes « custom commands » (.claude/commands/) sont devenues des skills sans dossier : elles marchent encore, mais tout ce qui est nouveau s'écrit en skill. Et les sous-agents (un Claude à part, avec son propre contexte, qui te rend une conclusion) ne sont pas des concurrents : une skill peut très bien dire « délègue cette recherche à un sous-agent ». On y revient à la section 8.

Partie 2 · Écrire une skill qui marche

La description décide si elle se déclenche. Le corps décide si elle fait le bon travail. Le dossier décide si elle tient dans le temps.

5

La description : la ligne qui décide de tout

C'est la seule chose que Claude voit avant de choisir. Vague, ta skill ne se déclenchera jamais.

Rappelle-toi l'étage 1 : au moment de décider, Claude n'a que l'index sous les yeux, donc la description. Il la compare à ta demande, parmi parfois des dizaines d'autres. Si elle dit « aide avec les documents », elle ne gagnera jamais.

La formule qui marche tient en deux parties :

  1. Ce qu'elle fait, à la troisième personne. « Déploie le site », pas « je peux t'aider à déployer » ni « tu peux l'utiliser pour ». Le texte est injecté tel quel dans les instructions de Claude ; un « je » ou un « tu » brouille la lecture.
  2. Quand l'utiliser, avec les mots que tu emploies vraiment. Pas les mots élégants : ceux que tu tapes. Si tu dis « déploie », « mets en prod », « balance en ligne », les trois vont dans la description. Les noms de fichiers et d'extensions aussi (.csv, « le tableau des stats »).

Deux règles de plus. Si tu as deux skills voisines, trace la frontière dans la description (« pour auditer un autre compte, voir tiktok-audit ») : sinon elles se battent pour la même demande. Et mets l'essentiel en premier : quand tu as beaucoup de skills, Claude Code raccourcit les descriptions trop longues, en partant de la fin.

Mauvais, puis bon

# Ne se déclenchera jamais
description: Aide avec le déploiement.

# Se déclenche quand tu le dis avec tes mots
description: >
  Déploie le site en production (build, vérification, mise en ligne).
  À utiliser quand on dit « déploie », « mets en prod », « mets en ligne ».
  Pour la preview locale, voir la skill preview.

Une description complète, avec ses voisines

description: >
  Relève les statistiques du site (visites, inscriptions, ventes de la
  semaine), les compare à la semaine d'avant et note ce qui a changé dans
  docs/releves.md. À utiliser quand on dit « fais le relevé », « les chiffres
  de la semaine », « ça donne quoi », « où on en est », ou qu'on demande un
  point sur le trafic ou les ventes. Pour préparer un rapport client, voir
  la skill rapport-client ; pour corriger le tracking, voir analytics-setup.

Ce qu'elle fait, puis les phrases telles qu'on les tape (« ça donne quoi »), puis la frontière avec les deux skills voisines.

Le test, avant de passer au corps : dans une session neuve, formule une demande comme tu la formulerais, sans nommer la skill. Elle doit se déclencher. Puis une demande voisine, qui ne doit pas la déclencher. Ajuste la description jusqu'à ce que les deux soient justes.

6

Le corps : comment s'organise une procédure

Le corps dit quoi faire, dans quel ordre, avec les pièges. Pas pourquoi, et pas ce que Claude sait déjà.

Le corps, c'est la fiche de procédure. Sept principes, tirés du guide d'écriture officiel, dans l'ordre d'importance :

  1. Court, parce que Claude sait déjà. Il sait ce qu'est git, un fichier JSON, une base de données. N'écris que ce qu'il n'a pas : tes chemins, tes conventions, ton ordre, les pièges que tu as rencontrés. Pour chaque paragraphe, la question : « est-ce que Claude le sait déjà ? » Si oui, supprime.
  2. Un défaut, pas un menu. « Utilise ffmpeg » vaut mieux que « tu peux utiliser ffmpeg, ou HandBrake, ou… ». Un choix par défaut, plus l'exception justifiée (« pour les fichiers de plus de 2 Go, passe par le script »).
  3. Le bon degré de liberté. Une opération fragile (déployer, migrer une base) veut des étapes exactes, la commande exacte, et « ne change rien à cette commande ». Une tâche ouverte (relire un texte, revoir du code) veut des principes, et Claude choisit le chemin. L'image de la doc : un pont étroit au-dessus du vide demande des garde-fous ; un champ ouvert demande une direction.
  4. Des étapes numérotées, et une vérification à la fin. Le pattern qui améliore le plus la qualité : produire, vérifier, corriger, recommencer jusqu'à ce que la vérification passe. Pour un long process, une checklist que Claude recopie et coche.
  5. Des exemples quand la forme compte. Pour un message de commit ou un format de rapport, deux ou trois exemples entrée → sortie valent mieux que n'importe quelle description.
  6. Un mot pour une chose. Toujours « le relevé », jamais « le relevé » puis « le rapport » puis « les chiffres ». Claude suit mieux un vocabulaire stable.
  7. Pas de date. « Avant août, faire X » pourrit. Si une ancienne façon de faire existe, une section « ancien fonctionnement » avec sa date de fin.

Voilà à quoi ressemble un SKILL.md bien organisé. Les commentaires t'expliquent chaque bloc ; retire-les quand tu écris le tien.

Le squelette d'un SKILL.md

---
name: ecrire-article
description: >
  Écrit un article de blog selon la méthode maison (plan, brouillon,
  relecture SEO). À utiliser quand on dit « écris un article »,
  « rédige un post de blog », « nouvel article sur ».
---

# Écrire un article
<!-- Une phrase : le but, et ce que "réussi" veut dire. -->
Un article prêt à publier dans content/blog/, relu, avec ses métadonnées.

## Avant de commencer
<!-- Ce que Claude doit lire ou vérifier d'abord. -->
- Lis references/style.md (ton, longueur, ce qu'on ne dit jamais).
- Vérifie qu'aucun article n'existe déjà sur le sujet : grep dans content/blog/.

## Étapes
<!-- L'ordre, les commandes exactes, un piège par étape s'il y en a un. -->
1. Propose un plan en 5 parties. Attends la validation avant d'écrire.
2. Écris le brouillon dans content/blog/<slug>.md. Jamais de date dans le slug.
3. Lance `npm run seo:check` et corrige jusqu'à 0 erreur.
4. Relis avec la checklist de references/relecture.md.

## Ce qui rate souvent
<!-- Les pièges rencontrés. C'est la partie qui grandit avec le temps. -->
- Les titres en Title Case : on écrit en français, majuscule au premier mot seulement.

## Pour aller plus loin
<!-- Les annexes, et QUAND les lire. Un niveau, jamais plus. -->
- references/style.md : le guide de style complet. À lire avant tout brouillon.
- references/relecture.md : la checklist de relecture. À lire à l'étape 4.
7

Le dossier complet : scripts, références, assets

Quand la skill grossit, le SKILL.md reste court et le reste part dans le dossier, à côté.

Une skill débutante, c'est un fichier. Une skill qui a servi trente fois, c'est un dossier avec trois sous-dossiers. Chacun a un rôle précis, lié aux trois étages de chargement :

DossierCe qu'on y metComment Claude s'en sert
scripts/Le code que Claude réécrivait à chaque fois : calculs, conversions, vérifications, tout ce qui est répétitif ou fragileIl l'exécute, il ne le lit pas. Le code ne coûte rien en contexte ; seule sa sortie compte. Et le résultat est le même à chaque fois, ce qu'un code réécrit ne garantit jamais.
references/Le détail : règles fines, cas particuliers, doc d'une API, ce qu'on a appris au fil des sessionsIl lit le fichier à la demande, seulement si le SKILL.md le pointe et que la tâche le demande.
assets/Ce qui n'est ni instruction ni code : gabarits, images, données d'exempleIl les utilise comme matière première.

Quatre règles pour que ça tienne :

  • Le SKILL.md reste sous 500 lignes. C'est la limite de la doc officielle. Au-delà, découpe.
  • Chaque annexe est pointée depuis le SKILL.md, avec une ligne qui dit quand la lire : « les flags de tous les scripts sont dans references/api.md, à lire une fois au premier besoin ».
  • Un seul niveau. SKILL.md → fichier, jamais fichier → autre fichier : Claude ne suit pas les chaînes, il survole. Une référence de plus de cent lignes commence par un sommaire.
  • Un script gère ses erreurs lui-même. Un message clair (« fichier introuvable, voici ceux qui existent ») plutôt que planter en laissant Claude deviner. Et dis dans le SKILL.md ce qu'il doit faire : « lance scripts/releve.py » (exécuter), ou « lis scripts/releve.py » (comprendre la logique). Ce n'est pas la même chose.

Voilà à quoi ressemble une skill mûre, après un mois d'usage. Ici, une chaîne de montage vidéo : tout ce qui se calcule est en script, tout ce qui se consulte est en référence, et le SKILL.md ne garde que l'ordre des opérations. (La mienne a dépassé les mille lignes avant d'être découpée comme ça ; c'est le geste 4 de la partie 3.)

montage-video/
├── SKILL.md          # la chaîne de montage, dans l'ordre, et les règles qui servent à chaque fois
├── scripts/          # ce qui se calcule : découpe aux silences, sous-titres, mixage, vérification
│   ├── couper_silences.py
│   ├── sous_titres.py
│   ├── verifier_final.py   # relecture bloquante avant livraison : le script signale, Claude lit
│   └── …
├── references/       # ce qui se consulte, lu seulement quand il faut
│   ├── api.md            # les options de tous les scripts
│   ├── types-de-plans.md # les règles par type de plan
│   └── journal.md        # ce qu'on a appris, daté
└── assets/           # logos, polices, images des inserts

Le SKILL.md dit : « les options de tous les scripts sont dans references/api.md, à lire une fois au premier besoin ». Une ligne, et des centaines de lignes de doc ne sont chargées que si on en a besoin.

À l'autre bout, une skill de relevé de stats tient en cent lignes, avec un seul script et une règle qui résume tout le principe : « le script sort les chiffres ; ne jamais recalculer à la main ». Les pièges de calcul vivent dans le code, pas dans la prose. Claude ne peut pas les oublier.

8

Les options qui servent vraiment

L'en-tête accepte une quinzaine de champs. Tu en utiliseras quatre ou cinq.

Tout ce qui suit est optionnel. Le jour où tu en as besoin, tu sauras que ça existe :

OptionCe que ça faitQuand
disable-model-invocation: trueToi seul peux la lancer, avec /nom. Claude ne la déclenche jamais tout seul.Tout ce qui a des effets : déployer, publier, envoyer un message. Tu ne veux pas que Claude déploie parce que « le code avait l'air prêt ».
user-invocable: falseL'inverse : Claude seul, pas de commande /nom.Du savoir de fond qui n'est pas une action : « comment marche notre vieux système de facturation ».
allowed-tools: Bash(git *)Outils pré-autorisés le temps de la skill, sans te demander confirmation à chaque commande.Une skill de commit qui lance dix commandes git.
$ARGUMENTS dans le corpsRemplacé par ce que tu tapes après le nom : /corrige-issue 123 donne « 123 ».Une skill qui prend un paramètre.
!`commande` dans le corpsLa commande est exécutée avant que Claude lise la skill, et remplacée par son résultat.Donner à Claude l'état réel : la branche courante, le diff, la date.
context: forkLa skill tourne dans un sous-agent isolé, avec son propre contexte, et te rend le résultat.Une recherche lourde ou une longue tâche, pour garder ta conversation propre.
paths: src/api/**La skill ne se charge automatiquement que quand Claude travaille sur ces fichiers.Des conventions qui ne valent que pour une partie du projet.

La plus utile pour commencer, c'est !`commande`. Voilà la première skill de la doc officielle, traduite : elle résume tes modifications non commitées, et elle est utile dès le premier jour.

Une skill utile dès aujourd'hui

# ~/.claude/skills/resume-modifs/SKILL.md

---
name: resume-modifs
description: >
  Résume les modifications non commitées et signale ce qui est risqué.
  À utiliser quand on demande « qu'est-ce que j'ai changé », « résume mes
  modifs », un message de commit, ou une relecture du diff.
---

## Modifications en cours

!`git diff HEAD`

## Consigne

Résume les modifications ci-dessus en deux ou trois points, puis liste les risques
que tu vois : gestion d'erreur absente, valeur en dur, test à mettre à jour.
Si le diff est vide, dis qu'il n'y a rien de non commité.

La ligne !`git diff HEAD` est remplacée par le vrai diff avant que Claude lise la consigne. Il travaille sur tes fichiers, pas sur ce qu'il devine.

Partie 3 · La méthode

Tu sais maintenant ce qu'est une bonne skill. Reste à en écrire sans les taper à la main, et à savoir quand ne pas en écrire du tout.

9

Installer, ou écrire la tienne ?

Installe là où ce n'est pas ton métier. Écris là où c'en est un.

Il existe plus de cent mille skills à installer. Une skill installée, c'est la connaissance de quelqu'un d'autre, figée : elle n'apprend rien de toi. C'est exactement ce que tu veux là où tu ne sais pas. Tu n'y connais rien en SEO, en Postgres, en accessibilité ? Installe la skill d'un spécialiste : ton premier audit sera meilleur que ce que tu aurais fait seul, et tu apprendras en la lisant. Souvent, la skill suivante, c'est toi qui l'écris, avec ce qui manquait à la première.

Là où c'est ton métier, n'installe rien. Une skill que tu écris, tu la corriges à chaque fois qu'elle se plante, et au bout d'un mois c'est elle qui sait comment tu bosses. Sur les cent mille du catalogue, il n'y en a pas une qui sait ça. Et méfie-toi des skills « de goût » (design, style d'écriture) : elles promettent beaucoup, et la différence à l'arrivée est souvent invisible.

Avant d'installer une skill trouvée sur internet, ouvre son SKILL.md et regarde son champ allowed-tools : une skill peut s'autoriser toute seule des commandes que tu n'aurais pas validées.

Et même là, tu finis par écrire. Une skill installée donne le goût générique : ce qu'un bon design engineer ferait sur n'importe quel site. Tout ce qui est propre au tien — un visuel par section, un tableau comparatif, ta charte, tes interdits de copy — n'est dans aucune des cent mille. Ça, c'est une skill à toi, dans le .claude/skills/ du projet, ou une règle dans son CLAUDE.md. Installé, c'est le socle. Écrit, c'est ce qui fait que c'est ton site.

10

Les quatre gestes pour écrire la tienne

Tu n'écris pas la skill à la main. Tu fais le travail une fois, et Claude l'écrit à partir de ce qui vient de se passer.

Tout ce que tu as lu en partie 2, Claude le connaît nativement : il sait ce qu'est un frontmatter, une bonne description, un dossier scripts/. La doc officielle le dit noir sur blanc, tu n'as pas besoin d'un outil spécial pour lui faire écrire une skill. Ton travail, c'est de lui donner la matière, et de corriger le fichier quand il se plante. Quatre gestes, dans l'ordre où ils arrivent.

Geste 1 · Fais d'abord, puis « fais-en une skill ». Ouvre une conversation neuve. Fais le process en entier, à la main, comme tu veux : tu demandes, tu corriges, tu valides. Ce que tu expliques en route, c'est justement ce que Claude n'avait pas. Quand le résultat est bon, une phrase :

À la fin d'un process qui a marché

Fais-en une skill. Reprends exactement ce qu'on vient de faire dans cette conversation, dans l'ordre, avec les commandes et les pièges rencontrés. Nom court, description qui dit quand l'utiliser avec les mots que j'emploie. Corps court : uniquement ce que tu ne savais pas avant cette conversation.

Geste 2 · Itère à l'usage : « fixe la skill ». Les fois suivantes, tu utilises la skill. Elle se plantera : une étape manque, un cas n'était pas prévu, Claude a improvisé. Ne corrige pas dans la conversation, ça meurt quand tu fermes l'onglet. Dis-lui de corriger le fichier.

Quand la skill s'est plantée

Fixe la skill : ce qui vient de rater, mets-le dans le SKILL.md pour que ça ne se reproduise pas. Ne change rien d'autre.

Geste 3 · Le code répété va dans scripts/. Regarde ce que Claude fait quand la skill tourne. S'il crée un fichier ou réécrit un bout de code à chaque fois, c'est du temps et des erreurs : dis-lui de le mettre dans un script, dans le dossier de la skill, et de l'appeler. Il oubliera parfois. Rappelle-le-lui, et fais-le noter dans la skill.

Quand tu le vois réécrire le même code

Ce code, tu le réécris à chaque fois. Mets-le dans un script dans le dossier de la skill (scripts/), avec ses erreurs gérées dedans, et fais en sorte que la skill l'appelle au lieu de le réécrire. Ajoute une ligne dans le SKILL.md qui dit de passer par le script.

Geste 4 · Le détail va dans references/. Au bout de quelques semaines, le fichier grossit. Le SKILL.md garde la procédure et les règles qui servent à chaque fois ; le détail (les règles fines, les cas particuliers, ce qu'on a appris) part dans des fichiers de référence que la skill pointe, avec une ligne qui dit quand les lire.

Quand le SKILL.md devient long

Le SKILL.md est trop long. Garde dedans uniquement la procédure et les règles qui servent à chaque fois. Sors le détail dans references/ (un fichier par sujet, un sommaire en tête s'il dépasse cent lignes) et pointe chaque fichier depuis le SKILL.md avec une ligne qui dit quand le lire. Un seul niveau : jamais de référence qui renvoie à une autre référence.

Et c'est tout. Une skill mûre, c'est trois dossiers et deux phrases : « fais-en une skill » et « fixe la skill ».

11

Vérifier qu'elle marche

Voir la skill se déclencher ne prouve pas qu'elle fait ce que tu veux. Il y a trois choses à tester, séparément.

  1. Elle existe ? Tape / et cherche son nom, ou demande « quelles skills sont disponibles ? ». Si elle n'y est pas, c'est presque toujours l'en-tête : un deux-points en trop, une description sur plusieurs lignes sans guillemets, le premier --- qui n'est pas en première ligne. Le piège vicieux : avec un en-tête cassé, /nom marche encore, mais Claude n'a plus de description, donc il ne la déclenchera jamais tout seul. La commande ci-dessous te dit quels fichiers ont un en-tête invalide.
  2. Elle se déclenche au bon moment ? Session neuve (/clear), une demande formulée avec tes mots, sans nommer la skill. Puis une demande voisine qui ne doit pas la déclencher. Le résultat te dit quoi corriger dans la description.
  3. Elle fait le bon travail ? Même tâche, session neuve, avec et sans la skill, et tu compares. La session neuve compte : si tu testes dans la conversation où tu viens d'écrire la skill, tout ce que tu as expliqué en route masque les trous du fichier. Ce qui rate, c'est un « fixe la skill ».

Et si elle se déclenche trop souvent : description plus précise, ou disable-model-invocation: true pour la garder manuelle.

Trouver les en-têtes cassés

claude plugin validate ~/.claude/skills      # tes skills perso
claude plugin validate .claude/skills        # celles du projet

Marche à partir de Claude Code 2.1.233. Chaque erreur est un fichier que Claude ne déclenchera jamais tout seul.

Les 8 erreurs

Celles que tout le monde fait au début, et que la doc officielle voit passer le plus souvent.

  1. 1

    Une description vague, qui ne déclenche jamais. Le fix : ce qu'elle fait, puis « à utiliser quand » avec les mots que tu tapes vraiment

  2. 2

    Un en-tête cassé, donc une skill invisible. Le fix : premier --- en première ligne, guillemets autour des valeurs qui contiennent un deux-points, et claude plugin validate

  3. 3

    Écrire la skill à la main, avant d'avoir fait le travail une fois. Le fix : fais d'abord, puis « fais-en une skill »

  4. 4

    Expliquer à Claude ce qu'il sait déjà. Le fix : chaque paragraphe : « est-ce qu'il le sait déjà ? » Si oui, supprime

  5. 5

    Proposer un menu d'options. Le fix : un défaut, plus l'exception justifiée

  6. 6

    Un SKILL.md de mille lignes, ou des références qui renvoient à des références. Le fix : sous 500 lignes, le détail dans references/, un seul niveau

  7. 7

    Corriger dans le chat au lieu du fichier. Le fix : « fixe la skill » : ce qui n'est pas dans le fichier meurt avec l'onglet

  8. 8

    Installer une skill là où c'est ton métier. Le fix : elle n'apprend rien de toi ; écris la tienne

Les mots

Ceux que la page emploie et que personne ne t'a jamais définis.

Frontmatter
L'en-tête d'un fichier, entre deux lignes ---. C'est là que vivent le nom et la description.
YAML
Le format de l'en-tête : des lignes « clé: valeur ». Un deux-points mal placé et tout le bloc est invalide.
Markdown
Le format du corps : du texte, avec # pour les titres et - pour les listes. Le même que sur GitHub.
Contexte
Tout ce que Claude a « en tête » dans une conversation : tes messages, les fichiers lus, ses réponses, les skills chargées. Limité, et plus il est plein, moins Claude est bon.
Token
L'unité de mesure du contexte. Un mot français fait en gros deux tokens. Une description de skill, une centaine.
Commande slash
Ce que tu tapes avec un / au début : /compact, /clear, /nom-de-ta-skill. Chaque skill en est une.
Sous-agent
Un deuxième Claude lancé par le premier, avec son propre contexte vide, qui fait une tâche et rend une conclusion. Ta conversation ne voit pas son travail, seulement le résultat.

Le reste du kit

Cette page est un morceau du Claude Code Starter Kit : installation, contexte, CLAUDE.md, mode plan, hooks, subagents, MCP. Gratuit, en français, une commande à copier par section.