Commandes slash intégrées

CommandeObjectif
/add-dirAjouter des répertoires de travail supplémentaires
/agentsGérer les sous-agents IA personnalisés pour les tâches spécialisées
/bugSignaler les bugs (envoie la conversation à Anthropic)
/clearEffacer l’historique de la conversation
/compact [instructions]Compacter la conversation avec des instructions de focus optionnelles
/configOuvrir l’interface Paramètres (onglet Config)
/costAfficher les statistiques d’utilisation des tokens (voir le guide de suivi des coûts pour les détails spécifiques à l’abonnement)
/doctorVérifier l’état de santé de votre installation Claude Code
/helpObtenir l’aide sur l’utilisation
/initInitialiser le projet avec le guide CLAUDE.md
/loginChanger de compte Anthropic
/logoutSe déconnecter de votre compte Anthropic
/mcpGérer les connexions du serveur MCP et l’authentification OAuth
/memoryÉditer les fichiers de mémoire CLAUDE.md
/modelSélectionner ou changer le modèle IA
/permissionsAfficher ou mettre à jour les permissions
/pr_commentsAfficher les commentaires des demandes de fusion
/reviewDemander une révision de code
/sandboxActiver l’outil bash en bac à sable avec isolation du système de fichiers et du réseau pour une exécution plus sûre et autonome
/rewindRembobiner la conversation et/ou le code
/statusOuvrir l’interface Paramètres (onglet Status) affichant la version, le modèle, le compte et la connectivité
/terminal-setupInstaller la liaison de touche Maj+Entrée pour les nouvelles lignes (iTerm2 et VSCode uniquement)
/usageAfficher les limites d’utilisation du plan et l’état de la limite de débit (plans d’abonnement uniquement)
/vimEntrer en mode vim pour alterner entre les modes insertion et commande

Commandes slash personnalisées

Les commandes slash personnalisées vous permettent de définir des invites fréquemment utilisées sous forme de fichiers Markdown que Claude Code peut exécuter. Les commandes sont organisées par portée (spécifique au projet ou personnelle) et prennent en charge l’espace de noms via des structures de répertoires.

Syntaxe

/<command-name> [arguments]

Paramètres

ParamètreDescription
<command-name>Nom dérivé du nom du fichier Markdown (sans l’extension .md)
[arguments]Arguments optionnels passés à la commande

Types de commandes

Commandes de projet

Les commandes stockées dans votre référentiel et partagées avec votre équipe. Lorsqu’elles sont listées dans /help, ces commandes affichent “(project)” après leur description. Emplacement : .claude/commands/ Dans l’exemple suivant, nous créons la commande /optimize :
# Créer une commande de projet
mkdir -p .claude/commands
echo "Analyze this code for performance issues and suggest optimizations:" > .claude/commands/optimize.md

Commandes personnelles

Les commandes disponibles dans tous vos projets. Lorsqu’elles sont listées dans /help, ces commandes affichent “(user)” après leur description. Emplacement : ~/.claude/commands/ Dans l’exemple suivant, nous créons la commande /security-review :
# Créer une commande personnelle
mkdir -p ~/.claude/commands
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md

Fonctionnalités

Espace de noms

Organisez les commandes dans des sous-répertoires. Les sous-répertoires sont utilisés pour l’organisation et apparaissent dans la description de la commande, mais ils n’affectent pas le nom de la commande lui-même. La description affichera si la commande provient du répertoire du projet (.claude/commands) ou du répertoire au niveau de l’utilisateur (~/.claude/commands), ainsi que le nom du sous-répertoire. Les conflits entre les commandes au niveau de l’utilisateur et du projet ne sont pas pris en charge. Sinon, plusieurs commandes avec le même nom de fichier de base peuvent coexister. Par exemple, un fichier à .claude/commands/frontend/component.md crée la commande /component avec une description affichant “(project:frontend)”. Pendant ce temps, un fichier à ~/.claude/commands/component.md crée la commande /component avec une description affichant “(user)”.

Arguments

