Référence11 min de lecture

Commandes personnalisées et skills - Référence des commandes

SFEIR Institute

En Bref (TL;DR)

Les commandes personnalisées, skills et hooks de Claude Code transforment votre terminal en environnement de développement extensible. Ce guide de référence liste la syntaxe complète pour créer vos propres commandes slash, configurer des skills réutilisables, orchestrer des subagents et automatiser vos workflows avec des hooks déterministes.

Les commandes personnalisées, skills et hooks de Claude Code transforment votre terminal en environnement de développement extensible. Ce guide de référence liste la syntaxe complète pour créer vos propres commandes slash, configurer des skills réutilisables, orchestrer des subagents et automatiser vos workflows avec des hooks déterministes.

Les commandes personnalisées et skills de Claude Code constituent le système d'extensibilité qui permet d'adapter l'outil à vos workflows spécifiques. Claude Code propose cinq mécanismes d'extension : les commandes slash custom, les skills, les subagents, les plugins et les hooks. De nombreux utilisateurs avancés finissent par créer leurs propres commandes personnalisées pour adapter l'outil à leurs workflows.

Formations SFEIR Institute

Formation Claude Code

1 jour · Fondamentaux

Voir le programme

Développeur Augmenté par l'IA

2 jours · Intermédiaire

Voir le programme

Quelles sont les commandes les plus utilisées dans Claude Code ?

Avant de détailler chaque catégorie, voici le tableau de référence rapide des commandes essentielles. Chaque commande s'exécute directement dans le prompt Claude Code.

CommandeDescriptionExemple
/initInitialise le fichier CLAUDE.md du projet/init
/helpAffiche l'aide contextuelle/help
/clearRéinitialise le contexte courant/clear
/compactCompresse la conversation active/compact
/costAffiche le coût de la session/cost
/modelChange le modèle en cours de session/model haiku
/reviewCommande custom (exemple)/review src/auth.ts
/gen-testCommande custom (exemple)/gen-test src/utils.ts

Pour une vue exhaustive des commandes slash natives, consultez la référence des commandes slash essentielles qui couvre chaque option en détail.

Les commandes personnalisées (créées via des fichiers .md dans .claude/commands/) sont invoquées directement par leur nom : /review, /gen-test, etc. Il n'y a pas de préfixe /custom ou /skill.

Comment créer des commandes slash custom dans Claude Code ?

Une commande slash custom est un fichier Markdown stocké dans le répertoire .claude/commands/ de votre projet. Claude Code détecte automatiquement ces fichiers et les expose comme commandes /.

Syntaxe de création

Créez un fichier Markdown dans le dossier .claude/commands/ :

mkdir -p .claude/commands
touch .claude/commands/mon-lint.md

Le nom du fichier devient le nom de la commande. Un fichier mon-lint.md crée la commande /mon-lint. Le corps du fichier n'est chargé qu'au moment de l'invocation ; seul le texte de description (et when_to_use) est tronqué à 1 536 caractères dans la liste des commandes.

Structure d'un fichier de commande

Rédigez le contenu de votre commande avec des instructions claires :

Analyse le fichier $ARGUMENTS avec les règles suivantes :
- Vérifie les imports inutilisés
- Détecte les variables non utilisées
- Signale les fonctions de plus de 50 lignes
Retourne un rapport structuré en tableau Markdown.

La variable $ARGUMENTS capture tout le texte saisi après la commande. En pratique, /mon-lint src/index.ts remplace $ARGUMENTS par src/index.ts.

Variable disponible

VariableDescriptionPortée
$ARGUMENTSTexte saisi après la commandeCommande

$ARGUMENTS capture tout le texte saisi après le nom de la commande. D'autres substitutions existent également : $ARGUMENTS[N] / $N (argument par index), $name (argument nommé via le frontmatter arguments) et les variables ${CLAUDE_SESSION_ID}, ${CLAUDE_EFFORT}, ${CLAUDE_SKILL_DIR}.

Portée des commandes

Distinguez deux niveaux de portée pour vos commandes :

EmplacementPortéePartageable via Git
.claude/commands/Projet uniquementOui
~/.claude/commands/Tous les projetsNon

Si vous souhaitez aller plus loin, la page des exemples de commandes personnalisées propose des cas concrets prêts à l'emploi pour le review de code, la génération de tests et le refactoring.

À retenir : une commande custom est un fichier Markdown dans .claude/commands/, aucune syntaxe spéciale, juste du texte en langage naturel.

Comment fonctionnent les skills dans Claude Code ?

