7 · Slash Commands
I comandi slash sono le scorciatoie di Claude Code: digiti / più un nome, ed esegui una funzione o
un prompt confezionato. La parte interessante non sono quelli integrati — quelli si imparano usandoli —
ma il fatto che puoi crearne di tuoi: ogni prompt che ti ritrovi a riscrivere diventa un file di
testo, e da quel momento è un comando. È il primo gradino della personalizzazione, e il più
sottovalutato: cinque minuti per scriverne uno, risparmiati per sempre.
Obiettivi
Sezione intitolata “Obiettivi”- Conoscere i comandi integrati che useresti ogni giorno, senza doverli cercare.
- Distinguere comandi built-in, skill bundled e comandi tuoi.
- Creare un comando personalizzato in meno di un minuto, a livello utente o di progetto.
- Passare argomenti a un comando e concatenarne più d’uno in un solo messaggio.
- Sapere chi vince quando due comandi hanno lo stesso nome.
Concetti chiave
Sezione intitolata “Concetti chiave”Tre famiglie sotto lo stesso slash. Quello che digiti dopo / può essere una di tre cose:
- Comandi built-in — funzioni della CLI:
/clear,/compact,/model,/login. Eseguono codice. - Skill bundled — prompt confezionati che arrivano con Claude Code:
/code-review,/debug,/dataviz,/init. Sono prompt consegnati a Claude, che Claude può anche invocare da solo. - Comandi e skill tuoi — quelli che scrivi tu.
I comandi custom sono stati unificati con le skill. È il punto che confonde di più chi arriva da guide
vecchie. Un file in .claude/commands/deploy.md e una skill in .claude/skills/deploy/SKILL.md creano
entrambi /deploy e funzionano allo stesso modo. I tuoi .claude/commands/ esistenti continuano a
funzionare. Le skill aggiungono opzioni: una directory per i file di supporto, frontmatter per controllare
chi le invoca, e la possibilità che Claude le carichi da solo quando servono.
La conseguenza pratica: commands/ è la forma breve, skills/ è la forma completa. Un prompt in un
file solo, senza opzioni particolari? commands/. Serve altro? skills/, che vediamo nel
modulo 8.
Puoi concatenarne fino a sei in un solo messaggio (la prima più altre cinque). Digitando
/write-tests /fix-issue 123 carichi entrambe le skill e passi
il testo finale 123 come argomento a ciascuna. Claude Code espande la prima skill più altre cinque.
L’espansione si ferma alla prima parola che non è una skill “inline” invocabile dall’utente — dove
inline vuol dire una skill che si espande dentro la tua conversazione, com’è il default; quelle che
girano come subagent separato (tipo /code-review) chiudono la catena. Quella parola e tutto ciò che
segue diventa il testo degli argomenti.
I comandi integrati
Sezione intitolata “I comandi integrati”Le tabelle che seguono sono materiale di consultazione, non di studio: scorrile una volta per
sapere cosa esiste, e torna qui quando ti serve. Molti comandi toccano funzioni che il corso spiega in
moduli successivi — dove è così, la tabella lo dice. Il modo più rapido per scoprirli resta comunque
digitare / in una sessione: si apre il menu completo con la ricerca.
Ogni giorno
Sezione intitolata “Ogni giorno”| Comando | Cosa fa |
|---|---|
/help |
Mostra l’aiuto e i comandi disponibili |
/clear (/reset, /new) |
Nuova conversazione, contesto azzerato |
/compact |
Riassume la conversazione per liberare contesto |
/context |
Visualizza l’uso del contesto |
/model |
Cambia modello |
/exit (/quit) |
Esce dalla CLI |
/diff |
Apre il visualizzatore di diff interattivo |
/rewind |
Menu di rewind di conversazione e codice |
Contesto e memoria
Sezione intitolata “Contesto e memoria”| Comando | Cosa fa |
|---|---|
/memory |
Apre ed edita i file CLAUDE.md e la cartella di auto memory |
/init |
Inizializza il progetto con un CLAUDE.md |
/autocompact |
Imposta la soglia di compattazione automatica |
/btw |
Domanda laterale che non entra nella cronologia |
/recap |
Genera un riassunto della sessione |
/export |
Esporta la conversazione come testo |
/add-dir |
Aggiunge una directory di lavoro accessibile |
/cd |
Sposta la sessione in un’altra directory |
Permessi, configurazione e diagnostica
Sezione intitolata “Permessi, configurazione e diagnostica”| Comando | Cosa fa |
|---|---|
/plan |
Entra in Plan Mode per il prompt successivo |
/permissions (/allowed-tools) |
Gestisce i permessi dei tool |
/config (/settings) |
Apre l’interfaccia delle impostazioni |
/doctor (/checkup) |
Diagnostica di setup, con proposte di correzione |
/status |
Account, metodo di login, stato della configurazione |
/usage (/cost) |
Consumo del piano, per sessione e per settimana |
/insights |
Report di analisi dell’utilizzo |
/debug |
Attiva il logging di debug |
/fewer-permission-prompts |
Costruisce un’allowlist per ridurre le conferme |
/effort |
Imposta il livello di effort del modello |
/fast |
Attiva o disattiva la fast mode |
/keybindings |
Apre il file delle scorciatoie |
Estensioni
Sezione intitolata “Estensioni”| Comando | Cosa fa |
|---|---|
/mcp |
Gestisce le connessioni ai server MCP |
/hooks |
Mostra la configurazione degli hook |
/agents |
Gestisce la configurazione dei subagent |
/plugin |
Gestisce i plugin |
/skills |
Menu delle skill, con la visibilità per ciascuna |
/reload-skills |
Ri-scansiona le directory delle skill |
/reload-plugins |
Ricarica i plugin attivi |
/ide |
Gestisce l’integrazione con l’IDE |
/chrome |
Configura Claude in Chrome |
Lavoro parallelo e asincrono
Sezione intitolata “Lavoro parallelo e asincrono”Questi comandi appartengono ai temi dei moduli 11 (più agenti che collaborano) e 15 (sessioni che continuano senza di te): qui bastano i nomi, lì il come e il perché.
| Comando | Cosa fa |
|---|---|
/background (/bg) |
Manda la sessione a lavorare da sola in sottofondo, mentre tu fai altro |
/fork |
Ne crea una copia indipendente che prosegue in sottofondo |
/branch |
Crea un “ramo” della conversazione: provi una strada senza perdere l’altra |
/subtask |
Delega un compito a un aiutante che eredita tutta la conversazione (modulo 11) |
/goal |
Fissa un traguardo: Claude continua a lavorare finché non è raggiunto |
/loop (/proactive) |
Ripete un prompt a intervalli regolari |
/batch |
Orchestra la stessa modifica su molti file in parallelo |
/remote-control |
Rende la sessione visibile da browser e telefono (modulo 15) |
/desktop (/app) |
Continua la conversazione nell’app desktop |
/list-agents (/peers) |
Elenca gli agenti attivi a cui puoi mandare messaggi |
/statusline |
Personalizza la barra di stato del terminale |
Skill bundled
Sezione intitolata “Skill bundled”| Comando | Cosa fa |
|---|---|
/code-review (/review) |
Rivede la diff corrente o una PR alla ricerca di bug |
/deep-research |
Distribuisce ricerche sul web e sintetizza un report |
/dataviz |
Guida di design per grafici e visualizzazioni |
/autofix-pr |
Sorveglia una PR e corregge i fallimenti di CI |
/security-review |
Revisione di sicurezza delle modifiche pendenti |
/powerup |
Lezioni interattive sulle funzionalità |
Git e integrazioni
Sezione intitolata “Git e integrazioni”| Comando | Cosa fa |
|---|---|
/install-github-app |
Installa la Claude GitHub App |
/install-slack-app |
Installa l’app Claude per Slack |
/bug (/share) |
Segnala un bug con il contesto della sessione |
/feedback |
Invia feedback sul prodotto |
/release-notes |
Mostra il changelog |
Creare un comando personalizzato
Sezione intitolata “Creare un comando personalizzato”La forma minima è un file markdown. Il nome del file diventa il comando.
-
Scegli il livello.
Livello Percorso Disponibile in Personale ~/.claude/commands/<nome>.mdTutti i tuoi progetti Progetto .claude/commands/<nome>.mdSolo questo progetto, condiviso col team via git -
Scrivi il prompt. Non serve frontmatter:
~/.claude/commands/spiega.md Spiega il codice selezionato o il file indicato a un collega che conosce illinguaggio ma non questo progetto.Struttura la risposta così:1. Cosa fa, in una frase2. Perché esiste — quale problema risolve3. Le due o tre decisioni non ovvie, con il motivo4. Cosa può rompersi se lo modifichiNiente parafrasi riga per riga: se una cosa si legge dal codice, non ripeterla. -
Usalo.
/spiegaSe il comando non compare,
/reload-skillsri-scansiona le directory.
Argomenti
Sezione intitolata “Argomenti”Il segnaposto $ARGUMENTS viene sostituito con tutto ciò che segue il nome del comando:
Fix GitHub issue $ARGUMENTS following our coding standards.
1. Read the issue description with `gh issue view`2. Understand the requirements3. Implement the fix4. Write tests5. Create a commitLanciando /fix-issue 123, Claude riceve “Fix GitHub issue 123 following our coding standards…”.
Per accedere ai singoli argomenti per posizione, $ARGUMENTS[N] o la forma breve $N:
Migrate the $0 component from $1 to $2.Preserve all existing behavior and tests./migrate-component SearchBar React Vue sostituisce $0 con SearchBar, $1 con React, $2 con Vue.
Contesto dinamico
Sezione intitolata “Contesto dinamico”La sintassi !`<comando>` esegue un comando di shell prima che il contenuto arrivi a Claude, e
sostituisce il segnaposto con l’output. Claude riceve i dati veri, non il comando:
## Modifiche correnti
!`git diff HEAD`
## Istruzioni
Riassumi le modifiche qui sopra in due o tre bullet, poi elenca i rischi che noti:gestione degli errori mancante, valori hardcoded, test da aggiornare. Se la diff èvuota, dillo e basta.È la differenza tra un comando che chiede a Claude di andare a cercare la diff e uno che gliela porta già dentro: meno giri, meno contesto, risposta ancorata al working tree reale.
Chi vince quando i nomi si scontrano
Sezione intitolata “Chi vince quando i nomi si scontrano”L’ordine di risoluzione, verificato sui docs:
- Tra livelli: enterprise batte personale, personale batte progetto.
Con un
deploysia in~/.claude/skills/sia in.claude/skills/del progetto,/deployesegue quello personale. - Sulle skill bundled: una skill tua con lo stesso nome sostituisce quella integrata — ma non i suoi
alias. Un
code-reviewdi progetto rimpiazza/code-review, mentre digitando l’alias/reviewparte sempre quella integrata. - I plugin non collidono: usano il namespace
nome-plugin:nome-skill.my-plugin/skills/deploy/diventa/my-plugin:deploye convive con undeploydi progetto. - Skill batte comando: se esistono sia
.claude/commands/deploy.mdsia.claude/skills/deploy/SKILL.md,/deployesegue la skill. - Locale batte sincronizzato: una skill salvata sui tuoi file sovrascrive una con lo stesso nome sincronizzata dal tuo account claude.ai — le skill create sul sito ti seguono anche nella CLI, lo vedrai nel modulo 8.
Esempio guidato
Sezione intitolata “Esempio guidato”Costruiamo due comandi che si usano davvero: uno personale, uno di progetto.
-
Comando personale: revisione pre-commit. Vale in tutti i tuoi progetti.
Terminal window mkdir -p ~/.claude/commandsTerminal window New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\commands"Prima, una parola sul comando git usato qui dentro: lo staging è l’“anticamera” del commit — con
git addmetti in staging le modifiche che intendi salvare, egit diff --stagedmostra esattamente quelle. È il momento perfetto per un ultimo controllo: stai guardando ciò che sta per entrare nella storia del progetto, niente di più e niente di meno.~/.claude/commands/pre-commit.md ## Diff da rivedere!`git diff --staged`## File modificati!`git diff --staged --name-only`## IstruzioniRivedi la diff in staging cercando **solo** questi problemi:- Segreti, chiavi o credenziali finiti nel codice- Stampe di debug dimenticate (`console.log`, `print` e simili)- `TODO` o `FIXME` aggiunti in questa diff- File che non c'entrano con il resto della modificaPer ciascun problema indica file e riga. Se non trovi nulla, rispondiesattamente `OK` e nient'altro. Non commentare lo stile.(I due comandi tra
!`…`girano prima che Claude legga: la diff arriva già dentro il prompt.) -
Provalo. Metti qualcosa in staging e lancia:
/pre-commitOutput atteso su una diff pulita:
OK -
Comando di progetto: aprire una PR con la convenzione del team. Questo si committa, così tutto il team apre le PR nello stesso formato. Usa
gh, la CLI ufficiale di GitHub (si installa da cli.github.com, poigh auth login): è il ponte tra il terminale e GitHub, e Claude la sa usare bene.Dentro ci sono due notazioni git che vale la pena distinguere una volta per tutte:
origin/main..HEAD(due punti) = “i commit che ho io e main non ha” — la lista dei tuoi commit;origin/main...HEAD(tre punti, nel contesto digit diff) = “le differenze rispetto al punto in cui mi sono staccato da main” — la diff complessiva del tuo lavoro..claude/commands/pr.md ## Commit di questo branch!`git log --oneline origin/main..HEAD`## Riepilogo delle modifiche!`git diff origin/main...HEAD --stat`## IstruzioniApri una pull request per il branch corrente con `gh pr create`.Se l'utente ha passato del testo dopo il comando, è il titolo da usare: $ARGUMENTSAltrimenti componi tu il titolo: conventional commit, in inglese, minuscolodopo il prefisso (es. "feat: add password reset flow").Corpo in italiano, con esattamente queste sezioni:### Cosa cambiaDue o tre bullet, dal punto di vista di chi usa il software.### PerchéUna frase. Se c'è una issue collegata, linkala.### Come verificarloPassi concreti che il revisore può eseguire.Se ci sono meno di due commit sul branch, fermati e chiedi conferma primadi aprire la PR. -
Provalo con un argomento.
/pr aggiunge la validazione degli input -
Concatenali. In un solo messaggio:
/pre-commit /prVengono caricati entrambi. Ricorda il limite: la prima skill più altre cinque.
-
Committa il comando di progetto, così ce l’ha tutto il team:
Terminal window git add .claude/commands/pr.mdgit commit -m "chore: comando /pr con la convenzione PR del team"
Esercizio
Sezione intitolata “Esercizio”Crea un comando che risolva un fastidio reale del tuo lavoro.
- Pensa a un prompt che hai riscritto almeno due volte questa settimana. Trasformalo in un comando.
- Fallo lavorare su dati veri, iniettando il contesto con
!`comando`. - Aggiungi il supporto agli argomenti.
- Decidi se va a livello utente o di progetto, e motiva la scelta.
Soluzione
Un esempio realistico: il comando che spiega perché un test fallisce, invece di farti incollare l’output a mano ogni volta.
Una nota sul comando iniettato: 2>&1 significa “manda anche gli errori nello stesso flusso
dell’output normale” — i test che falliscono scrivono proprio sul canale degli errori
(stderr), e senza questa aggiunta Claude vedrebbe solo la parte
tranquilla. | tail -60 tiene le ultime 60 righe: quelle dove stanno i fallimenti.
## Esito dei test
!`npm test 2>&1 | tail -60`
## Modifiche non committate
!`git diff --stat`
## Istruzioni
Il test indicato in $ARGUMENTS (o il primo che fallisce, se non è indicato) non passa.
1. Leggi l'output qui sopra e individua l'asserzione che fallisce davvero — non il primo messaggio rosso, quello che conta.2. Apri il file di test e il codice sotto test.3. Dimmi in una frase se è il test a essere sbagliato o il codice.4. Proponi la correzione minima. Non riscrivere parti che passano già.
Non correggere nulla finché non ti do l'ok.Perché a livello di progetto e non utente: contiene npm test. Un comando che assume un test runner
specifico appartiene al progetto che usa quel runner. Se lo mettessi in ~/.claude/commands/, si romperebbe
silenziosamente in ogni progetto Python o Go.
La regola di scelta:
| Metti a livello utente | Metti a livello progetto |
|---|---|
| Preferenze su come vuoi le risposte | Comandi che assumono un tool specifico (npm, pytest, make) |
| Abitudini che ti segui ovunque | Convenzioni del team (formato delle PR, checklist di review) |
| Cose che non dipendono dal codebase | Tutto ciò che ha senso condividere e versionare |
Verifica che funzioni davvero: rompi un test di proposito e lancia /perche-fallisce. Se la risposta
comincia col chiederti di incollare l’output, l’iniezione di contesto non ha funzionato — controlla i
backtick e il punto esclamativo: la sintassi è !`comando`, con il ! fuori dai backtick.
Errori comuni e troubleshooting
Sezione intitolata “Errori comuni e troubleshooting”| Sintomo | Causa | Soluzione |
|---|---|---|
Il comando nuovo non compare in / |
Le directory non sono state ri-scansionate | /reload-skills |
/review non esegue il tuo code-review |
Gli alias delle skill bundled non seguono l’override | Usa il nome pieno /code-review, o dai un nome diverso alla tua |
/deploy esegue una versione che non ti aspetti |
Personale batte progetto | Controlla ~/.claude/skills/ e ~/.claude/commands/ |
!`comando` compare come testo invece di eseguire |
Sintassi sbagliata: il ! va fuori dai backtick |
La forma corretta è !`git diff` |
| Gli argomenti non finiscono dove vuoi | Manca $ARGUMENTS nel file |
Vengono appesi in fondo come ARGUMENTS: ...: aggiungi il segnaposto dove serve |
| Concatenando comandi ne parte solo uno | L’espansione si ferma al primo token che non è una skill inline | I comandi che girano come subagent, tipo /code-review, chiudono la catena |
| Un comando di progetto non funziona per i colleghi | Il file non è committato, o assume tool che loro non hanno | Committa .claude/commands/ e dichiara le dipendenze nel CLAUDE.md |
| Hai troppi comandi e Claude non li invoca più da solo | Le descrizioni vengono accorciate per stare nel budget del listing | Vedi il modulo 8: skillOverrides e skillListingBudgetFraction |
Cheat-sheet
Sezione intitolata “Cheat-sheet”Creare un comando
~/.claude/commands/<nome>.md → /<nome>, in tutti i progetti.claude/commands/<nome>.md → /<nome>, solo qui, si committa| Sintassi | Cosa fa |
|---|---|
$ARGUMENTS |
Tutto ciò che segue il nome del comando |
$ARGUMENTS[0] o $0 |
Il primo argomento posizionale |
!`comando` |
Esegue il comando e inserisce l’output prima che Claude legga |
/a /b testo |
Concatena più skill — la prima più altre cinque |
I dieci comandi da sapere a memoria
| Comando | |
|---|---|
/ |
Apre il menu di tutto ciò che è disponibile |
/clear |
Azzera il contesto |
/context |
Cosa sta occupando la finestra |
/compact <focus> |
Riassume mantenendo il focus |
/plan |
Plan Mode per il prossimo prompt |
/rewind |
Torna indietro nel codice o nella conversazione |
/code-review |
Revisione della diff in un subagent fresco |
/doctor |
Diagnostica di setup e configurazione |
/usage |
Quanto stai consumando del piano |
/reload-skills |
Ri-scansiona comandi e skill |
Pagine ufficiali consultate, verificate il 16 agosto 2026:
- Commands reference — elenco completo dei comandi built-in e delle skill bundled
- Extend Claude with skills — comandi custom,
$ARGUMENTS, contesto dinamico, risoluzione dei conflitti di nome - Explore the .claude directory — posizioni di
commands/eskills/ - Code review — la skill bundled
/code-review - Plugins — namespace dei comandi dei plugin
Corso indipendente, non affiliato ad Anthropic o Google. Claude e Claude Code sono marchi di Anthropic; Antigravity e Gemini sono marchi di Google.