Passez des valeurs dynamiques aux commandes en utilisant des espaces réservés d’arguments :
Tous les arguments avec $ARGUMENTS
L’espace réservé $ARGUMENTS capture tous les arguments passés à la commande :
# Définition de la commande
echo 'Fix issue #$ARGUMENTS following our coding standards' > .claude/commands/fix-issue.md

# Utilisation
> /fix-issue 123 high-priority
# $ARGUMENTS devient : "123 high-priority"
Arguments individuels avec $1, $2, etc.
Accédez à des arguments spécifiques individuellement en utilisant des paramètres positionnels (similaires aux scripts shell) :
# Définition de la commande  
echo 'Review PR #$1 with priority $2 and assign to $3' > .claude/commands/review-pr.md

# Utilisation
> /review-pr 456 high alice
# $1 devient "456", $2 devient "high", $3 devient "alice"
Utilisez les arguments positionnels lorsque vous devez :
  • Accéder aux arguments individuellement dans différentes parties de votre commande
  • Fournir des valeurs par défaut pour les arguments manquants
  • Construire des commandes plus structurées avec des rôles de paramètres spécifiques

Exécution de commandes bash

Exécutez les commandes bash avant l’exécution de la commande slash en utilisant le préfixe !. La sortie est incluse dans le contexte de la commande. Vous devez inclure allowed-tools avec l’outil Bash, mais vous pouvez choisir les commandes bash spécifiques à autoriser. Par exemple :
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---

## Context