Claude Code propose deux types de skills. Le fichier CLAUDE.md enseigne vos conventions de manière passive (chargé automatiquement). Un skill déclaratif est un répertoire .claude/skills// (projet) ou ~/.claude/skills// (utilisateur) contenant un fichier SKILL.md avec un frontmatter YAML structuré ; le nom du répertoire devient le nom de la commande. Claude Code les découvre automatiquement de manière récursive. La commande /skills liste tous les skills disponibles.

Frontmatter d'un skill déclaratif

---
name: mon-skill
description: "Description du skill"
when_to_use: "Quand l'utiliser, pour le déclenchement automatique"
disable-model-invocation: false  # true pour empêcher l'auto-invocation par Claude
user-invocable: true  # false pour masquer du menu /
allowed-tools: Read Glob Grep
disallowed-tools: Bash
---

Placeholders disponibles dans les skills : $ARGUMENTS, ${CLAUDE_SKILL_DIR}, ${CLAUDE_SESSION_ID}, ${CLAUDE_EFFORT}.

Skills intégrés (bundled)

Claude Code inclut des skills prêts à l'emploi : /simplify, /code-review, /batch, /loop, /debug, /claude-api, /run (lance l'application du projet pour vérifier un changement en conditions réelles), /verify (vérifie qu'un changement de code produit bien le comportement attendu en exécutant l'application) et /run-skill-generator (génère un nouveau skill à partir d'une description).

Parmi les commandes intégrées orientées automatisation, /effort ajuste le niveau d'effort de raisonnement de la session et /schedule crée une routine (agent distant programmé qui s'exécute selon une planification cron).

Différence entre commande, skill déclaratif et CLAUDE.md

CaractéristiqueCommande customSkill déclaratifCLAUDE.md
DéclenchementExplicite (/nom)Auto ou manuelAutomatique à chaque session
FormatFichier .md dans .claude/commands/SKILL.md dans .claude/skills//Fichier CLAUDE.md à la racine
UsageActions ponctuelles réutilisablesComportements configurables avec contrôle d'outilsConventions persistantes du projet

Configurer les conventions du projet

Ajoutez vos conventions dans le fichier CLAUDE.md à la racine de votre projet :

# Conventions du projet
- Nommage camelCase pour les variables
- Tests unitaires obligatoires pour chaque fonction exportée
- Pas de console.log résiduel dans le code committé

Claude Code lit automatiquement ce fichier au début de chaque session et applique ces instructions à toutes ses réponses.

Pour découvrir les patterns d'utilisation avancés, consultez les astuces sur les premières conversations qui montrent comment combiner skills et contexte conversationnel.

À retenir : un skill est une instruction persistante qui enseigne à Claude Code vos conventions ; il s'active automatiquement ou à la demande.

Comment orchestrer des subagents dans Claude Code ?

Les subagents sont des instances spécialisées de Claude lancées depuis votre session principale. Chaque subagent dispose de son propre contexte et de ses propres outils. Cette architecture permet de paralléliser des tâches complexes sans polluer votre fenêtre de contexte principale.

Types de subagents disponibles

TypeOutils disponiblesCas d'usage
general-purposeTous (Read, Edit, Bash…)Implémentation complète
ExploreLecture seule (Glob, Grep, Read)Recherche dans le code
PlanLecture seule + planificationConception d'architecture

Lancer un subagent

Les subagents sont des processus internes que Claude Code crée automatiquement pour paralléliser les tâches complexes. Vous ne les invoquez pas directement via des commandes slash. Formulez simplement votre demande et Claude Code décide quand déléguer à un subagent.

# Claude Code crée des subagents en interne si nécessaire
> Trouve tous les endpoints API dans src/ et liste les composants React

En pratique, Claude Code utilise des subagents pour explorer le code source et exécuter des tâches en parallèle de manière transparente.

L'aide-mémoire des premières conversations résume les raccourcis pour piloter vos sessions au quotidien.

À retenir : les subagents sont internes à Claude Code et se déclenchent automatiquement, sans commande slash dédiée.

Quels hooks d'automatisation peut-on configurer ?

Un hook est une commande shell exécutée automatiquement en réponse à un événement Claude Code. Contrairement aux skills (probabilistes), les hooks sont déterministes : ils se déclenchent à chaque occurrence de l'événement configuré. Le fichier de configuration se trouve dans .claude/settings.json.

Configuration d'un hook

Ajoutez un hook dans votre fichier de paramètres :

