Référence

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

SFEIR Institute

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. la majorité des utilisateurs avancés créent au moins une commande personnalisée dans leur première semaine d'utilisation.

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. La taille maximale recommandée d'un fichier de commande est de 2 000 tokens, soit environ 1 500 mots.

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 est la seule variable de substitution disponible dans les fichiers de commandes. Elle capture tout le texte saisi après le nom de la commande.

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). Les skills déclaratifs dans .claude/skills/ (projet) ou ~/.claude/skills/ (utilisateur) sont des fichiers Markdown avec un frontmatter YAML structuré. 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

---
title: "Mon skill"
description: "Description du skill"
invoke: auto  # auto ou manual
scope: project  # global ou project
allowedTools: ["Read", "Glob", "Grep"]
disallowedTools: ["Bash"]
restrictSubagents: true
---

Variables disponibles dans les skills : $ARGUMENTS, $CLAUDE_PROJECT_DIR, $CLAUDE_USER_HOME.

Skills intégrés (bundled)

Claude Code inclut des skills prêts à l'emploi : /simplify, /batch, /loop, /debug, /update-config, /keybindings-help.

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/Fichier .md avec frontmatter 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
BashTerminal uniquementScripts et commandes système

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",
 "command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
 }
 ],
 "PreToolUse": [
 {
 "matcher": "Bash",
 "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 hook utilise le champ "matcher" (regex) pour cibler un outil (ex: "Edit", "Write", "Bash"), un champ optionnel "if" pour un filtrage fin, et "command" pour le script shell. 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 et claude plugin uninstall pour désinstaller. La commande /plugin liste et gère vos plugins dans une session interactive.

Configurez un serveur MCP dans votre fichier .claude/settings.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 github -- npx @anthropic/mcp-server-github

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

les équipes qui partagent un jeu de 5 à 10 commandes custom réduisent leur temps de review de 25 % sur un trimestre. 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