- Current git status: !`git status`
- Current git diff (staged and unstaged changes): !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -10`

## Your task

Based on the above changes, create a single git commit.

Références de fichiers

Incluez le contenu des fichiers dans les commandes en utilisant le préfixe @ pour référencer les fichiers. Par exemple :
# Référencer un fichier spécifique

Review the implementation in @src/utils/helpers.js

# Référencer plusieurs fichiers

Compare @src/old-version.js with @src/new-version.js

Mode de réflexion

Les commandes slash peuvent déclencher la réflexion étendue en incluant des mots-clés de réflexion étendue.

Frontmatter

Les fichiers de commande prennent en charge le frontmatter, utile pour spécifier les métadonnées sur la commande :
FrontmatterObjectifPar défaut
allowed-toolsListe des outils que la commande peut utiliserHérite de la conversation
argument-hintLes arguments attendus pour la commande slash. Exemple : argument-hint: add [tagId] | remove [tagId] | list. Cet indice est affiché à l’utilisateur lors de l’autocomplétion de la commande slash.Aucun
descriptionBrève description de la commandeUtilise la première ligne de l’invite
modelChaîne de modèle spécifique (voir Aperçu des modèles)Hérite de la conversation
disable-model-invocationS’il faut empêcher l’outil SlashCommand d’appeler cette commandefalse
Par exemple :
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Create a git commit
model: claude-3-5-haiku-20241022
---

Create a git commit with message: $ARGUMENTS
Exemple utilisant des arguments positionnels :
---
argument-hint: [pr-number] [priority] [assignee]
description: Review pull request
---

Review PR #$1 with priority $2 and assign to $3.
Focus on security, performance, and code style.

Commandes de plugin

Les Plugins peuvent fournir des commandes slash personnalisées qui s’intègrent de manière transparente à Claude Code. Les commandes de plugin fonctionnent exactement comme les commandes définies par l’utilisateur mais sont distribuées via les places de marché de plugins.

Comment fonctionnent les commandes de plugin

Les commandes de plugin sont :
  • Espacées de noms : Les commandes peuvent utiliser le format /plugin-name:command-name pour éviter les conflits (le préfixe du plugin est optionnel sauf en cas de collision de noms)
  • Automatiquement disponibles : Une fois qu’un plugin est installé et activé, ses commandes apparaissent dans /help
  • Entièrement intégrées : Prennent en charge toutes les fonctionnalités de commande (arguments, frontmatter, exécution bash, références de fichiers)

Structure de la commande de plugin

Emplacement : répertoire commands/ à la racine du plugin Format de fichier : Fichiers Markdown avec frontmatter Structure de commande de base :
---
description: Brief description of what the command does
---

# Command Name

Detailed instructions for Claude on how to execute this command.
Include specific guidance on parameters, expected outcomes, and any special considerations.
Fonctionnalités de commande avancées :
  • Arguments : Utilisez des espaces réservés comme {arg1} dans les descriptions de commande
  • Sous-répertoires : Organisez les commandes dans des sous-répertoires pour l’espace de noms
  • Intégration Bash : Les commandes peuvent exécuter des scripts shell et des programmes
  • Références de fichiers : Les commandes peuvent référencer et modifier les fichiers du projet

Modèles d’invocation

Commande directe (sans conflits)
/command-name
Préfixé par le plugin (si nécessaire pour la désambiguïsation)
/plugin-name:command-name
Avec arguments (si la commande les prend en charge)
/command-name arg1 arg2

Commandes slash MCP

Les serveurs MCP peuvent exposer des invites en tant que commandes slash qui deviennent disponibles dans Claude Code. Ces commandes sont découvertes dynamiquement à partir des serveurs MCP connectés.

Format de commande

Les commandes MCP suivent le modèle :
/mcp__<server-name>__<prompt-name> [arguments]

Fonctionnalités

Découverte dynamique

Les commandes MCP sont automatiquement disponibles lorsque :
  • Un serveur MCP est connecté et actif
  • Le serveur expose les invites via le protocole MCP
  • Les invites sont récupérées avec succès lors de la connexion

Arguments

Les invites MCP peuvent accepter des arguments définis par le serveur :
# Sans arguments
> /mcp__github__list_prs

# Avec arguments
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "Bug title" high

Conventions de nommage

  • Les noms du serveur et de l’invite sont normalisés
  • Les espaces et caractères spéciaux deviennent des traits de soulignement
  • Les noms sont en minuscules pour la cohérence

Gestion des connexions MCP

Utilisez la commande /mcp pour :
  • Afficher tous les serveurs MCP configurés
  • Vérifier l’état de la connexion
  • S’authentifier auprès des serveurs activés par OAuth
  • Effacer les jetons d’authentification
  • Afficher les outils et invites disponibles de chaque serveur

Permissions MCP et caractères génériques

Lors de la configuration des permissions pour les outils MCP, notez que les caractères génériques ne sont pas pris en charge :
  • Correct : mcp__github (approuve TOUS les outils du serveur github)
  • Correct : mcp__github__get_issue (approuve l’outil spécifique)
  • Incorrect : mcp__github__* (caractères génériques non pris en charge)
Pour approuver tous les outils d’un serveur MCP, utilisez simplement le nom du serveur : mcp__servername. Pour approuver uniquement des outils spécifiques, listez chaque outil individuellement.

Outil SlashCommand

L’outil SlashCommand permet à Claude d’exécuter les commandes slash personnalisées par programmation lors d’une conversation. Cela donne à Claude la capacité d’invoquer les commandes personnalisées en votre nom si approprié. Pour encourager Claude à déclencher l’outil SlashCommand, vos instructions (invites, CLAUDE.md, etc.) doivent généralement référencer la commande par son nom avec son slash. Exemple :
> Run /write-unit-test when you are about to start writing tests.
Cet outil place les métadonnées de chaque commande slash personnalisée disponible dans le contexte jusqu’à la limite du budget de caractères. Vous pouvez utiliser /context pour surveiller l’utilisation des tokens et suivre les opérations ci-dessous pour gérer le contexte.

Commandes prises en charge par l’outil SlashCommand

L’outil SlashCommand ne prend en charge que les commandes slash personnalisées qui :
  • Sont définies par l’utilisateur. Les commandes intégrées comme /compact et /init ne sont pas prises en charge.
  • Ont le champ frontmatter description rempli. Nous utilisons la description dans le contexte.
Pour les versions Claude Code >= 1.0.124, vous pouvez voir quelles commandes slash personnalisées l’outil SlashCommand peut invoquer en exécutant claude --debug et en déclenchant une requête.

Désactiver l’outil SlashCommand

Pour empêcher Claude d’exécuter des commandes slash via l’outil :
/permissions
# Ajouter aux règles de refus : SlashCommand
Cela supprimera également l’outil SlashCommand (et les descriptions des commandes slash) du contexte.

Désactiver uniquement des commandes spécifiques

Pour empêcher une commande slash spécifique de devenir disponible, ajoutez disable-model-invocation: true au frontmatter de la commande slash. Cela supprimera également les métadonnées de la commande du contexte.

Règles de permission SlashCommand

Les règles de permission prennent en charge :
  • Correspondance exacte : SlashCommand:/commit (autorise uniquement /commit sans arguments)
  • Correspondance de préfixe : SlashCommand:/review-pr:* (autorise /review-pr avec n’importe quels arguments)

Limite du budget de caractères

L’outil SlashCommand inclut un budget de caractères pour limiter la taille des descriptions de commande affichées à Claude. Cela empêche le débordement de tokens lorsque de nombreuses commandes sont disponibles. Le budget inclut le nom, les arguments et la description de chaque commande slash personnalisée.
  • Limite par défaut : 15 000 caractères
  • Limite personnalisée : Définie via la variable d’environnement SLASH_COMMAND_TOOL_CHAR_BUDGET
Lorsque le budget de caractères est dépassé, Claude ne verra qu’un sous-ensemble des commandes disponibles. Dans /context, un avertissement s’affichera avec “M of N commands”.

Compétences vs commandes slash

Les commandes slash et les Agent Skills servent des objectifs différents dans Claude Code :

Utiliser les commandes slash pour

Les invites rapides et fréquemment utilisées :
  • Les simples extraits d’invite que vous utilisez souvent
  • Les rappels rapides ou les modèles
  • Les instructions fréquemment utilisées qui tiennent dans un fichier
Exemples :
  • /review → “Review this code for bugs and suggest improvements”
  • /explain → “Explain this code in simple terms”
  • /optimize → “Analyze this code for performance issues”

Utiliser les Skills pour

Les capacités complètes avec structure :
  • Les flux de travail complexes avec plusieurs étapes
  • Les capacités nécessitant des scripts ou des utilitaires
  • Les connaissances organisées sur plusieurs fichiers
  • Les flux de travail d’équipe que vous souhaitez standardiser
Exemples :
  • Skill de traitement PDF avec scripts de remplissage de formulaires et validation
  • Skill d’analyse de données avec documents de référence pour différents types de données
  • Skill de documentation avec guides de style et modèles

Différences clés

AspectCommandes slashAgent Skills
ComplexitéInvites simplesCapacités complexes
StructureFichier .md uniqueRépertoire avec SKILL.md + ressources
DécouverteInvocation explicite (/command)Automatique (basée sur le contexte)
FichiersUn seul fichierPlusieurs fichiers, scripts, modèles
PortéeProjet ou personnelProjet ou personnel
PartageVia gitVia git

Exemple de comparaison

En tant que commande slash :
# .claude/commands/review.md
Review this code for:
- Security vulnerabilities
- Performance issues
- Code style violations
Utilisation : /review (invocation manuelle) En tant que Skill :
.claude/skills/code-review/
├── SKILL.md (overview and workflows)
├── SECURITY.md (security checklist)
├── PERFORMANCE.md (performance patterns)
├── STYLE.md (style guide reference)
└── scripts/
    └── run-linters.sh
Utilisation : “Can you review this code?” (découverte automatique) Le Skill fournit un contexte plus riche, des scripts de validation et du matériel de référence organisé.

Quand utiliser chacun

Utiliser les commandes slash :
  • Vous invoquez la même invite à plusieurs reprises
  • L’invite tient dans un seul fichier
  • Vous voulez un contrôle explicite sur le moment où elle s’exécute
Utiliser les Skills :
  • Claude devrait découvrir la capacité automatiquement
  • Plusieurs fichiers ou scripts sont nécessaires
  • Flux de travail complexes avec étapes de validation
  • L’équipe a besoin d’une orientation détaillée et standardisée
Les commandes slash et les Skills peuvent coexister. Utilisez l’approche qui correspond à vos besoins. En savoir plus sur les Agent Skills.

Voir aussi