{
 "hooks": {
 "PostToolUse": [
 {
 "matcher": "Edit",
 "hooks": [
 {
 "type": "command",
 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
 }
 ]
 }
 ],
 "PreToolUse": [
 {
 "matcher": "Bash",
 "hooks": [
 {
 "type": "command",
 "command": "echo 'Commande Bash détectée'"
 }
 ]
 }
 ]
 }
}

Événements disponibles

ÉvénementDéclencheurCas d'usage
PreToolUseAvant chaque appel d'outilValidation, logging, blocage
PostToolUseAprès chaque appel d'outilLinting, formatage, notification
UserPromptSubmitSoumission d'un prompt utilisateurValidation d'entrée
SessionStartDémarrage d'une sessionInitialisation
StopFin de la réponse de ClaudeNettoyage, rapport de session
NotificationSur notification systèmeAlertes Slack, journalisation
SubagentStart / SubagentStopLancement/arrêt d'un subagentMonitoring
TaskCreated / TaskCompletedCréation/fin d'une tâcheOrchestration

Autres événements : StopFailure, TeammateIdle, ConfigChange, CwdChanged, FileChanged, PreCompact, PostCompact, WorktreeCreate, WorktreeRemove, SessionEnd, Elicitation, ElicitationResult, InstructionsLoaded, PermissionRequest, PostToolUseFailure.

Chaque événement associe un tableau de groupes. Chaque groupe utilise le champ "matcher" (regex) pour cibler un outil (ex: "Edit", "Write", "Bash") et un tableau "hooks" de handlers, chacun avec un "type" et une "command". Le hook reçoit les données structurées de l'événement (dont tool_input.file_path) en JSON sur son entrée standard : lisez-les avec jq plutôt que via une variable d'environnement. Les types de hooks sont : command (shell), prompt (prompt IA), agent (sous-agent) et http (requête HTTP). Codes de sortie : 0 = autoriser, 2 = bloquer, autre = autoriser avec log.

Pour éviter les pièges courants lors de la mise en place de hooks, consultez la page des erreurs courantes sur les commandes personnalisées qui documente les cas de boucles infinies et de conflits entre hooks.

À retenir : un hook exécute une commande shell déterministe à chaque événement ; utilisez-le pour le formatage, le linting et la journalisation.

Comment étendre Claude Code avec MCP ?

Claude Code s'étend via le protocole MCP (Model Context Protocol), un standard ouvert pour connecter des outils externes. Claude Code dispose aussi d'un système de plugins natif : claude plugin install pour installer un plugin. En session, la commande /plugin liste et gère vos plugins (installation, désinstallation) de manière interactive.

Configurez un serveur MCP dans le fichier .mcp.json à la racine de votre projet (portée projet, partagée). Les serveurs en portée locale/utilisateur sont stockés dans ~/.claude.json :

{
 "mcpServers": {
 "github": {
 "command": "npx",
 "args": ["-y", "@modelcontextprotocol/server-github"],
 "env": { "GITHUB_TOKEN": "ghp_xxx" }
 }
 }
}

Vous pouvez aussi ajouter un serveur MCP via la ligne de commande :

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ --header "Authorization: Bearer YOUR_GITHUB_PAT"

Pour approfondir la personnalisation de votre environnement, le guide sur les commandes personnalisées et skills offre une vue d'ensemble de l'architecture d'extensibilité.

À retenir : Claude Code s'étend via MCP (serveurs d'outils externes), les commandes custom (fichiers Markdown) et le système de plugins natif (claude plugin install).

Quelles combinaisons de commandes sont les plus efficaces ?

Les utilisateurs expérimentés enchaînent commandes, skills et hooks pour créer des workflows automatisés. Voici les combinaisons les plus fréquentes observées dans les projets SFEIR Institute.

One-liners utiles

Combinez commandes et subagents pour des workflows puissants :

# Review de code (commande custom définie dans .claude/commands/review.md)
/review

# Génération de tests pour un fichier
/gen-test src/utils/parser.ts

# Audit de sécurité (commande custom définie dans .claude/commands/audit.md)
/audit

Raccourcis clavier

RaccourciActionContexte
EntréeEnvoyer le messagePrompt
ÉchapAnnuler la génération en coursPendant une réponse
TabAuto-complétion des commandes /Après avoir tapé /
Flèche hautNaviguer dans l'historiquePrompt vide
Shift+EntréeNouvelle ligne dans le promptPrompt
Ctrl+CInterrompre l'opérationToute situation

Concrètement, tapez / puis les premières lettres du nom de commande pour activer l'auto-complétion. L'aide-mémoire des commandes slash essentielles liste tous les raccourcis natifs.

