Comandi slash integrati

ComandoScopo
/add-dirAggiungi directory di lavoro aggiuntive
/agentsGestisci subagenti 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
/configVisualizza/modifica la configurazione
/costMostra le statistiche di utilizzo dei token (vedi guida al monitoraggio dei costi per dettagli specifici dell’abbonamento)
/doctorControlla lo stato di salute della tua installazione di Claude Code
/helpOttieni aiuto sull’utilizzo
/initInizializza il progetto con la guida CLAUDE.md
/loginCambia account Anthropic
/logoutDisconnettiti 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
/statusVisualizza lo stato dell’account e del sistema
/terminal-setupInstalla il binding dei tasti Shift+Enter per le nuove righe (solo iTerm2 e VSCode)
/vimEntra in modalità vim per alternare tra modalità inserimento e comando

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

/<nome-comando> [argomenti]

Parametri

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

Tipi di comando

Comandi di progetto

Comandi memorizzati nel tuo repository e condivisi con il tuo team. Quando elencati in /help, questi comandi mostrano “(project)” dopo la loro descrizione.

Posizione: .claude/commands/

Nell’esempio seguente, creiamo il comando /optimize:

# Crea un comando di progetto
mkdir -p .claude/commands
echo "Analizza questo codice per problemi di prestazioni e suggerisci ottimizzazioni:" > .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/

Nell’esempio seguente, creiamo il comando /security-review:

# Crea un comando personale
mkdir -p ~/.claude/commands
echo "Rivedi questo codice per vulnerabilità di sicurezza:" > ~/.claude/commands/security-review.md

Funzionalità

Namespacing

Organizza i comandi in sottodirectory. Le sottodirectory sono 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 utente (~/.claude/commands), insieme al nome della sottodirectory.

I conflitti tra comandi a livello utente e di progetto non sono supportati. Altrimenti, più comandi con lo stesso nome di file 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 segnaposto per gli argomenti:

Tutti gli argomenti con $ARGUMENTS

Il segnaposto $ARGUMENTS cattura tutti gli argomenti passati al comando:

# Definizione del comando
echo 'Risolvi il problema #$ARGUMENTS seguendo i nostri standard di codifica' > .claude/commands/fix-issue.md

# Utilizzo
> /fix-issue 123 alta-priorità
# $ARGUMENTS diventa: "123 alta-priorità"
Argomenti individuali con $1, $2, ecc.

Accedi a argomenti specifici individualmente utilizzando parametri posizionali (simile agli script shell):

# Definizione del comando  
echo 'Rivedi PR #$1 con priorità $2 e assegna a $3' > .claude/commands/review-pr.md

# Utilizzo
> /review-pr 456 alta alice
# $1 diventa "456", $2 diventa "alta", $3 diventa "alice"

Usa argomenti posizionali quando hai bisogno di:

  • Accedere agli argomenti individualmente in parti diverse del tuo comando
  • Fornire valori predefiniti per argomenti mancanti
  • Costruire comandi più strutturati con ruoli specifici dei parametri

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: Crea un commit git
---

## Contesto

- Stato git corrente: !`git status`
- Diff git corrente (modifiche staged e unstaged): !`git diff HEAD`
- Branch corrente: !`git branch --show-current`
- Commit recenti: !`git log --oneline -10`

## Il tuo compito

Basandoti sulle modifiche sopra, crea un singolo commit git.

Riferimenti ai file

Includi il contenuto dei file nei comandi utilizzando il prefisso @ per fare riferimento a file.

Ad esempio:

# Riferimento a un file specifico

Rivedi l'implementazione in @src/utils/helpers.js

# Riferimento a più file

Confronta @src/old-version.js con @src/new-version.js

Modalità di pensiero

I comandi slash possono attivare il pensiero esteso includendo parole chiave del 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 attesi 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

Ad esempio:

---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [messaggio]
description: Crea un commit git
model: claude-3-5-haiku-20241022
---

Crea un commit git con messaggio: $ARGUMENTS

Esempio utilizzando argomenti posizionali:

---
argument-hint: [numero-pr] [priorità] [assegnatario]
description: Rivedi pull request
---

Rivedi PR #$1 con priorità $2 e assegna a $3.
Concentrati su sicurezza, prestazioni e stile del codice.

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 pattern:

/mcp__<nome-server>__<nome-prompt> [argomenti]

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 "Titolo del bug" alta

Convenzioni di denominazione

  • I nomi del server e del prompt vengono normalizzati
  • Spazi e caratteri speciali diventano underscore
  • I nomi sono convertiti in minuscolo per coerenza

Gestione delle connessioni MCP

Usa il comando /mcp per:

  • Visualizzare tutti i server MCP configurati
  • Controllare lo stato della connessione
  • Autenticarsi con server abilitati OAuth
  • Cancellare i token di autenticazione
  • Visualizzare strumenti e prompt disponibili da ogni server

Permessi MCP e wildcards

Quando configuri i permessi per gli strumenti MCP, nota che le wildcards non sono supportate:

  • Corretto: mcp__github (approva TUTTI gli strumenti dal server github)
  • Corretto: mcp__github__get_issue (approva strumento specifico)
  • Errato: mcp__github__* (wildcards non supportate)

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.

Vedi anche