Comandi slash integrati

ComandoScopo
/add-dirAggiungi directory di lavoro aggiuntive
/agentsGestisci sottoagenti AI personalizzati per attività specializzate
/bugSegnala bug (invia la conversazione ad Anthropic)
/clearCancella la cronologia della conversazione
/compact [instructions]Compatta la conversazione con istruzioni di focus opzionali
/configApri l’interfaccia Impostazioni (scheda Config)
/costMostra statistiche di utilizzo dei token (vedi guida al tracciamento dei costi per dettagli specifici dell’abbonamento)
/doctorControlla lo stato di salute dell’installazione di Claude Code
/helpOttieni aiuto sull’utilizzo
/initInizializza il progetto con la guida CLAUDE.md
/loginCambia account Anthropic
/logoutEsci dal tuo account Anthropic
/mcpGestisci le connessioni del server MCP e l’autenticazione OAuth
/memoryModifica i file di memoria CLAUDE.md
/modelSeleziona o cambia il modello AI
/permissionsVisualizza o aggiorna i permessi
/pr_commentsVisualizza i commenti delle pull request
/reviewRichiedi una revisione del codice
/sandboxAbilita lo strumento bash in sandbox con isolamento del filesystem e della rete per un’esecuzione più sicura e autonoma
/rewindRiavvolgi la conversazione e/o il codice
/statusApri l’interfaccia Impostazioni (scheda Status) mostrando versione, modello, account e connettività
/terminal-setupInstalla il binding del tasto Shift+Enter per le nuove righe (solo iTerm2 e VSCode)
/usageMostra i limiti di utilizzo del piano e lo stato del limite di velocità (solo piani di abbonamento)
/vimEntra in modalità vim per alternare le modalità insert e command

Comandi slash personalizzati

I comandi slash personalizzati ti permettono di definire prompt utilizzati frequentemente come file Markdown che Claude Code può eseguire. I comandi sono organizzati per ambito (specifici del progetto o personali) e supportano il namespacing attraverso strutture di directory.

Sintassi

/<command-name> [arguments]

Parametri

ParametroDescrizione
<command-name>Nome derivato dal nome del file Markdown (senza estensione .md)
[arguments]Argomenti opzionali passati al comando

Tipi di comando

Comandi del progetto

Comandi archiviati nel tuo repository e condivisi con il tuo team. Quando elencati in /help, questi comandi mostrano “(project)” dopo la loro descrizione. Posizione: .claude/commands/ Nel seguente esempio, creiamo il comando /optimize:
# Crea un comando del progetto
mkdir -p .claude/commands
echo "Analyze this code for performance issues and suggest optimizations:" > .claude/commands/optimize.md

Comandi personali

Comandi disponibili in tutti i tuoi progetti. Quando elencati in /help, questi comandi mostrano “(user)” dopo la loro descrizione. Posizione: ~/.claude/commands/ Nel seguente esempio, creiamo il comando /security-review:
# Crea un comando personale
mkdir -p ~/.claude/commands
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md

Funzionalità

Namespacing

Organizza i comandi in sottodirectory. Le sottodirectory vengono utilizzate per l’organizzazione e appaiono nella descrizione del comando, ma non influenzano il nome del comando stesso. La descrizione mostrerà se il comando proviene dalla directory del progetto (.claude/commands) o dalla directory a livello di utente (~/.claude/commands), insieme al nome della sottodirectory. I conflitti tra comandi a livello di utente e di progetto non sono supportati. Altrimenti, più comandi con lo stesso nome di file di base possono coesistere. Ad esempio, un file in .claude/commands/frontend/component.md crea il comando /component con descrizione che mostra “(project:frontend)”. Nel frattempo, un file in ~/.claude/commands/component.md crea il comando /component con descrizione che mostra “(user)”.

Argomenti

Passa valori dinamici ai comandi utilizzando segnaposti di argomenti:
Tutti gli argomenti con $ARGUMENTS
Il segnaposto $ARGUMENTS cattura tutti gli argomenti passati al comando:
# Definizione del comando
echo 'Fix issue #$ARGUMENTS following our coding standards' > .claude/commands/fix-issue.md

# Utilizzo
> /fix-issue 123 high-priority
# $ARGUMENTS diventa: "123 high-priority"
Argomenti individuali con $1, $2, ecc.
Accedi agli argomenti specifici individualmente utilizzando parametri posizionali (simili agli script shell):
# Definizione del comando  
echo 'Review PR #$1 with priority $2 and assign to $3' > .claude/commands/review-pr.md

# Utilizzo
> /review-pr 456 high alice
# $1 diventa "456", $2 diventa "high", $3 diventa "alice"
Usa gli argomenti posizionali quando hai bisogno di:
  • Accedere agli argomenti individualmente in diverse parti del tuo comando
  • Fornire valori predefiniti per gli argomenti mancanti
  • Costruire comandi più strutturati con ruoli di parametri specifici

Esecuzione di comandi bash