Si vous souhaitez maîtriser ces techniques en conditions réelles, la formation Claude Code de SFEIR Institute (1 jour) vous guide pas à pas dans la création de commandes custom, la configuration de skills et l'orchestration de subagents avec des labs pratiques sur vos propres projets.

À retenir : combinez commandes slash, skills et hooks dans des one-liners pour automatiser vos workflows récurrents.

Comment déboguer une commande personnalisée qui ne fonctionne pas ?

Le débogage des commandes custom suit un processus systématique. En pratique, la majorité des erreurs proviennent de trois causes : un chemin de fichier incorrect, une variable mal nommée ou un conflit de portée.

Checklist de diagnostic

  1. Vérifiez que le fichier .md est bien dans .claude/commands/
  2. Contrôlez le nom du fichier (pas d'espaces, pas de caractères spéciaux)
  3. Tapez / dans Claude Code pour vérifier que la commande apparaît dans l'autocomplétion
  4. Testez le prompt directement dans une conversation pour isoler le problème
  5. Validez la syntaxe des variables ($ARGUMENTS, pas ${ARGUMENTS})
# Vérifier les fichiers de commandes
ls -la .claude/commands/

# Tester la commande
/mon-lint src/index.ts

Les astuces sur les commandes slash essentielles proposent des techniques de diagnostic supplémentaires pour les cas complexes. Vous pouvez aussi consulter la référence des commandes de vos premières conversations pour comparer le comportement attendu des commandes natives.

À retenir : tapez / pour vérifier la détection de vos commandes et testez le prompt directement en conversation pour isoler les problèmes.

Peut-on partager ses commandes et skills avec une équipe ?

Le partage de commandes et skills repose sur le système de fichiers et Git. Les commandes stockées dans .claude/commands/ au niveau projet sont automatiquement versionnées et partagées via votre dépôt Git.

Stratégie de partage recommandée

MéthodePortéeVersionnementCollaboration
.claude/commands/ (projet)Équipe projetGit natifPR / review
~/.claude/commands/ (global)IndividuelManuelExport/import
Dépôt communautaireCommunautéGit / npmContributions

Commitez vos commandes avec le projet :

git add .claude/commands/ CLAUDE.md .claude/settings.json
git commit -m "feat: add team coding standards commands"
git push

Partager un jeu commun de commandes custom aide à standardiser les revues et les workflows à travers toute l'équipe. L'aide-mémoire d'installation et premier lancement détaille la configuration initiale pour les nouveaux membres d'équipe.

Pour les équipes qui souhaitent structurer leur adoption, la formation Développeur Augmenté par l'IA (2 jours) couvre la mise en place de conventions d'équipe, le partage de skills et l'intégration dans les pipelines CI/CD. La formation Développeur Augmenté par l'IA – Avancé (1 jour) approfondit l'orchestration de subagents et la création de plugins sur mesure.

À retenir : versionnez vos commandes dans .claude/commands/ avec Git pour les partager automatiquement avec votre équipe.

Quels sont les pièges à éviter avec les commandes personnalisées ?

Les erreurs les plus fréquentes sont documentées et évitables. Voici les 5 pièges que vous rencontrerez le plus souvent, avec leur solution.

  1. Boucle infinie de hooks : un hook PostToolUse qui déclenche un outil, lequel relance le hook. Ajoutez un matcher précis pour cibler uniquement les outils concernés.
  2. Conflit de portée : une commande globale (~/.claude/commands/) masque une commande projet. Renommez l'une des deux commandes.
  3. Variable non résolue : $ARGUMENTS reste vide si aucun texte n'est passé. Ajoutez une valeur par défaut dans votre prompt.
  4. Instructions contradictoires : deux fichiers CLAUDE.md avec des instructions opposées créent un comportement imprévisible. Auditez régulièrement vos fichiers.
  5. Hook bloquant : un hook sans timeout peut bloquer Claude Code. Encadrez chaque hook avec timeout N pour limiter la durée.

La page des erreurs courantes des commandes personnalisées et skills détaille chaque scénario d'erreur avec des solutions pas à pas. Consultez aussi les exemples de commandes personnalisées pour vous inspirer de configurations éprouvées.

À retenir : filtrez vos hooks avec des matchers précis, évitez les instructions contradictoires dans CLAUDE.md, et ajoutez des timeouts à vos hooks.

Articles récents sur Claude

Formation Claude Code

Ce sujet est couvert dans le Module 5 de notre formation Claude Code

Sub-agents et Skills

Formation 1 jour • 60% labs pratiques • Formateurs experts

Voir le programme complet