4.1 — Anatomie d'une commande slash
Les commandes slash sont des fichiers Markdown que Claude Code charge et exécute comme des prompts spécialisés. Contrairement aux commandes natives (/clear, /compact, /help), les commandes slash custom sont des fichiers que tu crées, que tu partages via Git, et qui encapsulent des workflows répétés en une seule invocation.
Format de fichier
Une commande slash est un fichier .md place dans un des emplacements reconnus par Claude Code. Le fichier peut commencer par un frontmatter YAML optionnel, suivi du contenu Markdown qui constitue le prompt :
---
description: Génère un test unitaire pour le fichier cible
argument-hint: [file-path]
allowed-tools: Read, Write, Bash(npm:*)
---
Lis le fichier @$1 et génère un test unitaire complet.
Utilise le framework de test déjà présent dans le projet.
Lance les tests pour vérifier qu'ils passent.
Le frontmatter est entièrement optionnel. Un fichier contenant uniquement du Markdown fonctionne, Claude Code l'interprète comme un prompt brut. Mais le frontmatter ajoute de la structure : description apparaît dans l'autocomplétion, argument-hint guide l'utilisateur, et allowed-tools restreint les outils disponibles pendant l'exécution.
Emplacements des commandes
- Projet :
.claude/commands/, versionné dans Git, partagé avec l'équipe - Utilisateur :
~/.claude/commands/, personnel, disponible dans tous les projets - Plugin :
, distribué via un plugin/commands/
L'invocation se fait avec /nom-du-fichier (sans l'extension .md). Les sous-répertoires deviennent des namespaces : .claude/commands/test/unit.md s'invoque avec /test:unit.
À retenir
• Une commande slash = un fichier Markdown avec un prompt réutilisable
• Le frontmatter YAML est optionnel mais ajoute description, outils autorisés et indices d'arguments
• Trois emplacements : projet (.claude/commands/), utilisateur (~/.claude/commands/), plugin
• Les sous-répertoires créent des namespaces (invocation avec :)