Cos'è e perché conta
Quando chiedo a Claude una funzione nuova in un messaggio solo, fa tutto lui, di fila: cerca, decide, scrive e alla fine mi dice «fatto». Per le cose piccole va benissimo. Su una funzione vera, però, i passi si mescolano. Cerca a metà, pianifica mentre scrive, e il controllo lo fa chi ha appena scritto il codice.
Un workflow mette ordine. È uno script che Claude scrive per il tuo compito e che Claude Code fa girare in background: lancia più sotto-agenti, ognuno con il suo lavoro, e passa i risultati dall'uno all'altro. Il piano non sta più nella testa di Claude, sta nello script. E tu intanto la sessione la puoi continuare a usare.
Io lo uso come una catena di montaggio. Cinque postazioni, un agente per postazione, un compito solo a testa. Ogni agente riceve il pezzo dal passo prima e, prima di lavorarci, controlla che sia fatto bene. Se non lo è, la catena si ferma.
Perché conta: chi prova a rompere il codice non è chi l'ha scritto, quindi cerca proprio i buchi che l'autore non vede. E se l'elenco dei file o il piano sono sbagliati, te ne accorgi subito, prima che qualcuno ci costruisca sopra.
1. La prima volta: chiedi un workflow
Lo script non lo scrivi tu. Basta chiederlo con parole tue, tipo «usa un workflow»: Claude scrive lo script e lo fa partire. Funziona anche la parola ultracode nel prompt, ma non serve: una richiesta diretta vale uguale.
Questo è il prompt che incollo in Claude Code. Al posto delle parentesi quadre metti la funzione che vuoi, descritta come la diresti a una persona.
Usa un workflow a cinque passi per: [descrivi la funzione]. Ogni passo è un agente diverso, con un compito solo, e riceve il risultato del passo prima. 1. CERCA: trova nel codice i file e le funzioni che c'entrano, con il perché. 2. PIANO: controlla che l'elenco sia giusto e completo, poi scrivi un piano a punti: cosa cambia, in che ordine, come si verifica. 3. COSTRUISCI: controlla che il piano regga, poi seguilo e fai girare i test. 4. ROMPI: prova a rompere quello che è stato costruito (dati vuoti, utente non loggato, doppio clic, telefono). Se trovi un errore, rimandalo al passo 3 con la descrizione e riprova, al massimo due volte. 5. RIASSUNTO: controlla che i test passino, poi scrivi cosa è cambiato, cosa è stato provato e cosa resta da fare. Se un passo trova un problema nel passo prima, si ferma e lo dice: niente va avanti finché non è sistemato. Chiama il workflow "catena" e la funzione da costruire leggila da args.
Cosa fa ogni postazione:
- CERCA non tocca niente. Porta solo l'elenco dei file, con il motivo per ognuno.
- PIANO prima controlla l'elenco, poi scrive cosa cambia, in che ordine e come si verifica.
- COSTRUISCI controlla che il piano regga, lo segue e fa girare i test.
- ROMPI è la postazione che fa la differenza. Prova i casi che di solito dimentichi: dati vuoti, utente non loggato, doppio clic, telefono. Se trova un errore lo rimanda a COSTRUISCI, al massimo due volte, così il giro non va avanti all'infinito.
- RIASSUNTO controlla che i test passino e ti dice cosa è cambiato, cosa è stato provato e cosa resta da fare.
La riga «Se un passo trova un problema…» è quella che tiene insieme tutto. Senza, un elenco sbagliato al primo passo diventa un piano sbagliato, e poi codice sbagliato che passa i test.
L'ultima riga invece serve per dopo, quando la salvi. Il nome del comando viene dallo script, quindi gli chiedi subito di chiamarlo catena. E la funzione la legge da args, cioè dall'input che gli passi quando lo lanci: così la stessa catena lavora ogni volta su una funzione diversa, invece di rifare quella della prima volta.
Prima di partire, di solito Claude Code ti chiede il permesso e ti mostra le fasi previste. Da lì puoi anche aprire lo script e leggerlo prima di dire sì.
2. Seguila mentre lavora
La catena gira in background, quindi puoi continuare a scrivere nella sessione. Per vedere a che punto è:
/workflows
- Vedi le fasi una sotto l'altra, ognuna con i suoi agenti.
- Con le frecce scegli una fase, con Invio entri e vedi cosa ha fatto ogni agente: il compito che ha ricevuto, gli strumenti che ha usato, il risultato. Con Esc torni indietro.
- p mette in pausa e fa ripartire il giro, x ferma l'agente selezionato, o tutto il giro se sei sul giro.
3. Salvala una volta
Quando un giro ti è piaciuto, non devi reincollare il prompt ogni volta. Lo salvi come comando:
- Scrivi /workflows e seleziona il giro che vuoi tenere.
- Premi s: si apre la finestra per salvarlo.
- Con Tab scegli dove: .claude/workflows/ nel progetto, oppure ~/.claude/workflows/ nella tua cartella personale.
- Premi Invio.
In .claude/workflows/ la catena vale per quel progetto, e se fai commit la ritrova anche chi clona il repository. In ~/.claude/workflows/ la ritrovi in tutti i tuoi progetti, e la vedi solo tu.
Quello che salvi è lo script del giro, non il prompt. Quindi ogni volta la catena fa gli stessi passi, nello stesso ordine, con gli stessi controlli. E il comando prende il nome scritto nello script: per questo nel prompt gli hai chiesto di chiamarlo catena.
4. Lanciala quando vuoi
Dalla sessione dopo basta una riga, con la funzione nuova:
Esegui /catena per: aggiungi il login con Google
Quello che scrivi dopo «per:» arriva allo script in args, e la catena lavora su quella funzione. Il lavoro lo segui sempre da /workflows, fase per fase.
5. Prima di usarla sul serio
Usa più token
Un workflow lancia più agenti, quindi un giro usa più token di una richiesta normale, e conta nei limiti del tuo piano. Provalo prima su una cosa piccola. In /workflows vedi quanti token usa ogni agente mentre lavora, e puoi fermare il giro quando vuoi.
Se /workflows non c'è
I workflow ci sono su tutti i piani a pagamento, ma sul piano Pro vanno accesi: apri /config e cerca la riga Dynamic workflows. Se lì sono spenti, non funzionano né /workflows né i comandi salvati.
La stessa catena, senza workflow
In alternativa metti lo stesso testo in .claude/skills/catena/SKILL.md. Diventa una skill, e la lanci con /catena. Tre ritocchi: al posto di [descrivi la funzione] scrivi $ARGUMENTS, così Claude Code ci mette quello che scrivi dopo il comando; la prima frase falla diventare «Segui questi cinque passi per:»; l'ultima riga, quella su catena e args, toglila. Poi chiedi a Claude di usare un subagente diverso per ogni passo. E usa una strada o l'altra, non tutte e due con lo stesso nome: così sai sempre quale /catena stai lanciando.
Esegui /catena per: aggiungi il login con Google. Usa un subagente diverso per ogni passo.
I passi sono gli stessi. Cambia chi tiene il filo: con la skill è Claude che passa il lavoro da un aiutante all'altro, e i risultati passano dalla tua conversazione. Con il workflow lo fa lo script, e a te arriva solo il riassunto finale.
Gli errori più comuni
- Usare la catena per un testo o un colore. Cinque agenti per una riga sono solo attesa e token: per le cose piccole basta un messaggio normale.
- Togliere la riga «Se un passo trova un problema…». Senza controllo tra un passo e l'altro, un errore all'inizio arriva fino in fondo: lasciala sempre.
- Togliere la riga su catena e args. Senza, il comando prende un altro nome e può rifare sempre la funzione della prima volta: lasciala nel prompt.
- Partire subito da una funzione grossa. La prima volta provala su una cosa piccola e guarda in /workflows quanti token usa.
- Fidarsi del riassunto senza guardare. Leggi cosa resta da fare e prova tu la funzione, almeno una volta dal telefono.
Checklist
- Il prompt ha i cinque passi e la riga di controllo
- La funzione è descritta al posto delle parentesi quadre
- Il workflow si chiama catena e legge la funzione da args
- Prima prova su una cosa piccola
- Seguo il giro da /workflows
- Salvata con s, nel progetto o in ~/.claude/workflows/
- Ho letto il riassunto e provato la funzione io
Domande frequenti
Posso approvare il piano prima che costruisca?
Non a metà giro: mentre lavora, un workflow non ti fa domande. Se vuoi dare l'ok, fai girare CERCA e PIANO come un workflow, leggi il piano, e poi lancia gli altri tre passi come un secondo workflow.
Che differenza c'è con ultracode?
Con /effort ultracode è Claude a decidere quando fare un workflow, per ogni lavoro grosso della sessione. Qui ne chiedi uno tu, per una funzione, e i passi li decidi tu.
Se fermo il giro, perdo tutto?
Di solito no. Se l'hai messo in pausa con p, da /workflows lo fai ripartire con p. Se l'hai fermato, nella stessa sessione chiedi a Claude di rilanciarlo con lo stesso script: gli agenti già finiti restituiscono il risultato che avevano salvato.