Esegui comandi bash prima che il comando slash venga eseguito utilizzando il prefisso !. L’output è incluso nel contesto del comando. Devi includere allowed-tools con lo strumento Bash, ma puoi scegliere i comandi bash specifici da consentire. Ad esempio:
---
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.

Riferimenti ai file

Includi i contenuti dei file nei comandi utilizzando il prefisso @ per fare riferimento ai file. Ad esempio:
# Reference a specific file

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

# Reference multiple files

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

Modalità di pensiero

I comandi slash possono attivare il pensiero esteso includendo parole chiave di pensiero esteso.

Frontmatter

I file di comando supportano il frontmatter, utile per specificare metadati sul comando:
FrontmatterScopoPredefinito
allowed-toolsElenco degli strumenti che il comando può utilizzareEredita dalla conversazione
argument-hintGli argomenti previsti per il comando slash. Esempio: argument-hint: add [tagId] | remove [tagId] | list. Questo suggerimento viene mostrato all’utente durante l’autocompletamento del comando slash.Nessuno
descriptionBreve descrizione del comandoUtilizza la prima riga dal prompt
modelStringa del modello specifico (vedi Panoramica dei modelli)Eredita dalla conversazione
disable-model-invocationSe impedire allo strumento SlashCommand di chiamare questo comandofalse
Ad esempio:
---
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
Esempio utilizzando argomenti posizionali:
---
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.

Comandi dei plugin

I plugin possono fornire comandi slash personalizzati che si integrano perfettamente con Claude Code. I comandi dei plugin funzionano esattamente come i comandi definiti dall’utente ma vengono distribuiti attraverso i marketplace dei plugin.

Come funzionano i comandi dei plugin

I comandi dei plugin sono:
  • Namespaced: I comandi possono utilizzare il formato /plugin-name:command-name per evitare conflitti (il prefisso del plugin è opzionale a meno che non ci siano collisioni di nomi)
  • Automaticamente disponibili: Una volta installato e abilitato un plugin, i suoi comandi appaiono in /help
  • Completamente integrati: Supportano tutte le funzionalità dei comandi (argomenti, frontmatter, esecuzione bash, riferimenti ai file)

Struttura dei comandi dei plugin

Posizione: Directory commands/ nella radice del plugin Formato del file: File Markdown con frontmatter Struttura del comando di 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.
Funzionalità avanzate dei comandi:
  • Argomenti: Usa segnaposti come {arg1} nelle descrizioni dei comandi
  • Sottodirectory: Organizza i comandi in sottodirectory per il namespacing
  • Integrazione Bash: I comandi possono eseguire script shell e programmi
  • Riferimenti ai file: I comandi possono fare riferimento e modificare i file del progetto

Modelli di invocazione

Comando diretto (quando non ci sono conflitti)
/command-name
Con prefisso del plugin (quando necessario per disambiguazione)
/plugin-name:command-name
Con argomenti (se il comando li supporta)
/command-name arg1 arg2

Comandi slash MCP

I server MCP possono esporre prompt come comandi slash che diventano disponibili in Claude Code. Questi comandi vengono scoperti dinamicamente dai server MCP connessi.

Formato del comando

I comandi MCP seguono il modello:
/mcp__<server-name>__<prompt-name> [arguments]

Funzionalità

Scoperta dinamica

I comandi MCP sono automaticamente disponibili quando:
  • Un server MCP è connesso e attivo
  • Il server espone prompt attraverso il protocollo MCP
  • I prompt vengono recuperati con successo durante la connessione

Argomenti

I prompt MCP possono accettare argomenti definiti dal server:
# Senza argomenti
> /mcp__github__list_prs

# Con argomenti
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "Bug title" high

Convenzioni di denominazione

  • I nomi del server e del prompt vengono normalizzati
  • Gli spazi e i caratteri speciali diventano trattini bassi
  • I nomi vengono convertiti in minuscoli per coerenza

Gestione delle connessioni MCP

Usa il comando /mcp per:
  • Visualizzare tutti i server MCP configurati
  • Controllare lo stato della connessione
  • Autenticarsi con i server abilitati per OAuth
  • Cancellare i token di autenticazione
  • Visualizzare gli strumenti e i prompt disponibili da ogni server

Permessi MCP e caratteri jolly

Quando configuri i permessi per gli strumenti MCP, nota che i caratteri jolly non sono supportati:
  • Corretto: mcp__github (approva TUTTI gli strumenti dal server github)
  • Corretto: mcp__github__get_issue (approva lo strumento specifico)
  • Errato: mcp__github__* (i caratteri jolly non sono supportati)
Per approvare tutti gli strumenti da un server MCP, usa solo il nome del server: mcp__servername. Per approvare solo strumenti specifici, elenca ogni strumento individualmente.

Strumento SlashCommand

