Claude Code Skills : le guide complet
Skills, hooks, CLAUDE.md, MCP servers : personnalisez Claude Code CLI avec ce guide complet. Configuration, exemples et bonnes pratiques 2026.
Les skills transforment Claude Code en collaborateur spécialisé
Les Claude Code skills sont le système d’extension qui transforme un agent généraliste en collaborateur formé à vos conventions et votre stack. Concrètement, un skill est un fichier SKILL.md qui contient des instructions réutilisables : Claude Code les charge automatiquement quand le contexte est pertinent, ou vous les invoquez via une commande /slash.
Selon le Stack Overflow Developer Survey 2025, 84 % des développeurs utilisent ou prévoient d’utiliser des outils IA dans leur processus de développement, et 51 % les utilisent au quotidien (Stack Overflow, 2025). Personnaliser son agent de code fait la différence entre un assistant générique et un outil qui connaît vos conventions.
Ce guide détaille les cinq piliers du système d’extension de Claude Code : CLAUDE.md, skills, hooks, serveurs MCP et slash commands.
Pourquoi personnaliser Claude Code avec des skills
Sans personnalisation, Claude Code est un agent généraliste performant. Avec des skills bien configurés, il devient un collaborateur qui connaît vos conventions de nommage, votre architecture de fichiers et vos standards de qualité. La différence est mesurable : j’ai constaté une réduction de 40 à 60 % des allers-retours de correction sur mes projets après avoir mis en place un ensemble de skills adaptés.
Andrej Karpathy, cofondateur d’OpenAI, a introduit le terme « agentic engineering » pour décrire cette évolution : « Le défaut est que vous n’écrivez pas le code directement 99 % du temps, mais orchestrez des agents qui le font. »
Les skills Claude Code suivent le standard ouvert Agent Skills, ce qui signifie qu’un même fichier SKILL.md fonctionne dans Claude Code, Cursor, Gemini CLI et Codex CLI. Vous investissez une fois dans la configuration, vous en bénéficiez dans tous vos outils.
CLAUDE.md : le fichier de mémoire permanent
Comment fonctionne CLAUDE.md
CLAUDE.md est un fichier Markdown que Claude Code lit au démarrage de chaque session. Il contient les instructions permanentes de votre projet : conventions de code, commandes de build, architecture, décisions techniques. C’est l’équivalent d’un brief d’onboarding que vous donneriez à un nouveau développeur.
Deux systèmes de mémoire coexistent dans Claude Code :
| Système | Auteur | Contenu | Portée |
|---|---|---|---|
| CLAUDE.md | Vous | Instructions et conventions | Projet, utilisateur ou organisation |
| Auto memory | Claude | Apprentissages et patterns | Par arbre de travail (working tree) |
Où placer vos fichiers CLAUDE.md
Le placement détermine la portée des instructions :
| Portée | Emplacement | Partagé avec |
|---|---|---|
| Projet | ./CLAUDE.md ou ./.claude/CLAUDE.md | L’équipe via Git |
| Personnel | ~/.claude/CLAUDE.md | Vous seul, tous projets |
| Organisation | /Library/Application Support/ClaudeCode/CLAUDE.md (macOS) | Tous les utilisateurs |
Bonnes pratiques pour un CLAUDE.md efficace
La documentation officielle de Claude Code recommande de cibler moins de 200 lignes par fichier CLAUDE.md. Pour chaque ligne, posez-vous la question : si je la supprime, est-ce que Claude fera des erreurs ? Si la réponse est non, supprimez-la.
Voici un exemple de CLAUDE.md efficace :
# Projet : API de facturation
Stack : Node.js 22, TypeScript 5.7, PostgreSQL 16
Build : pnpm build
Tests : pnpm test (vitest)
## Conventions
- Indentation : 2 espaces, pas de tabs
- Noms de fichiers : kebab-case
- Pas de console.log en production - utiliser le logger Winston
## Architecture
- src/api/handlers/ : endpoints REST
- src/services/ : logique métier
- src/db/ : requêtes SQL (pas d'ORM)
Pour les projets volumineux, décomposez les instructions dans le répertoire .claude/rules/ avec des fichiers thématiques (testing.md, api-design.md, security.md).
Ces fichiers peuvent être conditionnés à des chemins spécifiques grâce au frontmatter paths :
---
paths:
- "src/api/**/*.ts"
---
# Règles API
- Toujours valider les inputs avec Zod
- Format d'erreur standardisé { code, message, details }
- Commentaires JSDoc obligatoires sur chaque endpoint
Un skill = frontmatter de configuration + instructions Markdown.
Créer et utiliser des skills Claude Code
Anatomie d’un skill
Chaque skill est un dossier contenant un fichier SKILL.md avec deux parties : un frontmatter YAML qui configure le comportement, et un contenu Markdown avec les instructions.
---
name: review-code
description: "Analyse le code modifié et vérifie la conformité aux conventions du projet."
allowed-tools: Read, Grep, Glob
---
# Revue de code
## Étapes
1. Identifie les fichiers modifiés récemment
2. Vérifie la conformité aux conventions du CLAUDE.md
3. Détecte les problèmes de sécurité (injections SQL, XSS, secrets exposés)
4. Propose des améliorations concrètes avec des diffs
Les champs du frontmatter
| Champ | Description | Obligatoire |
|---|---|---|
name | Nom du skill (devient la commande /slash) | Non (utilise le nom du dossier par défaut) |
description | Rôle et contexte d’activation automatique | Recommandé |
disable-model-invocation | true pour empêcher l’activation automatique | Non |
user-invocable | false pour masquer du menu / | Non |
allowed-tools | Outils autorisés sans demande de permission | Non |
context | fork pour exécuter dans un sous-agent isolé | Non |
agent | Type de sous-agent (Explore, Plan, etc.) | Non |
model | Modèle à utiliser quand le skill est actif | Non |
Où stocker vos skills
| Emplacement | Chemin | Portée |
|---|---|---|
| Personnel | ~/.claude/skills/<nom>/SKILL.md | Tous vos projets |
| Projet | .claude/skills/<nom>/SKILL.md | Ce projet uniquement |
| Entreprise | Via les managed settings | Toute l’organisation |
| Plugin | <plugin>/skills/<nom>/SKILL.md | Là où le plugin est activé |
Invoquer un skill
Deux modes d’invocation coexistent :
- Automatique : Claude détecte que votre demande correspond à la description du skill et le charge.
- Manuel : vous tapez
/nom-du-skillsuivi d’arguments optionnels.
Exemple avec arguments :
/fix-issue 42
Le skill reçoit 42 via la variable $ARGUMENTS et peut l’utiliser dans ses instructions.
Skills bundled : les cinq skills intégrés
Claude Code intègre cinq skills prêts à l’emploi :
| Skill | Description |
|---|---|
/batch <instruction> | Orchestre des modifications à grande échelle en parallèle (5 à 30 sous-agents) |
/claude-api | Charge la documentation API Claude pour votre langage |
/debug [description] | Analyse les logs de session pour diagnostiquer un problème |
/loop [intervalle] <prompt> | Exécute un prompt en boucle à intervalles réguliers |
/simplify [focus] | Revue de code automatique avec trois agents parallèles |
Le skill /batch est particulièrement utile pour les refactorings multi-fichiers. J’ai récemment migré 23 composants d’une bibliothèque UI en une seule commande : /batch migrate src/components from MUI to shadcn/ui. Chaque composant a été traité par un sous-agent dédié dans un worktree Git isolé.
Exemple avancé : skill avec contexte dynamique
Le skill suivant injecte des données en temps réel avant de les transmettre à Claude grâce à la syntaxe !`commande` :
---
name: pr-summary
description: "Résume les changements d'une pull request."
context: fork
agent: Explore
allowed-tools: Bash(gh *)
---
## Contexte de la PR
- Diff : !`gh pr diff`
- Commentaires : !`gh pr view --comments`
- Fichiers modifiés : !`gh pr diff --name-only`
## Tâche
Résume cette pull request en 3 points maximum.
Les commandes shell s’exécutent avant que Claude reçoive le prompt. Claude voit uniquement les résultats, pas les commandes.
Les hooks : automatiser la qualité du code
Comment fonctionnent les hooks
Les hooks sont des commandes shell, endpoints HTTP, prompts ou agents qui s’exécutent automatiquement à des moments précis du cycle de vie de Claude Code. Ils permettent d’automatiser le linting, les tests, les notifications et les garde-fous de sécurité.
Les événements disponibles
| Événement | Se déclenche | Usage principal |
|---|---|---|
| PreToolUse | Avant l’exécution d’un outil | Bloquer des actions dangereuses |
| PostToolUse | Après une exécution réussie | Linting, formatage automatique |
| UserPromptSubmit | Avant traitement du prompt | Ajouter du contexte, filtrer les requêtes |
| Stop | Quand Claude termine sa réponse | Forcer la continuation, vérifier les tests |
| SessionStart | Au démarrage de la session | Charger l’environnement, injecter des variables |
| Notification | Lors d’une notification | Alertes personnalisées |
Configurer un hook en pratique
Les hooks se définissent dans vos fichiers de configuration JSON :
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/block-destructive.sh",
"timeout": 10
}
]
}
],
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $FILEPATH"
}
]
}
]
}
}
Le hook PreToolUse dans cet exemple intercepte chaque commande Bash et exécute un script de validation. Si le script retourne le code de sortie 2, l’action est bloquée. Le hook PostToolUse formate automatiquement chaque fichier modifié avec Prettier.
Exemple : bloquer les commandes destructrices
#!/bin/bash
# .claude/hooks/block-destructive.sh
COMMAND=$(jq -r '.tool_input.command')
if echo "$COMMAND" | grep -qE 'rm -rf|drop table|git push.*--force'; then
jq -n '{
hookSpecificOutput: {
hookEventName: "PreToolUse",
permissionDecision: "deny",
permissionDecisionReason: "Commande destructrice bloquée par hook de sécurité"
}
}'
else
exit 0
fi
Les serveurs MCP : connecter Claude Code à vos outils
Le Model Context Protocol en bref
Le MCP (Model Context Protocol) est un standard ouvert qui permet à Claude Code de communiquer avec des outils externes : GitHub, bases de données, Notion, Slack, Google Calendar. En mars 2026, le MCP est devenu le standard de facto pour construire des agents IA, avec un écosystème de plus de 5 000 serveurs communautaires.
Ajouter un serveur MCP à Claude Code
Deux méthodes sont disponibles :
Via la commande /mcp dans une session active :
/mcp add github -- npx -y @modelcontextprotocol/server-github
Via le fichier de configuration .claude/settings.json :
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_..."
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://..."
}
}
}
}
MCP Tool Search : charger les outils à la demande
Quand vous connectez plusieurs serveurs MCP, le nombre d’outils disponibles peut saturer le contexte. Le MCP Tool Search résout ce problème en chargeant les outils dynamiquement, à la demande, au lieu de tous les précharger. Claude Code identifie l’outil pertinent et le charge uniquement quand il en a besoin.
Les serveurs MCP les plus utilisés
Pour approfondir le sujet, consultez mon guide des meilleurs serveurs MCP en 2026 qui détaille les cas d’usage concrets et les configurations recommandées.
Slash commands vs skills : comprendre les différences
Les anciens « custom commands » et les skills ont été fusionnés. Un fichier dans l’un ou l’autre emplacement crée la même interface /slash.
Vos fichiers .claude/commands/ existants continuent de fonctionner.
| Critère | Commands (ancien) | Skills (recommandé) |
|---|---|---|
| Emplacement | .claude/commands/deploy.md | .claude/skills/deploy/SKILL.md |
| Fichiers associés | Non | Oui (templates, exemples, scripts) |
| Frontmatter avancé | Basique | Complet (context, agent, hooks) |
| Activation automatique | Non | Oui (Claude détecte le contexte) |
| Sous-agent dédié | Non | Oui (context: fork) |
Utilisez les skills pour tout nouveau workflow. Gardez CLAUDE.md pour les conventions courtes et toujours actives.
Les cinq extensions de Claude Code, configurables en environ 2 heures.
Récapitulatif : les cinq piliers de la personnalisation
| Pilier | Rôle | Quand l’utiliser |
|---|---|---|
| CLAUDE.md | Instructions permanentes chargées à chaque session | Conventions d’équipe, stack technique, commandes de build |
| Skills | Workflows réutilisables activés à la demande | Revue de code, déploiement, génération de tests |
| Hooks | Automatisations déclenchées par des événements | Linting, tests, sécurité, notifications |
| Serveurs MCP | Connexion à des outils externes | GitHub, bases de données, API tierces |
.claude/rules/ | Instructions conditionnelles par chemin de fichier | Règles spécifiques à un module ou une technologie |
Mon avis : l’investissement qui change la productivité quotidienne
Configurer un environnement Claude Code complet (CLAUDE.md, 3 à 5 skills, quelques hooks de qualité, 2 à 3 serveurs MCP) prend environ 2 heures. Le retour sur investissement est mesurable dès la première semaine : moins d’allers-retours de correction, des conventions respectées automatiquement, des workflows reproductibles.
J’utilise Claude Code quotidiennement pour construire ce site et mes projets clients. Les skills que j’ai le plus rentabilisés sont ceux de revue de code et de génération d’articles.
Le système de hooks m’évite les erreurs de déploiement. Et les serveurs MCP me permettent de gérer GitHub, ma base de données et mes outils de monitoring sans quitter le terminal.
Si vous débutez avec Claude Code, commencez par le tutoriel pour débutant qui couvre l’installation et les bases. Ce guide sur les skills est l’étape suivante pour passer de l’utilisation occasionnelle à un workflow structuré.
Pour comparer Claude Code avec d’autres outils de développement IA, consultez le comparatif Claude Code vs Cursor.
Si vous souhaitez recevoir ce type de contenu chaque semaine, inscrivez-vous à la newsletter - un email par semaine, zéro spam.
Questions fréquentes
C'est quoi un skill Claude Code ?
Un skill est un workflow réutilisable défini dans un fichier SKILL.md. Il spécialise Claude Code pour une tâche précise (revue de code, design frontend, déploiement). Chaque skill contient un frontmatter YAML et des instructions en Markdown. Claude l'active automatiquement quand le contexte est pertinent, ou vous l'invoquez manuellement via une commande /slash.
Quelle est la différence entre CLAUDE.md et un skill ?
CLAUDE.md charge des instructions dans chaque session, consommant du contexte en permanence. Un skill ne se charge que lorsqu'il est invoqué ou pertinent. Utilisez CLAUDE.md pour les conventions de projet toujours actives (indentation, stack technique), et les skills pour les workflows ponctuels (déploiement, revue de code, génération de tests).
Comment créer un skill personnalisé pour Claude Code ?
Créez un dossier dans ~/.claude/skills/ (personnel) ou .claude/skills/ (projet). Ajoutez un fichier SKILL.md avec un frontmatter YAML (name, description) et vos instructions en Markdown. Le nom du skill devient la commande /slash. Claude Code le détecte automatiquement sans redémarrage grâce au hot reload.
Les skills Claude Code fonctionnent-ils dans Cursor et Gemini CLI ?
Oui. Les skills Claude Code suivent le standard ouvert Agent Skills (agentskills.io), compatible avec Cursor, Gemini CLI, Codex CLI et tout outil qui supporte la spécification. Un même fichier SKILL.md fonctionne dans tous ces environnements sans modification.
Combien de skills communautaires sont disponibles pour Claude Code ?
Le dépôt officiel github.com/anthropics/skills référence des skills vérifiés. L'écosystème communautaire dépasse les 1 200 skills en mars 2026. Le skill frontend-design d'Anthropic totalise à lui seul plus de 277 000 installations.
Comment configurer un hook dans Claude Code ?
Les hooks se définissent en JSON dans ~/.claude/settings.json (global) ou .claude/settings.json (projet). Chaque hook spécifie un événement (PreToolUse, PostToolUse, Stop), un matcher regex pour filtrer les outils concernés, et une commande shell, URL HTTP ou prompt à exécuter. Les hooks PreToolUse peuvent bloquer des actions dangereuses avant leur exécution.
Comment ajouter un serveur MCP à Claude Code ?
Utilisez la commande /mcp dans votre session ou ajoutez la configuration dans .claude/settings.json sous la clé mcpServers. Chaque serveur est défini par un nom, une commande de lancement et des arguments. Claude Code supporte aussi le MCP Tool Search qui charge les outils à la demande au lieu de tout précharger, ce qui réduit la consommation de contexte.