SpyBara
Go Premium

agent-sdk/slash-commands.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

444 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Slash Commands nell'SDK

Scopri come utilizzare slash commands per controllare le sessioni di Claude Code attraverso l'SDK

Gli slash commands forniscono un modo per controllare le sessioni di Claude Code con comandi speciali che iniziano con /. Questi comandi possono essere inviati attraverso l'SDK per eseguire azioni come compattare il contesto, elencare l'utilizzo del contesto o invocare comandi personalizzati. Solo i comandi che funzionano senza un terminale interattivo sono dispatchable attraverso l'SDK; il messaggio system/init elenca quelli disponibili nella vostra sessione.

Scoprire gli Slash Commands Disponibili

L'SDK Claude Agent fornisce informazioni sui slash commands disponibili nel messaggio di inizializzazione del sistema. Accedete a queste informazioni quando la vostra sessione inizia:

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", "/context", "/usage"]
}
}

Invio di Slash Commands

Inviate slash commands includendoli nella vostra stringa di prompt, proprio come testo normale:

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);
}
}

Slash Commands Comuni

/compact - Compatta la Cronologia della Conversazione

Il comando /compact riduce la dimensione della vostra cronologia di conversazione riassumendo i messaggi più vecchi preservando il contesto importante:

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);
}
}

Cancellazione della conversazione

Il comando interattivo /clear non è disponibile nell'SDK. Ogni chiamata query() inizia già una conversazione nuova, quindi per cancellare il contesto, terminate la query() corrente e avviate una nuova. La conversazione precedente rimane su disco e può essere ripresa passando il suo ID di sessione all'opzione resume.

Creazione di Slash Commands Personalizzati

Oltre a utilizzare gli slash commands integrati, potete creare i vostri comandi personalizzati disponibili attraverso l'SDK. I comandi personalizzati sono definiti come file markdown in directory specifiche, simile a come sono configurati i subagenti.

Posizioni dei File

I comandi slash personalizzati sono archiviati in directory designate in base al loro ambito:

  • Comandi di progetto: .claude/commands/ - Disponibili solo nel progetto corrente (legacy; preferire .claude/skills/)
  • Comandi personali: ~/.claude/commands/ - Disponibili in tutti i vostri progetti (legacy; preferire ~/.claude/skills/)

Formato del File

Ogni comando personalizzato è un file markdown dove:

  • Il nome del file (senza estensione .md) diventa il nome del comando
  • Il contenuto del file definisce cosa fa il comando
  • Il frontmatter YAML opzionale fornisce la configurazione

Esempio di Base

Create .claude/commands/refactor.md:

Refactor the selected code to improve readability and maintainability.
Focus on clean code principles and best practices.

Questo crea il comando /refactor che potete utilizzare attraverso l'SDK.

Con Frontmatter

Create .claude/commands/security-check.md:

---
allowed-tools: Read, Grep, Glob
description: Run security vulnerability scan
model: claude-opus-4-7
---

Analyze the codebase for security vulnerabilities including:
- SQL injection risks
- XSS vulnerabilities
- Exposed credentials
- Insecure configurations

Utilizzo di Comandi Personalizzati nell'SDK

Una volta definiti nel filesystem, i comandi personalizzati sono automaticamente disponibili attraverso l'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", "/context", "/usage", "/refactor", "/security-check"]
}
}

Funzionalità Avanzate

Argomenti e Segnaposti

I comandi personalizzati supportano argomenti dinamici utilizzando segnaposti:

Create .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.

Utilizzo nell'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);
}
}

Esecuzione di Comandi Bash

I comandi personalizzati possono eseguire comandi bash e includere il loro output:

Create .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.

Riferimenti ai File

Includete i contenuti dei file utilizzando il prefisso @:

Create .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.

Organizzazione con Namespacing

Organizzate i comandi in sottodirectory per una struttura migliore:

.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)

La sottodirectory appare nella descrizione del comando ma non influisce sul nome del comando stesso.

Esempi Pratici

Comando di Revisione del Codice

Create .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.

Comando Test Runner

Create .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 fixes

Utilizzate questi comandi attraverso l'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
}

Vedere Anche