Lo strumento SlashCommand consente a Claude di eseguire i comandi slash personalizzati a livello di programmazione durante una conversazione. Questo dà a Claude la capacità di invocare comandi personalizzati per tuo conto quando appropriato. Per incoraggiare Claude a attivare lo strumento SlashCommand, le tue istruzioni (prompt, CLAUDE.md, ecc.) generalmente devono fare riferimento al comando per nome con il suo slash. Esempio:
> Run /write-unit-test when you are about to start writing tests.
Questo strumento inserisce i metadati di ogni comando slash personalizzato disponibile nel contesto fino al limite del budget dei caratteri. Puoi usare /context per monitorare l’utilizzo dei token e seguire le operazioni di seguito per gestire il contesto.

Comandi supportati dallo strumento SlashCommand

Lo strumento SlashCommand supporta solo i comandi slash personalizzati che:
  • Sono definiti dall’utente. I comandi integrati come /compact e /init non sono supportati.
  • Hanno il campo frontmatter description compilato. Usiamo la description nel contesto.
Per le versioni di Claude Code >= 1.0.124, puoi vedere quali comandi slash personalizzati lo strumento SlashCommand può invocare eseguendo claude --debug e attivando una query.

Disabilita lo strumento SlashCommand

Per impedire a Claude di eseguire qualsiasi comando slash tramite lo strumento:
/permissions
# Add to deny rules: SlashCommand
Questo rimuoverà anche lo strumento SlashCommand (e le descrizioni dei comandi slash) dal contesto.

Disabilita solo comandi specifici

Per impedire a un comando slash specifico di diventare disponibile, aggiungi disable-model-invocation: true al frontmatter del comando slash. Questo rimuoverà anche i metadati del comando dal contesto.

Regole di permesso SlashCommand

Le regole di permesso supportano:
  • Corrispondenza esatta: SlashCommand:/commit (consente solo /commit senza argomenti)
  • Corrispondenza del prefisso: SlashCommand:/review-pr:* (consente /review-pr con qualsiasi argomento)

Limite del budget dei caratteri

Lo strumento SlashCommand include un budget di caratteri per limitare la dimensione delle descrizioni dei comandi mostrate a Claude. Questo previene l’overflow dei token quando molti comandi sono disponibili. Il budget include il nome, gli argomenti e la descrizione di ogni comando slash personalizzato.
  • Limite predefinito: 15.000 caratteri
  • Limite personalizzato: Impostato tramite la variabile di ambiente SLASH_COMMAND_TOOL_CHAR_BUDGET
Quando il budget dei caratteri viene superato, Claude vedrà solo un sottoinsieme dei comandi disponibili. In /context, un avviso verrà mostrato con “M di N comandi”.

Competenze vs comandi slash

I comandi slash e le Competenze dell’Agente servono scopi diversi in Claude Code:

Usa i comandi slash per

Prompt rapidi e utilizzati frequentemente:
  • Semplici frammenti di prompt che usi spesso
  • Promemoria rapidi o modelli
  • Istruzioni utilizzate frequentemente che si adattano in un file
Esempi:
  • /review → “Review this code for bugs and suggest improvements”
  • /explain → “Explain this code in simple terms”
  • /optimize → “Analyze this code for performance issues”

Usa le Competenze per

Capacità complete con struttura:
  • Flussi di lavoro complessi con più passaggi
  • Capacità che richiedono script o utilità
  • Conoscenze organizzate su più file
  • Flussi di lavoro del team che desideri standardizzare
Esempi:
  • Competenza di elaborazione PDF con script di compilazione moduli e convalida
  • Competenza di analisi dei dati con documenti di riferimento per diversi tipi di dati
  • Competenza di documentazione con guide di stile e modelli

Differenze chiave

AspettoComandi SlashCompetenze dell’Agente
ComplessitàPrompt sempliciCapacità complesse
StrutturaFile .md singoloDirectory con SKILL.md + risorse
ScopertaInvocazione esplicita (/command)Automatica (basata sul contesto)
FileUn file soloPiù file, script, modelli
AmbitoProgetto o personaleProgetto o personale
CondivisioneVia gitVia git

Esempio di confronto

Come comando slash:
# .claude/commands/review.md
Review this code for:
- Security vulnerabilities
- Performance issues
- Code style violations
Utilizzo: /review (invocazione manuale) Come Competenza:
.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
Utilizzo: “Can you review this code?” (scoperta automatica) La Competenza fornisce contesto più ricco, script di convalida e materiale di riferimento organizzato.

Quando usare ciascuno

Usa i comandi slash:
  • Invochi lo stesso prompt ripetutamente
  • Il prompt si adatta in un file singolo
  • Desideri un controllo esplicito su quando viene eseguito
Usa le Competenze:
  • Claude dovrebbe scoprire la capacità automaticamente
  • Sono necessari più file o script
  • Flussi di lavoro complessi con passaggi di convalida
  • Il team ha bisogno di una guida standardizzata e dettagliata
Sia i comandi slash che le Competenze possono coesistere. Usa l’approccio che si adatta alle tue esigenze. Scopri di più su Competenze dell’Agente.

Vedi anche