Vai al contenuto principale

Comandi slash integrati

ComandoScopo
/add-dirAggiungi directory di lavoro aggiuntive
/agentsGestisci sottoagenti AI personalizzati per attività specializzate
/bashesElenca e gestisci attività in background
/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)
/contextVisualizza l’utilizzo del contesto attuale come griglia colorata
/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
/exitEsci dal REPL
/export [filename]Esporta la conversazione attuale in un file o negli appunti
/helpOttieni aiuto sull’utilizzo
/hooksGestisci configurazioni di hook per eventi degli strumenti
/initInizializza il progetto con la guida CLAUDE.md
/loginCambia account Anthropic
/logoutEsci dal tuo account Anthropic
/mcpGestisci connessioni server MCP e autenticazione OAuth
/memoryModifica file di memoria CLAUDE.md
/modelSeleziona o cambia il modello AI
/output-style [style]Imposta lo stile di output direttamente o da un menu di selezione
/permissionsVisualizza o aggiorna permessi
/pr_commentsVisualizza commenti delle pull request
/privacy-settingsVisualizza e aggiorna le tue impostazioni di privacy
/reviewRichiedi 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à
/statuslineConfigura l’interfaccia della linea di stato di Claude Code
/terminal-setupInstalla il binding del tasto Shift+Enter per le nuove righe (solo iTerm2 e VSCode)
/todosElenca gli elementi todo attuali
/usageMostra i limiti di utilizzo del piano e lo stato del limite di velocità (solo piani di abbonamento)
/vimEntra in modalità vim per alternare modalità inserimento e comando

Comandi slash personalizzati

I comandi slash personalizzati ti permettono di definire prompt frequentemente utilizzati 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 di 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 di progetto
mkdir -p .claude/commands
echo "Analizza questo codice per problemi di performance 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/ Nel seguente esempio, 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 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 'Correggi il problema #$ARGUMENTS seguendo i nostri standard di codifica' > .claude/commands/fix-issue.md

# Utilizzo
> /fix-issue 123 high-priority
# $ARGUMENTS diventa: "123 high-priority"
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 high alice
# $1 diventa "456", $2 diventa "high", $3 diventa "alice"
Usa argomenti posizionali quando hai bisogno di:
  • Accedere agli argomenti individualmente in diverse parti del tuo comando
  • Fornire valori predefiniti per 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: Crea un commit git
---

## Contesto

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

## Il tuo compito

In base ai cambiamenti di cui sopra, crea un singolo commit git.

Riferimenti ai file

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

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

# Fai 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 di pensiero esteso.

Frontmatter

I file di comando supportano frontmatter, utile per specificare metadati sul comando:
FrontmatterScopoPredefinito
allowed-toolsElenco di 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 di modello specifica (vedi Panoramica dei modelli)Eredita dalla conversazione
disable-model-invocationSe prevenire al tool SlashCommand di chiamare questo comandofalse
Ad esempio:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Crea un commit git
model: claude-3-5-haiku-20241022
---

Crea un commit git con messaggio: $ARGUMENTS
Esempio utilizzando argomenti posizionali:
---
argument-hint: [pr-number] [priority] [assignee]
description: Rivedi pull request
---

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

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:
  • Con namespace: 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 che un plugin è installato e abilitato, 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 file: File Markdown con frontmatter Struttura di comando di base:
---
description: Breve descrizione di cosa fa il comando
---

# Nome del comando

Istruzioni dettagliate per Claude su come eseguire questo comando.
Includi una guida specifica su parametri, risultati attesi e considerazioni speciali.
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 file di 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 underscore
  • I nomi vengono convertiti in minuscole 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 per OAuth
  • Cancellare i token di autenticazione
  • Visualizzare gli strumenti e i prompt disponibili da ogni server

Permessi MCP e wildcard

Quando configuri permessi per gli strumenti MCP, nota che i wildcard non sono supportati:
  • Corretto: mcp__github (approva TUTTI gli strumenti dal server github)
  • Corretto: mcp__github__get_issue (approva uno strumento specifico)
  • Errato: mcp__github__* (i wildcard 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 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:
> Esegui /write-unit-test quando stai per iniziare a scrivere i test.
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 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 prevenire a Claude di eseguire qualsiasi comando slash tramite lo strumento:
/permissions
# Aggiungi alle regole di negazione: SlashCommand
Questo rimuoverà anche lo strumento SlashCommand (e le descrizioni dei comandi slash) dal contesto.

Disabilita solo comandi specifici

Per prevenire 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 di 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”.

Skill vs comandi slash

I comandi slash e le Agent Skills servono scopi diversi in Claude Code:

Usa i comandi slash per

Prompt rapidi e frequentemente utilizzati:
  • Semplici snippet di prompt che usi spesso
  • Promemoria rapidi o modelli
  • Istruzioni frequentemente utilizzate che si adattano a un file
Esempi:
  • /review → “Rivedi questo codice per bug e suggerisci miglioramenti”
  • /explain → “Spiega questo codice in termini semplici”
  • /optimize → “Analizza questo codice per problemi di performance”

Usa le Skill per

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

Differenze chiave

AspettoComandi SlashAgent Skills
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
Rivedi questo codice per:
- Vulnerabilità di sicurezza
- Problemi di performance
- Violazioni dello stile del codice
Utilizzo: /review (invocazione manuale) Come Skill:
.claude/skills/code-review/
├── SKILL.md (panoramica e flussi di lavoro)
├── SECURITY.md (checklist di sicurezza)
├── PERFORMANCE.md (modelli di performance)
├── STYLE.md (riferimento guida di stile)
└── scripts/
    └── run-linters.sh
Utilizzo: “Puoi rivedere questo codice?” (scoperta automatica) La Skill 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 a un singolo file
  • Vuoi il controllo esplicito su quando viene eseguito
Usa le Skill:
  • 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 Skill possono coesistere. Usa l’approccio che si adatta alle tue esigenze. Scopri di più su Agent Skills.

Vedi anche