Les commandes slash fournissent un moyen de contrôler les sessions Claude Code avec des commandes spéciales qui commencent par /. Ces commandes peuvent être envoyées via le SDK pour effectuer des actions comme effacer l'historique de conversation, compacter les messages ou obtenir de l'aide.
Le SDK Claude Agent fournit des informations sur les commandes slash disponibles dans le message d'initialisation du système. Accédez à ces informations au démarrage de votre session :
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Hello Claude",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
console.log("Available slash commands:", message.slash_commands);
// Example output: ["/compact", "/clear", "/help"]
}
}Envoyez des commandes slash en les incluant dans votre chaîne de prompt, tout comme du texte ordinaire :
import { query } from "@anthropic-ai/claude-agent-sdk";
// Send a slash command
for await (const message of query({
prompt: "/compact",
options: { maxTurns: 1 }
})) {
if (message.type === "result") {
console.log("Command executed:", message.result);
}
}/compact - Compacter l'historique de conversationLa commande /compact réduit la taille de votre historique de conversation en résumant les messages plus anciens tout en préservant le contexte important :
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "/compact",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "compact_boundary") {
console.log("Compaction completed");
console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);
console.log("Trigger:", message.compact_metadata.trigger);
}
}/clear - Effacer la conversationLa commande /clear démarre une nouvelle conversation en effaçant tout l'historique précédent :
import { query } from "@anthropic-ai/claude-agent-sdk";
// Clear conversation and start fresh
for await (const message of query({
prompt: "/clear",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
console.log("Conversation cleared, new session started");
console.log("Session ID:", message.session_id);
}
}En plus d'utiliser les commandes slash intégrées, vous pouvez créer vos propres commandes personnalisées qui sont disponibles via le SDK. Les commandes personnalisées sont définies comme des fichiers markdown dans des répertoires spécifiques, de la même manière que les sous-agents sont configurés.
Les commandes slash personnalisées sont stockées dans des répertoires désignés en fonction de leur portée :
.claude/commands/ - Disponibles uniquement dans le projet actuel~/.claude/commands/ - Disponibles dans tous vos projetsChaque commande personnalisée est un fichier markdown où :
.md) devient le nom de la commandeCréez .claude/commands/refactor.md :
Refactor the selected code to improve readability and maintainability.
Focus on clean code principles and best practices.Cela crée la commande /refactor que vous pouvez utiliser via le SDK.
Créez .claude/commands/security-check.md :
---
allowed-tools: Read, Grep, Glob
description: Run security vulnerability scan
model: claude-opus-4-6
---
Analyze the codebase for security vulnerabilities including:
- SQL injection risks
- XSS vulnerabilities
- Exposed credentials
- Insecure configurationsUne fois définies dans le système de fichiers, les commandes personnalisées sont automatiquement disponibles via le SDK :
import { query } from "@anthropic-ai/claude-agent-sdk";
// Use a custom command
for await (const message of query({
prompt: "/refactor src/auth/login.ts",
options: { maxTurns: 3 }
})) {
if (message.type === "assistant") {
console.log("Refactoring suggestions:", message.message);
}
}
// Custom commands appear in the slash_commands list
for await (const message of query({
prompt: "Hello",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
// Will include both built-in and custom commands
console.log("Available commands:", message.slash_commands);
// Example: ["/compact", "/clear", "/help", "/refactor", "/security-check"]
}
}Les commandes personnalisées supportent les arguments dynamiques en utilisant des espaces réservés :
Créez .claude/commands/fix-issue.md :
---
argument-hint: [issue-number] [priority]
description: Fix a GitHub issue
---
Fix issue #$1 with priority $2.
Check the issue description and implement the necessary changes.Utilisez dans le SDK :
import { query } from "@anthropic-ai/claude-agent-sdk";
// Pass arguments to custom command
for await (const message of query({
prompt: "/fix-issue 123 high",
options: { maxTurns: 5 }
})) {
// Command will process with $1="123" and $2="high"
if (message.type === "result") {
console.log("Issue fixed:", message.result);
}
}Les commandes personnalisées peuvent exécuter des commandes bash et inclure leur sortie :
Créez .claude/commands/git-commit.md :
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---
## Context
- Current status: !`git status`
- Current diff: !`git diff HEAD`
## Task
Create a git commit with appropriate message based on the changes.Incluez le contenu des fichiers en utilisant le préfixe @ :
Créez .claude/commands/review-config.md :
---
description: Review configuration files
---
Review the following configuration files for issues:
- Package config: @package.json
- TypeScript config: @tsconfig.json
- Environment config: @.env
Check for security issues, outdated dependencies, and misconfigurations.Organisez les commandes dans des sous-répertoires pour une meilleure structure :
.claude/commands/
├── frontend/
│ ├── component.md # Creates /component (project:frontend)
│ └── style-check.md # Creates /style-check (project:frontend)
├── backend/
│ ├── api-test.md # Creates /api-test (project:backend)
│ └── db-migrate.md # Creates /db-migrate (project:backend)
└── review.md # Creates /review (project)Le sous-répertoire apparaît dans la description de la commande mais n'affecte pas le nom de la commande lui-même.
Créez .claude/commands/code-review.md :
---
allowed-tools: Read, Grep, Glob, Bash(git diff:*)
description: Comprehensive code review
---
## Changed Files
!`git diff --name-only HEAD~1`
## Detailed Changes
!`git diff HEAD~1`
## Review Checklist
Review the above changes for:
1. Code quality and readability
2. Security vulnerabilities
3. Performance implications
4. Test coverage
5. Documentation completeness
Provide specific, actionable feedback organized by priority.Créez .claude/commands/test.md :
---
allowed-tools: Bash, Read, Edit
argument-hint: [test-pattern]
description: Run tests with optional pattern
---
Run tests matching pattern: $ARGUMENTS
1. Detect the test framework (Jest, pytest, etc.)
2. Run tests with the provided pattern
3. If tests fail, analyze and fix them
4. Re-run to verify fixesUtilisez ces commandes via le SDK :
import { query } from "@anthropic-ai/claude-agent-sdk";
// Run code review
for await (const message of query({
prompt: "/code-review",
options: { maxTurns: 3 }
})) {
// Process review feedback
}
// Run specific tests
for await (const message of query({
prompt: "/test auth",
options: { maxTurns: 5 }
})) {
// Handle test results
}Was this page helpful?