Claude Code e Codex: compact, fork e handoff
Quando compattare, ripartire, biforcare o passare una sessione a un altro agente
Quando una sessione con un coding agent diventa lunga, la scelta non è solo continuare o ricominciare. /compact serve a riassumere e liberare contesto, /clear o /new servono a cambiare task, /resume recupera una sessione, /branch e /fork aiutano a provare strade alternative. /handoff non è un comando integrato: è una skill installabile, utile quando vuoi aprire un ramo di lavoro portabile verso un'altra sessione o un altro agente.
Risposta breve
/compact riduce una conversazione lunga in un riassunto utile per continuare. Usalo quando il task è lo stesso ma il contesto è pieno. Usa /clear o /new per cambiare lavoro, /resume per riprendere una sessione, /branch o /fork per provare una strada alternativa. Usa /handoff solo dopo aver installato la skill.
- Compattare non cancella il task: trasforma la cronologia in una sintesi più leggera.
- Cancellare o aprire una nuova sessione funziona meglio quando cambi obiettivo.
- Biforcare serve quando vuoi esplorare una soluzione senza rovinare la conversazione principale.
- La skill /handoff genera un documento portabile per un'altra sessione o un altro agente.
Confronto rapido
| Criterio | Claude Code | Codex |
|---|---|---|
| /compact | Riassume la conversazione per liberare contesto; puoi aggiungere istruzioni di focus | Sostituisce i turni precedenti con una sintesi più corta, mantenendo i dettagli critici per continuare |
| /clear, /new | /clear avvia una conversazione vuota e lascia la precedente disponibile in /resume | /new apre una nuova conversazione nella stessa CLI; /clear pulisce la vista corrente |
| /resume | Riapre una conversazione per ID o nome, anche da sessioni background dove supportato | Ricarica una sessione salvata dalla lista, mantenendo la cronologia originale |
| /branch e /fork | /branch crea una copia in cui entri tu; /fork passa una direttiva a un subagent background | /fork clona la conversazione corrente in un nuovo thread con ID separato |
| /btw, /side | /btw fa una domanda laterale senza aggiungerla alla conversazione principale | /side apre una conversazione effimera separata per un controllo mirato |
| /handoff | La skill /handoff compatta il contesto rilevante in un documento per un'altra sessione | Codex supporta skill riusabili: puoi usare lo stesso formato SKILL.md per un workflow di passaggio |
Scenari pratici
Questi esempi non parlano di costo in euro: mostrano quale comando scegliere quando il problema è contesto pieno, cambio di task o passaggio del lavoro.
Debug lungo
Molti log, tentativi vecchi e ipotesi scartate · L'agente continua a ragionare su rumore
Errore tipico
Continuare nella stessa chat senza pulizia
Scelta migliore
Usa /compact con focus sul bug, sui file toccati e sul test che fallisce
Se il task è ancora lo stesso, una compaction mirata conserva la rotta e rimuove rumore operativo.
Cambio di task
Nuova richiesta dentro una sessione piena · Il vecchio lavoro influenza il nuovo
Errore tipico
Compattare una conversazione che non serve più
Scelta migliore
Usa /clear o /new e porta solo istruzioni stabili dal progetto
Quando cambia l'obiettivo, partire puliti è più affidabile che trascinare un riassunto di materiale non pertinente.
Approccio alternativo
Una soluzione funziona, ma vuoi provarne un'altra · Rischio di confondere decisione principale e prova
Errore tipico
Discutere l'alternativa nella stessa linea di lavoro
Scelta migliore
Usa /branch, /fork o /side in base a quanto deve essere isolata la deviazione
Una biforcazione è utile quando vuoi confrontare strade diverse senza perdere il punto stabile della conversazione principale.
Ramo di lavoro separato
Decisioni sparse nella cronologia · Il nuovo agente deve ricostruire tutto
Errore tipico
Inseguire la deviazione nella sessione principale
Scelta migliore
Genera un handoff con obiettivo, stato, file, vincoli, test e prossimi passi
Il passaggio migliore è un documento breve, verificabile e privo di segreti, che lascia pulita la sessione principale.
La scelta in una frase
Usa /compact quando vuoi continuare lo stesso lavoro con meno rumore. Usa /clear o /new quando il lavoro cambia. Usa /resume quando devi tornare a una sessione salvata. Usa /branch, /fork, /side o /btw quando vuoi una deviazione isolata. Se hai installato la skill, usa /handoff quando una deviazione deve diventare una nuova sessione con abbastanza contesto per partire bene.
- Stesso task, contesto pieno: /compact.
- Nuovo task: /clear o /new.
- Sessione da recuperare: /resume.
- Esperimento laterale: /branch, /fork, /side o /btw.
- Ramo portabile verso un'altra sessione o un altro agente: /handoff.
Compattare non vuol dire cancellare
La compaction non riparte da zero. Riduce la cronologia in una sintesi che l'agente può usare per continuare. È utile quando la conversazione contiene ancora decisioni valide, ma è diventata troppo lunga, costosa o rumorosa. Il rischio è affidare troppo a un riassunto automatico: se una decisione è critica, salvala anche in un file, una issue o una spec.
- Buon uso: dopo ore di debug, prima di una nuova fase dello stesso fix.
- Uso rischioso: prima di cambiare obiettivo senza separare il vecchio lavoro dal nuovo.
- Dettaglio pratico: in Claude Code puoi passare istruzioni a /compact, per esempio il focus da mantenere.
- Dettaglio pratico: in Codex CLI /compact sostituisce i turni precedenti con una sintesi concisa.
Quando usare /compact
Usa /compact quando la sessione è ancora utile ma ingombrante. Il segnale tipico è una conversazione piena di log, letture file, tentativi e correzioni, mentre l'obiettivo non è cambiato. In quel momento non vuoi perdere la direzione: vuoi tenere bug, decisioni, file rilevanti e comando di verifica, lasciando indietro il resto.
- Prima di chiedere una patch finale dopo molta esplorazione.
- Prima di passare da diagnosi a implementazione.
- Prima di far proseguire un goal o un task lungo con meno rumore.
- Con una frase di focus: cosa mantenere, cosa ignorare, quale test conta.
/compact tieni solo: bug riprodotto, file coinvolti, decisioni prese, patch già applicate, test che falliscono e prossimo comando di verificaQuando usare /clear o /new
Usa /clear o /new quando il lavoro cambia davvero. Se stavi correggendo un bug di login e ora vuoi scrivere una guida, la vecchia cronologia non aiuta: occupa contesto e può portare l'agente verso vincoli non pertinenti. In Claude Code /clear apre una conversazione vuota mantenendo memoria di progetto. In Codex CLI /new avvia una conversazione fresca nella stessa CLI.
- Nuovo task, stessi file di progetto: nuova conversazione.
- Stessa sessione, vecchia ipotesi sbagliata: valuta /clear o un brief pulito.
- Prima di cancellare mentalmente tutto, salva decisioni importanti in un file stabile.
Quando biforcare
Biforcare serve quando vuoi provare una strada senza contaminare quella principale. È diverso da compattare: non riduci il passato, crei uno spazio separato. Claude Code distingue /branch, che ti sposta in una copia della conversazione, e /fork, che affida una direttiva a un subagent in background. Codex CLI usa /fork per clonare la conversazione corrente in un nuovo thread.
- Usa /branch quando vuoi esplorare personalmente una variante e magari tornare indietro.
- Usa /fork quando vuoi delegare una verifica o un approccio alternativo senza fermare la linea principale.
- Usa /side o /btw per domande brevi che non devono entrare nella cronologia principale.
- Non usare una biforcazione per nascondere confusione: se il task è vago, prima chiarisci obiettivo e criteri.
Quando riprendere o riavvolgere
/resume serve a tornare a una sessione salvata. È la scelta giusta quando il lavoro precedente è ancora il punto di partenza e vuoi continuare dalla sua cronologia. /rewind, in Claude Code, entra invece nei casi in cui qualcosa è andato storto: puoi tornare a un checkpoint della conversazione o del codice, oppure riassumere da un punto selezionato.
- Riprendi quando vuoi continuità con una sessione valida.
- Riavvolgi quando una scelta recente ha portato fuori strada.
- Apri una nuova sessione quando la continuità è più dannosa che utile.
Dove entra /handoff
/handoff non è un comando integrato come /compact: è una skill da installare. In Claude Code, dopo l'installazione, puoi invocarla come /handoff. In Codex lo stesso formato SKILL.md è supportato come Agent Skill: la richiami dal selettore /skills o con una mention tramite $. La skill chiede all'agente di scrivere un documento temporaneo che riassume solo il contesto utile, rimanda agli artefatti già esistenti e non include segreti o dati personali.
- Installazione della raccolta: npx skills@latest add mattpocock/skills.
- Obiettivo attuale e definizione di done.
- Stato del lavoro: cosa è già stato fatto e cosa no.
- File, branch, comandi e test rilevanti.
- Decisioni prese e alternative scartate.
- Rischi, permessi, segreti da non includere e prossimi passi.
- Suggested skills: il documento può indicare quali skill usare nella sessione successiva.
npx skills@latest add mattpocock/skillsWorkflow consigliato
Il flusso più robusto è semplice: lavora nella sessione finché il contesto resta utile, compatta quando il task è lo stesso ma la cronologia pesa, biforca quando devi esplorare, riparti pulito quando cambi obiettivo, e usa /handoff quando una deviazione merita una sessione propria. Così il contesto resta uno strumento, non un archivio infinito.
- Prima del task: chiarisci obiettivo, file e verifica.
- Durante il task: usa /btw o /side per dubbi laterali.
- Dopo molta esplorazione: usa /compact con focus.
- Per alternative: usa /branch o /fork.
- Prima di chiudere: usa /handoff se il lavoro non è finito.
Domande frequenti
/compact e /clear sono la stessa cosa?
No. /compact conserva una sintesi della conversazione per continuare lo stesso lavoro. /clear o /new servono a ripartire su una conversazione vuota, più adatta quando cambi task.
Quando conviene usare /branch o /fork?
Usali quando vuoi esplorare una soluzione alternativa senza sporcare la linea principale. In Claude Code /branch ti sposta in una copia, mentre /fork passa una direttiva a un subagent. In Codex CLI /fork clona la conversazione in un nuovo thread.
Perché usare una skill /handoff?
Perché trasforma il passaggio di consegne in una procedura ripetibile: obiettivo, stato, file, decisioni, rischi, prossimi passi e skill suggerite. È più affidabile di un riassunto improvvisato a fine sessione.
La compaction può perdere informazioni?
Sì. Una sintesi può omettere dettagli importanti. Per vincoli critici, decisioni di prodotto, test e sicurezza conviene salvare anche una fonte leggibile nel repository o in un documento di progetto.
Meglio compattare o aprire una nuova chat?
Compatta se il task è lo stesso e vuoi continuare. Apri una nuova chat se l'obiettivo cambia, se la sessione contiene troppe ipotesi superate o se vuoi ripartire da un brief più pulito.