Create tasks, docs, plans, and so much more with ClickUp MCP
AI e Automazione

Prompt di Claude Code: 25 prompt pronti all’uso e come scriverne di propri

Chiedi a Claude Code di correggere un errore di checkout. Il programma modifica il file corretto e segnala che i test sono stati superati. Tuttavia, i test non hanno mai verificato il coupon scaduto che ha causato l’errore, quindi non sai ancora se la correzione funzioni.

Un prompt ben formulato fornisce a Claude Code informazioni sufficienti per colmare tale lacuna: il comportamento che ti aspetti, i file rilevanti, eventuali limiti alla modifica e prove che puoi verificare. Per la correzione di un bug, ciò potrebbe significare riprodurre l’errore prima di modificare il codice. Per una domanda relativa al codice sorgente, potrebbe significare citare i file e le funzioni alla base della risposta.

I 25 prompt di Claude Code riportati di seguito riguardano la pianificazione, il debug, la revisione del codice, le migrazioni e altre attività ricorrenti. Ciascuno di essi offre un punto di partenza da adattare al proprio repository, con indicazioni su cosa fornire e su come valutare il risultato.

In breve: Assegna a Claude Code un’attività ben definita, il contesto del repository pertinente e limiti chiari su ciò che può essere modificato. Per le modifiche al codice, specifica dei test o altri controlli; per la ricerca e la pianificazione, richiedi risultati citati o un piano verificabile. Adatta i 25 modelli ai requisiti e alle autorizzazioni del tuo progetto, quindi esamina le prove prima di accettare il lavoro.

Cosa distingue un prompt di Claude Code da un prompt di chat?

Un prompt di Claude Code può autorizzare l’esecuzione di operazioni nel tuo repository, anziché limitarsi a richiedere una spiegazione. A seconda degli strumenti e delle autorizzazioni di cui dispone, Claude può ispezionare file, eseguire comandi, effettuare modifiche al codice e verificare i risultati. Le tue istruzioni devono quindi definire sia l’attività da svolgere sia i limiti del lavoro.

Anche gli assistenti di chat possono utilizzare strumenti e compiere azioni, quindi la distinzione non è “la chat risponde, Claude Code agisce”. La differenza pratica sta nell’ambiente e nell’accesso che concedi all’assistente. Chiedere una soluzione suggerita in una chat ti lascia il compito di applicarla; chiedere a Claude Code di implementare quella soluzione può modificare i tuoi file di lavoro.

Questo cambia le conseguenze di una richiesta poco chiara. “Correggi il checkout” lascia irrisolte le decisioni relative all’ambito, al comportamento previsto e alle modifiche accettabili. Claude potrebbe produrre un’implementazione plausibile che dovrai poi ispezionare o annullare. Una richiesta più utile identifica il caso di errore, ciò che deve rimanere invariato e se Claude debba indagare, fare un piano o effettuare delle modifiche.

AspettoChat utilizzata per consigli o bozze di codiceClaude Code in funzione in un repository
Cosa consente la richiestaUna spiegazione o un codice di esempio che potrai valutare e applicareIspezione dei file, comandi e modifiche tramite gli strumenti e le autorizzazioni disponibili
Contesto disponibileLa conversazione, i file forniti e qualsiasi fonte con connessioneFile del repository, istruzioni relative al progetto e strumenti collegati
Conseguenze di una richiesta poco chiaraUna risposta inadeguata o un'implementazione suggeritaModifiche che potrebbero non soddisfare i requisiti o influire su codice non correlato
Come gestire il lavoroAffina la domanda e decidi cosa utilizzareDefinisci l'ambito, scegli una modalità di autorizzazione e verifica i piani e le modifiche
Elementi utili da richiedereFonti, presupposti o una spiegazione del codice propostoRiferimenti ai file pertinenti, confronti (diff), risultati effettivi dei test e problemi irrisolti

L’analisi condotta da Anthropic su 500.000 interazioni relative alla programmazione illustra questa differenza di utilizzo. Utilizzando i dati relativi ad aprile 2025, ha classificato il 79% delle conversazioni su Claude Code come automazione, rispetto al 49% delle conversazioni su Claude.ai. Queste cifre descrivono i modelli di utilizzo osservati, non limiti fissi per nessuno dei due prodotti.

Lo stesso studio ha classificato il 35,8% delle interazioni con Claude Code come cicli di feedback, in cui gli utenti convalidavano il lavoro e fornivano ulteriori input, come i messaggi di errore. Fornire a Claude un comando di test pertinente può aiutarlo a indagare direttamente sugli errori. È comunque necessario valutare se tali controlli coprano il comportamento richiesto.

Per Claude Code, un prompt dovrebbe chiarire il livello di azione previsto: spiegare il codice, proporre una modifica o implementarla all’interno di un ambito definito. Configura le autorizzazioni separatamente, quindi esamina le prove relative a tale attività.

Consiglio dell’esperto: se stai ancora valutando diversi strumenti di programmazione, consulta i confronti Claude Code vs. Copilot e Claude vs. ChatGPT per la programmazione. Per i prompt basati su browser, utilizza la guida ai prompt di Claude IA. Se hai bisogno di istruzioni per la configurazione, inizia con la guida all’uso di Claude Code.

L'anatomia di un buon prompt per Claude Code

Un prompt efficace per Claude Code spiega il risultato desiderato, il contesto necessario per ottenerlo e come valuterai il lavoro. Una domanda su una singola funzione potrebbe richiedere solo un riferimento al file e una spiegazione richiesta. Una modifica che interessa diversi file richiede un ambito e dei vincoli più chiari.

Includi questi sei dettagli ove applicabili:

  • Cosa: Il comportamento previsto, ad esempio la visualizzazione di un messaggio di coupon non valido invece di restituire un errore di checkout
  • Dove: i file, le cartelle o i servizi inclusi nell’ambito, indicati con @ quando li conosci
  • Modello: un'implementazione esistente che Claude dovrebbe seguire, come il client API del tuo progetto o le convenzioni di gestione degli errori
  • Verifica: un comando di test o di compilazione relativo alle modifiche al codice, oppure i riferimenti ai file e gli ID di commit per la ricerca
  • Limiti: ciò che deve rimanere invariato, come le API pubbliche, gli schemi dei database o i moduli non correlati
  • Approccio: se Claude debba fornire una spiegazione, proporre un piano per la revisione o implementare la modifica

Ecco come questi dettagli migliorano tre richieste comuni.

Risolvi un bug specifico

Invece di: “Risolvi il bug del checkout.”

I clienti che utilizzano un buono scaduto ricevono un errore 500 al momento del checkout. Esamina il file @src/checkout/coupons.ts e i relativi test. Il comportamento previsto è la visualizzazione di un messaggio di buono non valido senza la creazione di un ordine. Scrivi un test che fallisca e che riproduca l’errore, quindi correggilo senza modificare il comportamento relativo ai coupon validi. Esegui [comando di test del checkout] e mostra i risultati prima e dopo. Se non riesci a riprodurre l’errore, segnala cosa hai verificato prima di modificare l’implementazione.

I clienti che utilizzano un buono scaduto ricevono un errore 500 al momento del checkout. Esamina il file @src/checkout/coupons.ts e i relativi test. Il comportamento previsto è la visualizzazione di un messaggio di buono non valido senza la creazione di un ordine. Scrivi un test che fallisca e che riproduca l’errore, quindi correggilo senza modificare il comportamento relativo ai coupon validi. Esegui [comando di test del checkout] e mostra i risultati prima e dopo. Se non riesci a riprodurre l’errore, segnala cosa hai verificato prima di modificare l’implementazione.

Aggiungi una funzionalità utilizzando un modello esistente

Invece di: “Aggiungi un selettore di date.”

Aggiungi un selettore di date a [percorso del modulo di prenotazione]. Segui le convenzioni relative ai componenti e alla convalida riportate in @src/components/TimeSelect.tsx. Gli utenti devono poter selezionare [date consentite], mentre [date non disponibili] devono rimanere disabilitate. Non aggiungere librerie. Esegui [comando di test del componente] e [comando di verifica dei tipi] e segnala eventuali criteri non coperti da tali controlli.

Aggiungi un selettore di date a [percorso del modulo di prenotazione]. Segui le convenzioni relative ai componenti e alla convalida riportate in @src/components/TimeSelect.tsx. Gli utenti devono poter selezionare [date consentite], mentre [date non disponibili] devono rimanere disabilitate. Non aggiungere librerie. Esegui [comando di test del componente] e [comando di verifica dei tipi] e segnala eventuali criteri non coperti da tali controlli.

Rifattorizza senza modificare il comportamento

Invece di: “Pulisci questo file.”

Suddividi il file @src/reports/export.py in funzioni più piccole, preservandone gli input, il formato di output e il comportamento in caso di errore. Esegui il [comando di test export] prima di apportare modifiche e segnala eventuali errori esistenti. Dopo la rifattorizzazione, riesegui i test e mostra entrambi i risultati. Non modificare l’interfaccia pubblica né i file non correlati.

Suddividi il file @src/reports/export.py in funzioni più piccole, preservandone gli input, il formato di output e il comportamento in caso di errore. Esegui il [comando di test export] prima di apportare modifiche e segnala eventuali errori esistenti. Dopo la rifattorizzazione, riesegui i test e mostra entrambi i risultati. Non modificare l’interfaccia pubblica né i file non correlati.

Sostituisci i percorsi e i comandi di esempio con i valori del tuo repository. I test superati forniscono una prova per i casi che coprono; esamina il diff e verifica che tali casi corrispondano ai requisiti.

Questi esempi adattano l’approccio basato sulle richieste circoscritte (scoped-request) previsto nelle best practice di Claude Code di Anthropic. Per indicazioni che vanno oltre la programmazione, consulta queste best practice sui prompt per gli agenti IA.

Perché il controllo è più importante della formulazione

Anche un prompt dettagliato può comunque produrre codice che risolve il problema sbagliato. Potresti specificare i file, lo stile di codifica e l’output desiderato, tralasciando però la condizione che determina se la modifica è utile. Per un bug relativo a un buono scaduto, “i test di checkout vengono superati” è una prova incompleta, a meno che tali test non coprano il buono non valido e confermino che non è stato creato alcun ordine.

La formulazione aiuta Claude a comprendere la richiesta. La verifica consente di valutare se la sua implementazione la soddisfa. Questa distinzione è importante quando Claude può effettuare modifiche a file ed eseguire comandi: una spiegazione convincente della modifica non è prova che il comportamento sia corretto.

La guida alle best practice di Claude Code di Anthropic raccomanda di fornire a Claude un modo per verificare il proprio lavoro tramite test, screenshot o risultati attesi. La verifica dovrebbe rispecchiare il requisito. Una build verifica se il progetto si compila; un test mirato verifica un comportamento specifico; un confronto di screenshot aiuta a valutare l’interfaccia visualizzata. Ciascuno di essi risponde a una domanda diversa.

Boris Cherny, l’autore di Claude Code, descrive come utilizza un ciclo di feedback basato sul browser nel proprio flusso di lavoro:

“Claude verifica ogni singola modifica che integro su claude.ai/code utilizzando l’estensione Claude per Chrome. Apre un browser, testa l’interfaccia utente e ripete il processo finché il codice non funziona e l’esperienza utente risulta soddisfacente. ”

“Claude verifica ogni singola modifica che integro su claude.ai/code utilizzando l’estensione Claude per Chrome. Apre un browser, testa l’interfaccia utente e ripete il processo finché il codice non funziona e l’esperienza utente risulta soddisfacente. ”

Il resoconto di InfoQ sul flusso di lavoro di Cherny riporta la sua opinione secondo cui la verifica può migliorare la qualità dei risultati di un fattore compreso tra due e tre. Si tratta di una valutazione attribuita al suo flusso di lavoro, non di una misurazione controllata né di un miglioramento garantito.

Assumiti la responsabilità dei requisiti e dei criteri di accettazione

Anche delegando l’implementazione, la responsabilità di decidere cosa deve fare il software rimane comunque tua. Claude può suggerire dei test, ma questi devono riflettere le tue regole aziendali, comprese le eccezioni che potrebbero non essere evidenti dal codice.

Nel suo studio su circa 400.000 sessioni di Claude Code, Anthropic ha rilevato che gli utenti hanno preso circa il 70% delle decisioni relative alla pianificazione, ma solo circa il 20% di quelle relative all’esecuzione. Lo studio ha inoltre associato una maggiore competenza apparente specifica per l’attività a tassi di esito positivo verificati più elevati: circa il 15% per le sessioni valutate come “principianti”, rispetto al 28–33% per quelle di livello “intermedio” o “esperto”.

Questi dati necessitano di un contesto. La competenza è stata valutata sulla base delle trascrizioni e il “esito positivo verificato” richiedeva prove concrete di successo all’interno della sessione. Anthropic non ha osservato i risultati reali ottenuti dagli utenti. Le sessioni prive di tale indicatore non erano necessariamente fallimentari e lo studio non dimostra che la sola modifica della formulazione dei prompt migliori i risultati.

L'implicazione pratica è quella di fornire le conoscenze che Claude non è in grado di dedurre in modo sicuro. Un contabile che effettua la riconciliazione delle fatture deve specificare come devono essere gestiti i pagamenti parziali, i rimborsi e gli arrotondamenti. Uno sviluppatore che modifica il comportamento del processo di checkout deve identificare quali comportamenti esistenti devono rimanere invariati. Queste decisioni determinano se i test risultanti verificano ciò che è necessario.

Prima di accettare una modifica, esamina insieme ai tuoi collaboratori i requisiti, l’implementazione e le prove a sostegno. Chiedi quali casi sono stati testati, quali controlli hanno dato esito negativo o sono stati saltati e quali aspetti rimangono incerti. Questo ti fornirà una base per accettare il lavoro che vada oltre la semplice dichiarazione di Claude che il lavoro è terminato.

25 prompt di Claude Code che puoi copiare e adattare

Scegli un prompt in base all’attività che devi completare, quindi sostituisci i dettagli tra parentesi con i percorsi, i requisiti e i comandi del tuo repository. Per le modifiche al codice, specifica un comando di test o di compilazione. Per la ricerca e la pianificazione, richiedi riferimenti alle fonti e un risultato finale chiaramente definito.

Questi modelli descrivono il lavoro che desideri che Claude faccia. Configura separatamente le autorizzazioni di Claude Code; un’istruzione come “non effettuare modifiche ai file” non sostituisce i controlli di accesso.

Prompt per comprendere un codice sorgente

Prima di modificare un codice che non conosci bene, individua dove risiede il comportamento rilevante e come funziona. Questi prompt si concentrano sulla lettura dei file e della cronologia senza apportare modifiche.

1. Ottieni una panoramica di un repository che non conosci

Utilizza questa guida quando entri a far parte di un progetto o lavori in un repository per la prima volta. Inizia dal file README, dalla configurazione del progetto e dalla struttura delle directory, invece di chiedere a Claude di leggere ogni singolo file.

Esamina il file README, la configurazione del progetto e la struttura delle directory di primo livello di questo repository. Segui i riferimenti solo se necessario per spiegare: cosa fa l’applicazione; i suoi punti di ingresso principali e i componenti principali; dove si trovano i test e quali comandi il repository definisce per eseguirli. Cita i percorsi dei file a supporto della tua spiegazione. Distingui il comportamento documentato dalle tue deduzioni personali e segnala tutto ciò che non riesci a determinare. Non leggere i file contenenti informazioni riservate o di ambiente, non esaminare le dipendenze installate e non modificare alcun file. Concludi indicando i tre file che dovrei leggere per primi e il motivo.

Esamina il file README, la configurazione del progetto e la struttura delle directory di primo livello di questo repository. Segui i riferimenti solo se necessario per spiegare: cosa fa l’applicazione; i suoi punti di ingresso principali e i componenti principali; dove si trovano i test e quali comandi il repository definisce per eseguirli. Cita i percorsi dei file a supporto della tua spiegazione. Distingui il comportamento documentato dalle tue deduzioni personali e segnala tutto ciò che non riesci a determinare. Non leggere i file contenenti informazioni riservate o di ambiente, non esaminare le dipendenze installate e non modificare alcun file. Concludi indicando i tre file che dovrei leggere per primi e il motivo.

2. Comprendere perché un'implementazione è stata modificata

Utilizza la cronologia di Git per analizzare una scelta progettuale prima di sostituirla. Richiedi prove documentate anziché dare per scontato che il codice attuale rifletta l’intento dell’autore originale.

Esamina la cronologia Git di [file, funzione o classe], concentrandoti su [comportamento o questione di progettazione]. Identifica i commit che hanno introdotto o modificato in modo sostanziale tale comportamento. Per ogni commit rilevante, fornisci il relativo hash, riepiloga la modifica e spiega le motivazioni documentate nel messaggio di commit o nella discussione collegata a cui puoi accedere. Etichetta le ragioni dedotte come “inferenze”. Se la cronologia non spiega una decisione, segnalalo. Non modificare i file né la cronologia Git.

Esamina la cronologia Git di [file, funzione o classe], concentrandoti su [comportamento o questione di progettazione]. Identifica i commit che hanno introdotto o modificato in modo sostanziale tale comportamento. Per ogni commit rilevante, fornisci il relativo hash, riepiloga la modifica e spiega le motivazioni documentate nel messaggio di commit o nella discussione collegata a cui puoi accedere. Indica come “inferenze” le ragioni dedotte. Se la cronologia non spiega una decisione, segnalalo. Non modificare i file né la cronologia Git.

3. Tracciare un flusso specifico dell'applicazione

Utilizza questa procedura prima di intervenire su comportamenti che coinvolgono più componenti, come l’autenticazione, il checkout o le notifiche.

Traccia cosa succede quando si verifica [un'azione dell'utente o un evento di sistema], partendo da [un percorso, un gestore o una cartella noti]. Segui le chiamate rilevanti attraverso la convalida, la logica di business e qualsiasi scrittura sul database o richiesta esterna. Elenca i file e le funzioni nell'ordine di esecuzione, con i riferimenti alle righe, se disponibili. Spiega i principali percorsi di errore e identifica i test esistenti che coprono il flusso. Segnala qualsiasi connessione che non riesci a confermare dal codice. Non eseguire il flusso, non chiamare servizi esterni e non effettuare modifiche ai file.

Traccia cosa succede quando si verifica [un'azione dell'utente o un evento di sistema], partendo da [un percorso, un gestore o una cartella noti]. Segui le chiamate rilevanti attraverso la convalida, la logica di business e qualsiasi scrittura sul database o richiesta esterna. Elenca i file e le funzioni nell'ordine di esecuzione, con i riferimenti alle righe, se disponibili. Spiega i principali percorsi di errore e identifica i test esistenti che coprono il flusso. Segnala qualsiasi connessione che non riesci a confermare dal codice. Non eseguire il flusso, non chiamare servizi esterni e non effettuare modifiche ai file.

Prompt per il piano prima della realizzazione

Per le modifiche che interessano più file o che lasciano irrisolti requisiti importanti, esamina un piano prima dell’implementazione. Questi prompt ti aiutano a definire il lavoro, chiarire le decisioni e identificare il codice interessato.

4. Pianifica una funzionalità/funzione prima di modificare il codice

Utilizza questa funzione quando conosci il comportamento desiderato ma hai bisogno di comprenderne l’implementazione. Inizia in modalità “Pianifica” in modo che Claude possa esaminare il repository prima di proporre le modifiche.

Pianifica come implementare [funzionalità/funzione] nell’[area del repository]. Il comportamento previsto è [requisiti] e queste aree devono rimanere invariate: [vincoli]. Esamina il codice pertinente e i test esistenti. Identifica i file che devono essere modificati, l’ordine di implementazione ed eventuali rischi di compatibilità o di migrazione dei dati. Mappa ogni requisito a un test proposto o ad altra fase di verifica. Elenca separatamente le questioni irrisolte e le ipotesi. Non implementare ancora la funzione. Inviami il piano affinché io possa esaminarlo.

Pianifica come implementare [funzionalità/funzione] nell’[area del repository]. Il comportamento previsto è [requisiti] e queste aree devono rimanere invariate: [vincoli]. Esamina il codice pertinente e i test esistenti. Identifica i file che devono essere modificati, l’ordine di implementazione ed eventuali rischi di compatibilità o di migrazione dei dati. Associa ogni requisito a un test proposto o ad altra fase di verifica. Elenca separatamente le questioni irrisolte e le ipotesi. Non implementare ancora la funzione. Inviami il piano affinché io possa esaminarlo.

5. Chiarire i requisiti prima di redigere una specifica

Utilizza questo approccio quando la richiesta di funzionalità lascia in sospeso decisioni relative al comportamento degli utenti, ai dati o ai casi limite. La specifica del risultato dovrebbe fornire alla successiva sessione di implementazione un contesto sufficiente per procedere.

Voglio realizzare [breve descrizione] per [utenti e caso d'uso]. Leggi prima [i file o i requisiti pertinenti], poi usa AskUserQuestion per chiarire le decisioni che potrebbero influire in modo sostanziale sull'implementazione. Concentrati sui casi limite, sulla gestione dei dati, sulle autorizzazioni, sul comportamento previsto dell'interfaccia utente e sui compromessi. Non porre domande a cui il contesto fornito risponde già. Una volta risolte le decisioni chiave, redigi una bozza di specifica che copra i requisiti, i criteri di accettazione, i vincoli e ciò che è fuori dall’ambito. Evidenzia eventuali ipotesi residue. Mostrami la specifica prima di salvarla in [percorso della specifica] e non sovrascrivere un file esistente senza approvazione.

Voglio realizzare [breve descrizione] per [utenti e caso d'uso]. Leggi prima [i file o i requisiti pertinenti], poi usa AskUserQuestion per chiarire le decisioni che potrebbero influire in modo sostanziale sull'implementazione. Concentrati sui casi limite, sulla gestione dei dati, sulle autorizzazioni, sul comportamento previsto dell'interfaccia utente e sui compromessi. Non porre domande a cui il contesto fornito risponde già. Una volta risolte le decisioni chiave, redigi una bozza di specifica che copra i requisiti, i criteri di accettazione, i vincoli e ciò che è fuori dall’ambito. Evidenzia eventuali ipotesi residue. Mostrami la specifica prima di salvarla in [percorso della specifica] e non sovrascrivere un file esistente senza approvazione.

Dopo aver rivisto e salvato le specifiche, fai riferimento ad esse nella sessione di implementazione. Includi i percorsi dei repository pertinenti in modo che Claude possa confrontare le specifiche con il codice esistente.

6. Identifica quali elementi potrebbero essere interessati da una modifica al codice condiviso

Utilizzalo prima di modificare una funzione, un componente o un'interfaccia condivisa. Un inventario dei chiamanti ti aiuta a valutare l'ambito, ma potrebbe non rivelare i consumatori al di fuori del repository.

Valuta l’impatto della modifica di [funzione, componente o interfaccia] dal [comportamento attuale] al [comportamento proposto]. Cerca nel [repository o nell’ambito della directory] la sua definizione, i chiamanti diretti, le importazioni e i test correlati. Elenca i file che potrebbero richiedere modifiche e spiega in che modo ciascuno di essi potrebbe essere interessato, indicando i riferimenti al file e alla riga, ove disponibili. Segnalare le chiamate risolte dinamicamente, i consumatori esterni o altre dipendenze che non è possibile verificare. Identificare eventuali questioni di compatibilità che richiedono una risposta prima dell’implementazione. Non modificare i file; restituire la valutazione dell’impatto e attendere la mia revisione.

Valuta l’impatto della modifica di [funzione, componente o interfaccia] dal [comportamento attuale] al [comportamento proposto]. Cerca nel [repository o nell’ambito della directory] la sua definizione, i chiamanti diretti, le importazioni e i test correlati. Elenca i file che potrebbero richiedere modifiche e spiega in che modo ciascuno di essi potrebbe essere interessato, indicando i riferimenti al file e alla riga, ove disponibili. Segnalare le chiamate risolte dinamicamente, i consumatori esterni o altre dipendenze che non è possibile verificare. Identificare eventuali questioni di compatibilità che richiedono una risposta prima dell’implementazione. Non modificare i file; restituire la valutazione dell’impatto e attendere la mia revisione.

Prompt per lo sviluppo di funzionalità

I prompt per lo sviluppo di funzionalità dovrebbero descrivere il comportamento previsto e stabilire una connessione tra il codice già presente nel tuo progetto e la funzione da sviluppare. Includi esempi pertinenti, vincoli e controlli in modo che Claude possa implementare la modifica senza prendere decisioni non pertinenti.

7. Realizza una funzionalità/funzione utilizzando un modello esistente

Utilizza questa opzione quando nel tuo repository esiste già una funzionalità/funzione simile. Indica a Claude l’implementazione che desideri venga seguita, inclusi l’accesso ai dati, la gestione degli errori e i test.

Aggiungi [funzionalità/funzione] a [file o pagina] con questo comportamento: [criteri di accettazione]. Esamina [l’implementazione esistente] e segui le sue convenzioni per il recupero dei dati, la gestione degli errori e l’organizzazione dei componenti. Utilizza solo le librerie già installate nel progetto. Mantieni le modifiche entro [ambito] e preserva [il comportamento esistente o l’interfaccia pubblica]. Aggiungi o aggiorna i test per i criteri di accettazione. Esegui [comando di test] e [comando di controllo dei tipi o lint], quindi segnala i file modificati, i risultati e eventuali controlli che non è stato possibile completare. Se il modello esistente è in conflitto con un requisito, spiega il conflitto prima di procedere.

Aggiungi [funzionalità/funzione] a [file o pagina] con questo comportamento: [criteri di accettazione]. Esamina [l’implementazione esistente] e segui le sue convenzioni per il recupero dei dati, la gestione degli errori e l’organizzazione dei componenti. Utilizza solo le librerie già installate nel progetto. Mantieni le modifiche entro [ambito] e preserva [il comportamento esistente o l’interfaccia pubblica]. Aggiungi o aggiorna i test per i criteri di accettazione. Esegui [comando di test] e [comando di controllo dei tipi o lint], quindi segnala i file modificati, i risultati e eventuali controlli che non è stato possibile completare. Se il modello esistente è in conflitto con un requisito, spiega il conflitto prima di procedere.

8. Scrivere i test prima di implementare una funzione

Utilizza questo approccio per comportamenti che puoi esprimere tramite input e output definiti. Il fallimento iniziale del test dovrebbe evidenziare un comportamento mancante, piuttosto che una configurazione di test errata.

Implementa [nome della funzione] nel [file] per soddisfare [requisiti]. Copri il [caso normale], il [caso limite] e il [comportamento in caso di input non valido]. Esegui prima il [comando di test pertinente] e segnala eventuali errori esistenti. Scrivi i test per il comportamento richiesto, quindi eseguili prima dell’implementazione. Verifica che i nuovi test falliscano per il motivo previsto. Implementa la funzione ed esegui nuovamente i test. Non indebolire le asserzioni, non saltare i test né modificare il comportamento previsto per farli superare. Se i requisiti sono in conflitto con i test esistenti, fermati e spiega il conflitto. Mostra i risultati prima e dopo.

Implementa [nome della funzione] nel [file] per soddisfare [requisiti]. Copri il [caso normale], il [caso limite] e il [comportamento in caso di input non valido]. Esegui prima il [comando di test pertinente] e segnala eventuali errori esistenti. Scrivi i test per il comportamento richiesto, quindi eseguili prima dell’implementazione. Verifica che i nuovi test falliscano per il motivo previsto. Implementa la funzione ed esegui nuovamente i test. Non indebolire le asserzioni, non saltare i test né modificare il comportamento previsto per farli superare. Se i requisiti sono in conflitto con i test esistenti, fermati e spiega il conflitto. Mostra i risultati prima e dopo.

9. Implementare un'interfaccia utente a partire da un'immagine di riferimento

Utilizza questa funzione quando disponi di uno screenshot del progetto e di un metodo efficace per acquisire l’implementazione. Fornisci il percorso, il viewport e lo stato dell’interfaccia utente in modo che Claude possa confrontare schermate equivalenti.

Implementa il design allegato in [componente o pagina], utilizzando i componenti e gli stili esistenti del progetto. Mantieni [il comportamento richiesto] ed evita modifiche al di fuori dell’[ambito]. Utilizza [il browser configurato o lo strumento di screenshot] per acquisire [il percorso locale] alle [dimensioni del viewport] con [i dati di test e lo stato dell’interfaccia utente]. Se lo strumento o l’applicazione non sono disponibili, segnala ciò che è necessario anziché dichiarare di aver effettuato un controllo visivo. Confronta la cattura con il riferimento, concentrandoti su [layout, spaziatura, tipografia o altri criteri di accettazione]. Effettua fino a [numero] cicli di correzione, quindi segnala le differenze rimanenti. Non alterare l’immagine di riferimento. Esegui [i test dei componenti pertinenti] e [il comando di verifica dei tipi o di compilazione]. Includi lo screenshot acquisito e i risultati effettivi della verifica nel tuo riepilogo/riassunto.

Implementa il design allegato in [componente o pagina], utilizzando i componenti e gli stili esistenti del progetto. Mantieni [il comportamento richiesto] ed evita modifiche al di fuori dell’[ambito]. Utilizza [il browser configurato o lo strumento di screenshot] per acquisire [il percorso locale] alle [dimensioni del viewport] con [i dati di test e lo stato dell’interfaccia utente]. Se lo strumento o l’applicazione non sono disponibili, segnala ciò che è necessario anziché dichiarare di aver effettuato un controllo visivo. Confronta la cattura con il riferimento, concentrandoti su [layout, spaziatura, tipografia o altri criteri di accettazione]. Effettua fino a [numero] cicli di correzione, quindi segnala le differenze rimanenti. Non alterare l’immagine di riferimento. Esegui [i test dei componenti pertinenti] e [il comando di verifica dei tipi o di compilazione]. Includi lo screenshot acquisito e i risultati effettivi della verifica nel tuo riepilogo/riassunto.

Prompt per il debug e la correzione

Fornisci a Claude l’errore osservato, il comportamento previsto e le prove di cui disponi già. Un esempio riproducibile aiuta a distinguere una correzione del problema segnalato da una modifica che si limita a rimuovere il messaggio di errore.

10. Riproduci un bug prima di correggerlo

Utilizza questa guida quando sei in grado di descrivere cosa triggera l’errore. Includi i log pertinenti o esempi di input, dopo aver rimosso credenziali e dati sensibili.

Gli utenti riscontrano [sintomo] quando [trigger o input]. Il comportamento atteso è [risultato atteso]. Inizia esaminando [cartella, funzione o flusso] e i test correlati. Crea un test che fallisca e che riproduca il comportamento segnalato. Se non riesci a riprodurlo, spiega cosa hai verificato e quali informazioni mancano prima di modificare l’implementazione. Una volta riprodotto, risolvi la causa senza modificare [comportamento che deve rimanere inalterato]. Esegui il nuovo test e [comando di test correlato]. Mostra l’errore prima della correzione, i risultati successivi e eventuali errori rimanenti.

Gli utenti riscontrano [sintomo] quando [trigger o input]. Il comportamento atteso è [risultato atteso]. Inizia esaminando [cartella, funzione o flusso] e i test correlati. Crea un test che fallisca e che riproduca il comportamento segnalato. Se non riesci a riprodurlo, spiega cosa hai verificato e quali informazioni mancano prima di modificare l’implementazione. Una volta riprodotto, risolvi la causa senza modificare [comportamento che deve rimanere inalterato]. Esegui il nuovo test e [comando di test correlato]. Mostra l’errore prima della correzione, i risultati successivi e eventuali errori rimanenti.

11. Diagnosticare una build non riuscita senza bypassare i controlli

Utilizza questa funzione quando una build fallisce in locale o in CI. Fornisci il comando esatto e l’output di errore pertinente in modo che Claude possa analizzare lo stesso errore.

Il [comando di compilazione] fallisce in [ambiente locale o CI] con questo output: [log degli errori anonimizzato]. Esamina il codice e la configurazione pertinenti per identificare la causa. Verifica eventuali differenze nell’ambiente o nelle dipendenze se l’errore non si riproduce localmente. Apporta la modifica minima necessaria a risolvere la causa. Non disabilitare i controlli, non sopprimere gli errori, non saltare i test e non allentare le impostazioni del compilatore solo per ottenere una build che superi i test. Riesegui la build dopo la modifica. Se continua a fallire dopo [numero] tentativi di correzione, interrompi e segnala ciò che hai provato, l’errore attuale e il prossimo passaggio diagnostico. Riassumi la causa e includi il risultato effettivo della build.

Il [comando di compilazione] fallisce in [ambiente locale o CI] con questo output: [log degli errori anonimizzato]. Esamina il codice e la configurazione pertinenti per identificare la causa. Verifica eventuali differenze nell’ambiente o nelle dipendenze se l’errore non si riproduce localmente. Apporta la modifica minima necessaria per risolvere il problema. Non disabilitare i controlli, non sopprimere gli errori, non saltare i test e non allentare le impostazioni del compilatore solo per ottenere una build che superi i test. Riesegui la build dopo la modifica. Se continua a fallire dopo [numero] tentativi di correzione, interrompi e segnala ciò che hai provato, l’errore attuale e il prossimo passaggio diagnostico. Riassumi la causa e includi il risultato effettivo della build.

12. Individuare un bug ponendo domande mirate

Utilizza questa procedura quando i sintomi non sono chiari o sembrano plausibili diverse spiegazioni. Rispondere a domande mirate può aiutare a stabilire un caso di riproduzione prima che qualcuno effettui delle modifiche al codice. Per una guida più approfondita, consulta la sezione dedicata al debug con Claude.

Aiutami a circoscrivere un bug prima di proporre una correzione. Comportamento osservato: [cosa succede] Comportamento previsto: [cosa dovrebbe succedere] Quando si verifica: [condizioni o frequenza] Cosa ho provato: [passaggi e risultati] Poni una domanda alla volta, scegliendo quella che meglio permette di distinguere tra le possibili cause. Non ripetere domande a cui le informazioni fornite danno già una risposta. Una volta raccolte prove sufficienti, riepiloga/riassumi la spiegazione più plausibile, ciò che rimane incerto e il test più semplice in grado di confermarla o escluderla. Non effettuare ancora modifiche ai file.

Aiutami a circoscrivere un bug prima di proporre una correzione. Comportamento osservato: [cosa succede] Comportamento previsto: [cosa dovrebbe succedere] Quando si verifica: [condizioni o frequenza] Cosa ho provato: [passaggi e risultati] Poni una domanda alla volta, scegliendo quella che meglio permette di distinguere tra le possibili cause. Non ripetere domande a cui le informazioni fornite danno già una risposta. Una volta raccolte prove sufficienti, riepiloga la spiegazione più plausibile, ciò che rimane incerto e il test più semplice in grado di confermarla o escluderla. Non effettuare ancora modifiche ai file.

Prompt per la revisione e la verifica

Verifica l'implementazione rispetto ai requisiti, anziché chiedere a Claude di individuare i problemi senza un ambito definito. Richiedi prove a sostegno di ogni risultato e distingue i difetti confermati dalle questioni che richiedono ulteriori approfondimenti.

13. Verifica una modifica rispetto al piano approvato

Utilizza questa procedura dopo l’implementazione per verificare se il diff soddisfa i requisiti concordati. Specifica il confronto tra i rami o i file da esaminare, in modo che il lavoro non pertinente rimanga escluso dalla valutazione.

Utilizza un subagente per revisionare [la differenza o il ramo rispetto alla base] rispetto al [piano approvato o al file dei requisiti]. Se i requisiti mancano o sono ambigui, segnalalo prima di valutare la completezza. Verifica che ogni requisito sia implementato, che i casi limite rilevanti siano sottoposti a test e che eventuali modifiche non esulino dall’ambito concordato. Esamina il codice circostante, se necessario, per comprendere le differenze. Segnala i problemi di correttezza e i requisiti non soddisfatti indicando i riferimenti al file e alla riga, il loro impatto e le prove a sostegno di ciascun riscontro. Distingui i problemi confermati dalle questioni irrisolte. Non inventare riscontri per raggiungere una quota né includere preferenze stilistiche non pertinenti. Non effettuare modifiche ai file.

Utilizza un subagente per revisionare [le differenze o il ramo rispetto alla base] rispetto al [piano approvato o al file dei requisiti]. Se i requisiti mancano o sono ambigui, segnalalo prima di valutare la completezza. Verifica che ogni requisito sia implementato, che i casi limite rilevanti siano sottoposti a test e che eventuali modifiche non esulino dall’ambito concordato. Esamina il codice circostante, se necessario, per comprendere la differenza. Segnala i problemi di correttezza e i requisiti non soddisfatti indicando i riferimenti al file e alla riga, il loro impatto e le prove di supporto per ciascun riscontro. Distingui i problemi confermati dalle questioni irrisolte. Non inventare riscontri per raggiungere una quota né includere preferenze stilistiche non pertinenti. Non effettuare modifiche ai file.

14. Verifica la presenza di specifici rischi di sicurezza in una modifica

Utilizzalo per una revisione mirata del codice sensibile dal punto di vista della sicurezza, come l’autenticazione, la gestione delle richieste o l’accesso al database. Può integrare una revisione generale del codice, ma non garantisce che l’applicazione sia sicura.

Esamina [i file o i diff] alla ricerca di rischi di iniezione, controlli di autorizzazione mancanti, informazioni riservate esposte e gestione non sicura degli input degli utenti. Verifica i chiamanti rilevanti e la logica di convalida prima di segnalare un risultato. Per ogni problema, identifica il file e le righe interessate, le condizioni necessarie per triggerarlo, il probabile impatto e una soluzione suggerita. Distingui un percorso vulnerabile confermato da un problema che richiede ulteriori test. Non riprodurre i valori segreti nel rapporto, non modificare i file e non eseguire test sui servizi attivi. Indica quali aree sono state esaminate e cosa rimane fuori dall’ambito di analisi.

Esamina [i file o i diff] alla ricerca di rischi di iniezione, controlli di autorizzazione mancanti, informazioni riservate esposte e gestione non sicura degli input degli utenti. Verifica i chiamanti rilevanti e la logica di convalida prima di segnalare un risultato. Per ogni problema, identifica il file e le righe interessate, le condizioni necessarie per triggerarlo, il probabile impatto e una soluzione suggerita. Distingui un percorso vulnerabile confermato da un problema che richiede ulteriori test. Non riprodurre i valori segreti nel rapporto, non modificare i file e non eseguire test sui servizi attivi. Indica quali aree sono state esaminate e cosa rimane fuori dall’ambito di analisi.

15. Richiedi un riassunto di verifica prima di accettare una modifica

Utilizzalo dopo un'attività di modifica del codice per verificare cosa è stato effettivamente controllato. Aiuta a distinguere un'esecuzione di test con esito positivo da un messaggio di "terminato" non supportato.

Riassumi come hai verificato la modifica completata rispetto ai [criteri di accettazione]. Per ciascun criterio, elenca il controllo effettuato, il comando esatto (ove applicabile) e il risultato osservato. Includi l’output pertinente, con le informazioni riservate e i dati sensibili oscurati. Identifica separatamente eventuali errori preesistenti. Distingui chiaramente i controlli superati, quelli falliti e quelli non eseguiti. Spiega eventuali controlli saltati o limiti nella copertura. Non descrivere l’intera modifica come verificata se alcuni criteri rimangono non controllati.

Riassumi come hai verificato la modifica completata rispetto ai [criteri di accettazione]. Per ciascun criterio, elenca il controllo effettuato, il comando esatto (ove applicabile) e il risultato osservato. Includi l’output pertinente, con le informazioni riservate e i dati sensibili oscurati. Identifica separatamente eventuali errori preesistenti. Distingui chiaramente i controlli superati, quelli falliti e quelli non eseguiti. Spiega eventuali controlli saltati o limiti nella copertura. Non descrivere l’intera modifica come verificata se alcuni criteri rimangono non controllati.

Prompt per il refactoring e le migrazioni

Il refactoring dovrebbe preservare il comportamento esistente, mentre le migrazioni dovrebbero tenere conto delle differenze tra la vecchia e la nuova implementazione. Inizia con un ambito limitato e stabilisci quali controlli consentiranno di individuare modifiche indesiderate.

16. Rifattorizzare senza modificare il comportamento

Utilizza questo approccio quando l’implementazione necessita di una ristrutturazione, ma i suoi input, output e l’interfaccia pubblica devono rimanere invariati.

Rifattorizza [file o modulo] per [un obiettivo specifico, come la suddivisione di una funzione di grandi dimensioni o la rimozione di callback annidati]. Mantieni l’interfaccia pubblica, i valori di ritorno, il comportamento in caso di errore e gli effetti collaterali. Esegui [il comando di test pertinente] prima della modifica per stabilire una linea di riferimento. Se fallisce, segnala gli errori prima di procedere. Identifica eventuali comportamenti non coperti dai test esistenti e aggiungi test mirati dove necessario. Esegui la rifattorizzazione senza apportare modifiche non correlate o creare nuove dipendenze. Non indebolire le asserzioni esistenti per adattarle all’implementazione. Rieseguire i test e [comando di controllo dei tipi o lint]. Mostrare i risultati prima e dopo, riepilogare le modifiche strutturali e segnalare qualsiasi comportamento che non è stato possibile verificare.

Rifattorizza [file o modulo] per [un obiettivo specifico, come la suddivisione di una funzione di grandi dimensioni o la rimozione di callback annidati]. Mantieni l’interfaccia pubblica, i valori di ritorno, il comportamento in caso di errore e gli effetti collaterali. Esegui [il comando di test pertinente] prima della modifica per stabilire una linea di riferimento. Se fallisce, segnala gli errori prima di procedere. Identifica eventuali comportamenti non coperti dai test esistenti e aggiungi test mirati dove necessario. Esegui la rifattorizzazione senza apportare modifiche non correlate o creare nuove dipendenze. Non indebolire le asserzioni esistenti per adattarle all’implementazione. Rieseguire i test e [comando di controllo dei tipi o lint]. Mostrare i risultati prima e dopo, riepilogare le modifiche strutturali e segnalare qualsiasi comportamento che non è stato possibile verificare.

17. Testare una migrazione su un piccolo insieme di file

Utilizza questa procedura prima di sostituire un’API o una libreria in un intero repository. Un piccolo progetto pilota aiuta a individuare eventuali problemi di compatibilità prima che la stessa modifica raggiunga tutti gli utenti.

Individua gli utilizzi di [vecchia API o libreria] all’interno dell’[ambito della directory], escludendo i file generati e quelli forniti da terze parti. Elenca i file interessati e qualsiasi configurazione condivisa o dipendenza che la migrazione potrebbe coinvolgere. Proponi tre file rappresentativi per una migrazione pilota alla [nuova API o versione], utilizzando la [guida alla migrazione o un esempio esistente]. Spiega perché li hai selezionati e segnala eventuali modifiche di comportamento necessarie. Attendi la mia approvazione prima di apportare modifiche. Dopo l’approvazione, migra solo i file pilota e le dipendenze condivise esplicitamente approvate. Esegui [i test pertinenti] e [il comando di build o di controllo dei tipi]. Non estendere la migrazione ad altri file. Segnala le differenze, i risultati dei test, i problemi di compatibilità e le eventuali modifiche necessarie all’approccio di migrazione. Interrompi il processo per la revisione prima di proseguire con i file rimanenti.

Individua gli utilizzi di [vecchia API o libreria] all’interno dell’[ambito della directory], escludendo i file generati e quelli forniti da terze parti. Elenca i file interessati e qualsiasi configurazione di condivisione o dipendenza che la migrazione potrebbe coinvolgere. Proponi tre file rappresentativi per una migrazione pilota alla [nuova API o versione], utilizzando la [guida alla migrazione o un esempio esistente]. Spiega perché li hai selezionati e segnala eventuali modifiche di comportamento necessarie. Attendi la mia approvazione prima di apportare modifiche. Dopo l’approvazione, migra solo i file pilota e le dipendenze condivise esplicitamente approvate. Esegui [i test pertinenti] e [il comando di compilazione o di controllo dei tipi]. Non estendere la migrazione ad altri file. Segnala le differenze, i risultati dei test, i problemi di compatibilità e le eventuali modifiche necessarie all’approccio di migrazione. Interrompi il processo per la revisione prima di proseguire con i file rimanenti.

Dopo aver esaminato il progetto pilota, esegui la migrazione del resto in gruppi controllati. Il comando /batch di Claude Code può distribuire il lavoro approvato su alberi di lavoro Git isolati; uno script che esegue un ciclo su claude -p non fornisce automaticamente tale isolamento. Verifica le modifiche ai file condivisi prima di procedere alla parallelizzazione, quindi esamina e testa il risultato combinato. Per ulteriori informazioni sulla scelta di attività che possono essere eseguite in modo indipendente, consulta i flussi di lavoro multi-agente.

Prompt per Git, richiesta pull e documentazione

Utilizza questi promoti per preparare le modifiche in vista della revisione e spiegare come il codice dovrebbe essere utilizzato. Limita i commit al lavoro previsto e basa la documentazione sui comandi e sul comportamento che puoi verificare nel repository.

18. Preparare un commit e una richiesta pull

Utilizza questa opzione quando l’implementazione è pronta per la revisione. Claude deve distinguere le modifiche previste da qualsiasi altro lavoro non correlato presente nella stessa directory di lavoro.

Esamina il ramo corrente, lo stato di Git e il diff per [funzionalità/funzione o correzione]. Identifica i file relativi a questa modifica ed elenca separatamente quelli non correlati o non tracciati. Redigi una bozza del messaggio di commit seguendo il formato degli ultimi 10 commit. Prepara una descrizione della richiesta pull che indichi cosa è cambiato, perché, i test effettivamente eseguiti ed eventuali limitazioni residue. Mostra l’elenco dei file proposto, il messaggio di commit e la descrizione della PR prima di mettere in staging o pubblicare qualsiasi cosa. Attendi la mia approvazione. Dopo l’approvazione, metti in staging solo i file concordati, esegui il commit sul [ramo della funzionalità], esegui il push su [remoto] e apri una richiesta pull sul [ramo di base]. Non modificare i commit esistenti, non eseguire force-push né unire. Invia l’hash del commit e il link alla PR.

Esamina il ramo corrente, lo stato di Git e il diff per [funzionalità/funzione o correzione]. Identifica i file relativi a questa modifica ed elenca separatamente quelli non correlati o non tracciati. Redigi una bozza del messaggio di commit seguendo il formato degli ultimi 10 commit. Prepara una descrizione della richiesta pull che indichi cosa è cambiato, perché, i test effettivamente eseguiti ed eventuali limitazioni residue. Mostra l’elenco dei file proposto, il messaggio di commit e la descrizione della PR prima di mettere in staging o pubblicare qualsiasi cosa. Attendi la mia approvazione. Dopo l’approvazione, metti in staging solo i file concordati, esegui il commit sul [ramo della funzionalità], esegui il push su [remoto] e apri una richiesta pull sul [ramo di base]. Non modificare i commit esistenti, non eseguire force-push né unire. Invia l’hash del commit e il link alla PR.

19. Scrivere la documentazione per un lettore specifico

Utilizza questa opzione quando un modulo richiede istruzioni di configurazione o di utilizzo. Indicare il nome del lettore aiuta Claude a scegliere il giusto livello di dettaglio; indicare gli script del progetto aiuta a evitare comandi inventati.

Redigi una sezione README per [modulo] rivolta a [lettore, ad esempio un ingegnere backend che entra a far parte del progetto]. Tratta i prerequisiti, la configurazione, i tre comandi che userà più spesso e gli errori comuni gestiti dal codice o dalla documentazione esistente. Verifica i nomi dei comandi e le opzioni confrontandoli con [script del pacchetto, Makefile, guida della CLI o configurazione CI]. Segnala tutto ciò che non riesci a confermare. Prova i comandi locali sicuri in [ambiente di test], se disponibile. Prima di eseguire comandi che installano dipendenze, eliminano file, migrano dati, effettuano il deploy o accedono a servizi esterni, spiega i loro effetti e chiedi l’approvazione. Distingui chiaramente i comandi che hai eseguito con esito positivo da quelli verificati solo rispetto alla configurazione o alla documentazione. Mostra la sezione README proposta prima di effettuare la modifica [del percorso della documentazione] e conserva i contenuti non pertinenti.

Redigi una sezione README per [modulo] rivolta a [lettore, ad esempio un ingegnere backend che entra a far parte del progetto]. Tratta i prerequisiti, la configurazione, i tre comandi che userà più spesso e gli errori comuni gestiti dal codice o dalla documentazione esistente. Verifica i nomi dei comandi e le opzioni confrontandoli con [script del pacchetto, Makefile, guida della CLI o configurazione CI]. Segnala tutto ciò che non riesci a confermare. Prova i comandi locali sicuri in [ambiente di test], se disponibile. Prima di eseguire comandi che installano dipendenze, eliminano file, migrano dati, effettuano il deploy o accedono a servizi esterni, spiega i loro effetti e chiedi l’approvazione. Distingui chiaramente i comandi eseguiti con esito positivo da quelli verificati solo rispetto alla configurazione o alla documentazione. Mostra la sezione README proposta prima di effettuare la modifica [del percorso della documentazione] e conserva i contenuti non pertinenti.

Suggerimenti per la configurazione di Claude Code

Utilizza questi prompt per gestire le istruzioni del repository, automatizzare un controllo ricorrente e valutare uno strumento da riga di comando che non conosci. Esamina le modifiche alla configurazione prima di applicarle, specialmente quando influiscono sui comandi eseguiti automaticamente.

20. Rivedi e semplifica CLAUDE.md

Utilizza questa opzione quando il file di istruzioni contiene regole duplicate, comandi obsoleti o consigli già evidenti dal codice. Mantieni le informazioni specifiche del progetto necessarie a Claude per funzionare correttamente.

Esamina [percorso verso CLAUDE.md] alla luce della struttura attuale del repository, degli script e delle convenzioni. Non effettuare ancora modifiche al file. Individua le istruzioni obsolete, i duplicati, le contraddizioni e le regole che potrebbero essere dedotte in modo affidabile dal codice. Spiega ogni rimozione proposta, anziché eliminare le istruzioni solo per accorciare il file. Suggerisci comandi di compilazione o di test mancanti solo quando puoi verificarli negli script del progetto, in un Makefile, nella configurazione CI o nella documentazione esistente. Citare la fonte per ogni aggiunta. Restituire un diff proposto che preservi i vincoli importanti del progetto. Contrassegnare le istruzioni specifiche per un’attività che si adatterebbero meglio a una skill o a una regola a livello di percorso e attendere l’approvazione prima di applicare le modifiche.

Esamina [percorso verso CLAUDE.md] alla luce della struttura attuale del repository, degli script e delle convenzioni. Non effettuare ancora modifiche al file. Individua le istruzioni obsolete, i duplicati, le contraddizioni e le regole che potrebbero essere dedotte in modo affidabile dal codice. Spiega ogni rimozione proposta, anziché eliminare le istruzioni solo per accorciare il file. Suggerisci comandi di compilazione o di test mancanti solo quando puoi verificarli negli script del progetto, in un Makefile, nella configurazione CI o nella documentazione esistente. Citare la fonte per ogni aggiunta. Restituire un diff proposto che preservi i vincoli importanti del progetto. Contrassegnare le istruzioni specifiche per un’attività che si adatterebbero meglio a una skill o a una regola a livello di percorso e attendere l’approvazione prima di applicare le modifiche.

21. Configurare un hook di formattazione

Utilizza questa opzione quando desideri che un formattatore venga eseguito automaticamente dopo le modifiche ai file supportati. Limita l’hook ai file pertinenti e verifica il suo comportamento prima di fare affidamento su di esso.

Proponi un hook di comando Claude Code che esegua [comando del formattatore esistente] dopo che sono state apportate modifiche con "Modifica" o "Scrivi" a [modelli di file]. Esamina prima la configurazione esistente in claude/settings.json e la configurazione del formattatore. Utilizza la configurazione PostToolUse appropriata per la versione installata di Claude Code. Formatta solo il file interessato, gestisci i percorsi in modo sicuro ed escludi [file generati o altri percorsi esclusi]. Non installare dipendenze né sostituire hook esistenti. Mostra il confronto (diff) delle impostazioni proposte e spiega come verranno segnalati gli errori del formattatore. Attendi l’approvazione prima di applicarlo. Dopo l’approvazione, testalo con un file temporaneo nel progetto e riporta il risultato. Indica quali percorsi di modifica copre e quali no, incluse le modifiche apportate tramite comandi della shell.

Proponi un hook di comando Claude Code che esegua [comando del formattatore esistente] dopo che sono state apportate modifiche con "Modifica" o "Scrivi" a [modelli di file]. Esamina prima le impostazioni esistenti in claude/settings.json e la configurazione del formattatore. Utilizza la configurazione PostToolUse appropriata per la versione installata di Claude Code. Formatta solo il file interessato, gestisci i percorsi in modo sicuro ed escludi [file generati o altri percorsi esclusi]. Non installare dipendenze né sostituire hook esistenti. Mostra il confronto (diff) delle impostazioni proposte e spiega come verranno segnalati gli errori del formattatore. Attendi l’approvazione prima di applicarlo. Dopo l’approvazione, testalo con un file temporaneo nel progetto e riporta il risultato. Indica quali percorsi di modifica copre e quali no, incluse le modifiche apportate tramite comandi della shell.

22. Valutare una CLI sconosciuta prima di utilizzarla

Utilizza questa guida quando un'attività richiede uno strumento da riga di comando con cui non hai mai lavorato prima. Esaminando il messaggio di aiuto è possibile individuare le opzioni supportate, ma è comunque necessario comprendere gli effetti dei comandi proposti.

Controlla [strumento] –help e la guida relativa ai sottocomandi pertinenti all’[attività]. Non installare lo strumento se manca; segnala invece tale prerequisito. Proponi i comandi esatti necessari per completare l’attività. Spiega i loro input, output e se scrivono file, modificano risorse remote o utilizzano credenziali. Includi un’opzione di simulazione (dry-run) se lo strumento ne prevede una. Segnala eventuali configurazioni o autorizzazioni mancanti e chiedi chiarimenti piuttosto che indovinare nomi di risorse o destinazioni. Attendi l’approvazione prima di eseguire i comandi dell’attività. Dopo l’approvazione, esegui solo i comandi concordati e segnala i loro risultati effettivi, inclusi eventuali errori o passaggi incompleti.

Controlla [strumento] –help e la guida relativa ai sottocomandi pertinenti all’[attività]. Non installare lo strumento se manca; segnala invece tale prerequisito. Proponi i comandi esatti necessari per completare l’attività. Spiega i loro input, output e se scrivono file, modificano risorse remote o utilizzano credenziali. Includi un’opzione di simulazione se lo strumento ne prevede una. Segnala eventuali configurazioni o autorizzazioni mancanti e chiedi chiarimenti piuttosto che indovinare nomi di risorse o destinazioni. Attendi l’approvazione prima di eseguire i comandi dell’attività. Dopo l’approvazione, esegui solo i comandi concordati e segnala i loro risultati effettivi, inclusi eventuali errori o passaggi incompleti.

Suggerimenti per chi non scrive codice di professione

Claude Code può essere d’aiuto nell’analisi basata su file, nella creazione di report ricorrenti e nella produzione di documenti basati sui dati di origine. Fornisci le regole aziendali e gli esempi necessari per valutare i risultati e utilizza copie dei dati approvati anziché i record di produzione.

23. Riconciliare fatture e pagamenti

Utilizza questa procedura quando i pagamenti e le fatture non presentano una semplice relazione uno a uno. Definisci come gestire i pagamenti parziali, i record duplicati e i pagamenti non abbinati prima di confrontare i totali.

Confronta [invoices.csv] e [pagamenti.csv] utilizzando [ID fattura o chiave di corrispondenza]. Non modificare i file di origine. Applica queste regole: [valuta e tolleranza di arrotondamento], [ripartizione dei pagamenti parziali] e [gestione di rimborsi, crediti e pagamenti in eccesso]. Se manca una regola o una corrispondenza è ambigua, segnalala anziché assegnare automaticamente il pagamento. Mantieni gli ID delle righe di origine. Per ogni fattura, mostra l’importo fatturato, i pagamenti applicati e il saldo residuo. Segnalare gli ID duplicati, le fatture non abbinate, i pagamenti non abbinati e i saldi al di fuori della tolleranza. Riconciliare separatamente i totali delle fatture e dei pagamenti. Contabilizzare ogni riga di origine senza conteggi doppi; se un pagamento è suddiviso tra più fatture, mostrare ogni allocazione e confermare che le allocazioni non superino l’importo del pagamento. Scrivere i risultati in [nuovi percorsi di output] e riepilogare/riassumere le eccezioni che richiedono una revisione.

Confronta [invoices.csv] e [pagamenti.csv] utilizzando [ID fattura o chiave di corrispondenza]. Non modificare i file di origine. Applica queste regole: [valuta e tolleranza di arrotondamento], [ripartizione dei pagamenti parziali] e [gestione di rimborsi, crediti e pagamenti in eccesso]. Se manca una regola o una corrispondenza è ambigua, segnalala anziché assegnare automaticamente il pagamento. Mantieni gli ID delle righe di origine. Per ogni fattura, mostra l’importo fatturato, i pagamenti applicati e il saldo residuo. Segnalare gli ID duplicati, le fatture non abbinate, i pagamenti non abbinati e i saldi al di fuori della tolleranza. Riconciliare separatamente i totali delle fatture e dei pagamenti. Contabilizzare ogni riga di origine senza conteggi doppi; se un pagamento è suddiviso tra più fatture, mostrare ogni allocazione e confermare che le allocazioni non superino l’importo del pagamento. Scrivere i risultati in [nuovi percorsi di output] e riepilogare/riassumere le eccezioni che richiedono una revisione.

24. Generare un rapporto settimanale sulle operazioni

Utilizza questa procedura per la reportistica ricorrente generata dai dati esportati. Specifica l'intervallo di riferimento e le definizioni delle categorie in modo che lo script applichi le stesse regole ogni settimana.

Scrivi uno script che riepiloghi [export.csv] per il periodo compreso tra [data di inizio e ora, incluse] e [data di fine, escluse], utilizzando [fuso orario] e [colonna data]. Raggruppa i record in base alle [regole di categoria] e calcola le [metriche richieste]. Gestisci gli ID duplicati e i valori mancanti secondo le [regole]. Non modificare il file di input. Esegui lo script sul [file di input esatto]. Riporta il numero di righe incluse ed escluse, i totali per categoria e i record che non è stato possibile classificare. Confronta i risultati per [tre categorie] con i conteggi verificati in modo indipendente nel [file di riferimento]. Se tali conteggi non sono disponibili, indica che la convalida indipendente è ancora in sospeso. Mostra le discrepanze e salva il report nel [nuovo percorso di output].

Scrivi uno script che riepiloghi [export.csv] per il periodo compreso tra [data di inizio e ora, incluse] e [data di fine, escluse], utilizzando [fuso orario] e [colonna data]. Raggruppa i record in base alle [regole di categoria] e calcola le [metriche richieste]. Gestisci gli ID duplicati e i valori mancanti secondo le [regole]. Non modificare il file di input. Esegui lo script sul [file di input esatto]. Riporta il numero di righe incluse ed escluse, i totali per categoria e i record che non è stato possibile classificare. Confronta i risultati per [tre categorie] con i conteggi verificati in modo indipendente nel [file di riferimento]. Se tali conteggi non sono disponibili, indica che la convalida indipendente è ancora in sospeso. Mostra le discrepanze e salva il report nel [nuovo percorso di output].

25. Redigere un documento a partire dai file sorgente

Utilizza questa opzione quando hai bisogno di una spiegazione basata su documenti o codice approvati. Richiedi riferimenti sufficientemente specifici da consentire a un revisore di verificare ogni affermazione relativa al materiale.

Leggi [file o cartella specificati] e redigi una bozza di [tipo e lunghezza del documento] destinata a [destinatari], trattando [domande o argomenti]. Corrobora ogni affermazione fattuale con il nome di un file e, se disponibile, un riferimento a una pagina, una sezione o una riga. Distingui le citazioni dirette dalle parafrasi e non considerare una proposta o un documento obsoleto come una decisione attuale confermata. Segnala le fonti contraddittorie, le informazioni mancanti e le affermazioni che non puoi verificare. Non colmare le lacune con supposizioni né effettuare modifiche ai file di origine. Restituisci la bozza con i relativi riferimenti e un breve elenco di questioni irrisolte per il revisore.

Leggi [file o cartella specificati] e redigi una bozza di [tipo e lunghezza del documento] destinata a [destinatari], trattando [domande o argomenti]. Corrobora ogni affermazione fattuale con il nome di un file e, se disponibile, un riferimento a una pagina, una sezione o una riga. Distingui le citazioni dirette dalle parafrasi e non considerare una proposta o un documento obsoleto come una decisione attuale confermata. Segnala le fonti contraddittorie, le informazioni mancanti e le affermazioni che non puoi verificare. Non colmare le lacune con supposizioni né effettuare modifiche ai file di origine. Restituisci la bozza con i relativi riferimenti e un breve elenco di questioni irrisolte per il revisore.

Per saperne di più: Utilizzo dell’IA Claude

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa il simbolo @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di fonti utili. Includere un intero log o una directory può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare eventuali URL di documentazione che fornisci.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di fornire la reportistica relativa a ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi analizza le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic consiglia di ricominciare da capo dopo due correzioni infruttuose sullo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l'istruzione deve essere applicata:

I requisiti relativi a una singola funzionalità vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione del progetto.

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizza controlli di autorizzazione appropriati e testa il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I sottoagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in `claude/agents/` quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide sul modello Claude più adatto al lavoro e sui tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di intelligenza artificiale, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

L'istruzione “Esamina il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, individua una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia il modo in cui questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi subagenti, assegna a ciascuno di essi una domanda circoscritta, anziché delegare la stessa ricerca senza restrizioni.

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni visibili i criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di percorso. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di refactoring. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni risultato. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di risultati rilevanti quando le prove supportano tale conclusione.

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di fonti utili. Includere un intero log o una directory può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare eventuali URL di documentazione che fornisci.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di riportare ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi analizza le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic consiglia di ricominciare da capo dopo due correzioni infruttuose sullo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l’istruzione deve essere applicata:

I requisiti relativi a una singola funzionalità/funzione vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione di progetto.

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizzare controlli di autorizzazione appropriati e testare il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I sottoagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in `claude/agents/` quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide sul modello Claude più adatto al lavoro e sui tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di intelligenza artificiale, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

L'istruzione “Analizza il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, individua una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia il modo in cui questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi subagenti, assegna a ciascuno di essi una domanda circoscritta, anziché delegare la stessa ricerca senza restrizioni.

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni la visibilità dei criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di percorso. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di refactoring. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni risultato. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di risultati rilevanti quando le prove supportano tale conclusione.

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa il simbolo @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di origini dati utili. Includere un intero log o una directory può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare eventuali URL di documentazione che fornisci.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di fornire la reportistica relativa a ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi analizza le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic consiglia di ricominciare da capo dopo due correzioni infruttuose sullo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l’istruzione deve essere applicata:

I requisiti relativi a una singola funzionalità/funzione vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione di progetto.

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizzare controlli di autorizzazione appropriati e testare il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I subagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in claude/agents/ quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide al miglior modello Claude per il lavoro e ai tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di intelligenza artificiale, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

L'istruzione “Esamina il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, identifica una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia il modo in cui questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi dei subagenti, assegna a ciascuno di essi una domanda circoscritta, anziché delegare la stessa ricerca senza restrizioni.

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni visibili i criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di percorso. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di rifattorizzazione. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni risultato. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di risultati rilevanti quando le prove supportano tale conclusione.

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di fonti utili. Includere un log o una directory intera può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare gli URL della documentazione che fornisci.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di riportare ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi analizza le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic consiglia di ricominciare da capo dopo due correzioni infruttuose sullo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l’istruzione deve essere applicata:

I requisiti relativi a una singola funzionalità vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione di progetto.

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizza controlli di autorizzazione appropriati e testa il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I subagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in claude/agents/ quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide sul miglior modello Claude per il lavoro e sui tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di intelligenza artificiale, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

L'istruzione “Esamina il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, individua una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia il modo in cui questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi subagenti, assegna a ciascuno di essi una domanda circoscritta, anziché delegare la stessa ricerca senza restrizioni.

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni la visibilità dei criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di percorso. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di rifattorizzazione. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni riscontro. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di riscontri rilevanti quando le prove supportano tale conclusione.

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa il simbolo @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di fonti utili. Includere un log o una directory intera può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare eventuali URL di documentazione da te forniti.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di riportare ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi analizza le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic consiglia di ricominciare da capo dopo due correzioni infruttuose sullo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l’istruzione deve essere applicata:

I requisiti relativi a una singola funzionalità vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione del progetto.

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizzare controlli di autorizzazione appropriati e testare il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I subagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in claude/agents/ quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide al miglior modello Claude per il lavoro e ai tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di IA, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

L'istruzione “Analizza il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, individua una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia il modo in cui questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi subagenti, assegna a ciascuno di essi una domanda circoscritta, anziché delegare la stessa ricerca senza restrizioni.

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni visibili i criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di percorso. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di rifattorizzazione. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni riscontro. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di riscontri che richiedono un intervento quando le prove supportano tale conclusione.

Come scrivere un prompt per Claude Code in cinque passaggi

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa il simbolo @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di fonti utili. Includere un log o una directory intera può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare eventuali URL di documentazione che fornisci.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di fornire la reportistica relativa a ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi analizza le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic consiglia di ricominciare da capo dopo due correzioni infruttuose sullo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l’istruzione deve essere applicata:

I requisiti relativi a una singola funzionalità vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione del progetto.

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizza controlli di autorizzazione appropriati e testa il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I subagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in claude/agents/ quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide al miglior modello Claude per il lavoro e ai tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di IA, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

L'istruzione “Analizza il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, individua una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia il modo in cui questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi dei subagenti, assegna a ciascuno di essi una domanda circoscritta, anziché delegare la stessa ricerca senza restrizioni.

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni visibili i criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di applicazione specifico. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di refactoring. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni riscontro. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di riscontri che richiedono un intervento quando le prove supportano tale conclusione.

Per adattare un modello, sostituisci i suoi segnaposto con i dettagli del tuo progetto e decidi cosa deve fare Claude prima di apportare le modifiche. Segui questi passaggi per preparare la richiesta e verificare il risultato.

Passaggio 1: Decidi se l’attività richiede un piano

Per una modifica piccola e ben definita, puoi chiedere a Claude di implementarla direttamente. Per codice che non conosci, modifiche che interessano più file o requisiti non risolti, inizia con un piano.

Premi Shift+Tab fino a quando non compare la modalità Plan, oppure avvia Claude Code con il comando claude --permission-mode plan. In questa modalità, Claude può ispezionare i file ed eseguire comandi in sola lettura senza effettuare modifiche al tuo codice sorgente. Esamina i file, le dipendenze e i test proposti prima di approvare l'implementazione. Premi Ctrl+G per aprire il piano proposto nel tuo editor.

Passaggio 2: Fornire il materiale di riferimento pertinente

Fornisci a Claude le informazioni necessarie per comprendere l’attività: un riferimento a un file, un log degli errori depurato, uno screenshot o un documento dei requisiti. Usa il simbolo @ seguito dal percorso del file per includerne il contenuto.

Scegli l’insieme più piccolo possibile di fonti utili. Includere un log o una directory intera può aggiungere materiale irrilevante e consumare contesto. Rimuovi le credenziali e i dati sensibili prima della condivisione dei log e verifica che Claude disponga degli strumenti necessari per recuperare eventuali URL di documentazione che fornisci.

Ad esempio, il comando `cat error.log | claude -p "Spiega questo errore"` invia un log tramite una richiesta non interattiva. Utilizzalo solo dopo aver verificato il contenuto del file. Questo è il valore pratico dell’IA contestuale: fornire al modello informazioni rilevanti per l’attività da svolgere.

Passaggio 3: Fare riferimento a un'implementazione esistente

Quando aggiungi una funzionalità/funzione, individua un componente o una funzione simile nel repository. Indica a Claude quali convenzioni seguire, come il client API, la logica di validazione, la gestione degli errori o la struttura dei test.

“Segui come @src/widgets/Weather.tsx recupera e memorizza i dati nella cache” fornisce a Claude un riferimento concreto. Indica inoltre eventuali differenze richieste dalla nuova funzionalità/funzione, in modo che non venga copiato un comportamento ormai obsoleto. Queste convenzioni dovrebbero riflettere il flusso di lavoro di sviluppo software del tuo team.

Passaggio 4: Definisci di quali prove hai bisogno

Per le modifiche al codice, specifica il comando di test, build o lint pertinente e il comportamento che dovrebbe verificare. Per la ricerca, richiedi i riferimenti ai file o gli ID dei commit. Per il lavoro sull'interfaccia utente, fornisci un'immagine di riferimento e una modalità configurata per catturare l'implementazione nello stesso viewport.

Chiedi a Claude di riportare ciò che ha effettivamente verificato, inclusi gli errori e i controlli saltati. Verifica se le prove soddisfano i requisiti; una build superata non garantisce che ogni comportamento richiesto funzioni correttamente.

Per attività più lunghe, Claude Code offre anche una condizione /goal e gli hook Stop. Il valutatore degli obiettivi valuta le prove emerse nella conversazione anziché ispezionare autonomamente i file o eseguire test. Un hook Stop configurato può bloccare il completamento, ma presenta dei limiti per quanto riguarda i blocchi ripetuti. Nessuno dei due sostituisce i test appropriati e la revisione umana.

Passaggio 5: Reimpostare una sessione che continua a ripetere lo stesso errore

Se le ripetute correzioni non risolvono un problema, fermati e individua cosa non era chiaro nella richiesta originale. Salva le informazioni utili, lo stato attuale di Git e il lavoro rimanente prima di cancellare la conversazione.

La guida alle best practice di Anthropic raccomanda di ricominciare da capo dopo due correzioni infruttuose relative allo stesso problema. Utilizza il comando /clear, quindi fornisci un prompt rivisto che includa ciò che hai imparato. L'azzeramento della conversazione non annulla le modifiche apportate ai file.

Premi Esc per interrompere una risposta in esecuzione. Con il prompt vuoto, premi Esc due volte per aprire il menu di riavvolgimento e scegliere cosa ripristinare. Il riavvolgimento non annulla tutti gli effetti esterni, quindi utilizza i checkpoint di Git e procedure di ripristino separate per le modifiche ai database o ai servizi remoti.

Dove dovresti salvare le istruzioni del codice Claude riutilizzabili?

Salva le linee guida relative all’intero progetto nel file CLAUDE.md, le procedure ripetibili nelle skill e le istruzioni per file specifici nelle regole con ambito di percorso. Utilizza gli hook per azioni legate a eventi specifici, come l’esecuzione di un formattatore dopo una modifica.

Scegli in base al momento in cui l’istruzione deve essere applicata:

  • Un prompt: da utilizzare per l’attività corrente, inclusi i requisiti, l’ambito e i criteri di accettazione
  • CLAUDE.md: Da utilizzare per le informazioni relative all’intero progetto, quali comandi di compilazione, convenzioni del repository e vincoli che Claude non è in grado di dedurre in modo affidabile
  • Regole con ambito di percorso: da utilizzare per le convenzioni che si applicano a file o directory specifici, come i componenti frontend o il codice del database
  • Una competenza: da utilizzare per una procedura ripetibile, come l’analisi di un problema o la preparazione di un riepilogo/riassunto del rilascio
  • Un hook: da utilizzare per un'azione o un controllo innescato da un evento, come formattare un file modificato o verificare una chiamata a uno strumento prima che venga eseguita
  • Un sottoagente personalizzato: da utilizzare per un’attività specialistica che tragga vantaggio da istruzioni specifiche, accesso a strumenti dedicati e un contesto separato, come ad esempio una revisione del codice mirata

Mantenere separate le linee guida del progetto dalle istruzioni relative alle attività

I requisiti relativi a una singola funzionalità/funzione vanno solitamente inseriti nel prompt dell’attività o nelle specifiche relative a essa, piuttosto che nel file CLAUDE.md. L’aggiunta di istruzioni temporanee a un file a livello di progetto rende più difficile distinguerle dalle convenzioni che dovrebbero essere applicate in tutto il repository.

Ad esempio, inserisci il comando di test del progetto nel file CLAUDE.md, inserisci le convenzioni specifiche per i componenti in una regola con ambito di percorso e salva una procedura di revisione ricorrente come skill. Rivedi questi file quando i comandi o le convenzioni cambiano, proprio come faresti con qualsiasi altra documentazione del progetto.

Distinguere le linee guida dall’applicazione delle regole

I prompt, il file CLAUDE.md e le competenze guidano il comportamento di Claude; tuttavia, non garantiscono che un’istruzione venga seguita. Gli hook possono eseguire controlli in occasione di eventi configurati, ma la loro affidabilità dipende dal tipo di hook e dall’implementazione.

Un hook di comando esegue uno script. Un prompt o un hook di agente si basa sul giudizio di un modello. Come spiega la guida alle best practice di Anthropic: «Un prompt o un hook di agente chiede a un altro modello di decidere, quindi non è deterministico». Per una regola che deve essere applicata, utilizza controlli di autorizzazione appropriati e testa il comando o l’hook HTTP pertinente, verificandone anche la gestione degli errori.

I sottoagenti personalizzati rappresentano un altro modo per organizzare le attività ricorrenti. Definisci uno specialista in `claude/agents/` quando è necessario un ruolo di revisione specifico o un ambito di applicazione distinto per lo strumento, anziché aggiungere ogni istruzione relativa allo specialista alla sessione principale. Queste guide sul modello Claude più adatto al lavoro e sui tipi di agenti IA forniscono ulteriori informazioni di contesto.

Se il tuo team gestisce prompt su diversi prodotti di IA, dai un'occhiata a questi strumenti di ingegneria dei prompt per gestire le librerie oltre a Claude Code.

Errori comuni nei prompt di Claude Code

Quando una sessione produce un risultato incompleto o inadeguato, verifica se la richiesta ha lasciato irrisolte decisioni importanti. Questi cinque errori possono rendere più difficile la diagnosi e la revisione del lavoro.

1. Richiedere un'analisi senza una domanda chiara

L'istruzione “Analizza il repository” fornisce a Claude poche indicazioni su quali file siano rilevanti o su quando interrompere l'analisi. Potresti ricevere un riepilogo/riassunto generico senza una risposta al problema che ha dato origine alla richiesta.

Indica il comportamento o la decisione che devi comprendere, identifica una posizione di partenza e definisci l’output atteso. Ad esempio: “Traccia come questo endpoint verifica le autorizzazioni e cita le funzioni pertinenti”. Se utilizzi subagenti, assegna a ciascuno una domanda circoscritta anziché delegare la stessa ricerca senza restrizioni.

2. Combinare attività non correlate in un’unica sessione

Passare da una funzionalità/funzione a un bug non correlato e poi a una richiesta di documentazione fa sì che la conversazione continui a riportare un contesto che potrebbe non essere pertinente all’attività corrente. Riferimenti come «quel file» o «l’approccio precedente» diventano ambigui.

Utilizza sessioni separate per attività non correlate. Se più sessioni devono apportare modifiche al repository, utilizza alberi di lavoro Git separati in modo che non modifichino la stessa directory di lavoro. Una breve curiosità: il comando /btw di Claude Code mantiene lo scambio fuori dalla cronologia principale della conversazione.

3. Accettare un controllo superato che non soddisfa il requisito

Una build può superare i test anche se una funzionalità/funzione si comporta in modo errato. Una suite di test può superare i test semplicemente perché non ha mai verificato l’input che causa l’errore. Chiedere a Claude di «eseguire i test» non chiarisce quali requisiti tali test verifichino.

Mappa i criteri di accettazione a controlli specifici. Per la correzione di un bug, richiedi la prova che il test di riproduzione abbia dato esito negativo prima della modifica e positivo dopo. Mantieni visibili i criteri non testati, anziché considerare un singolo comando riuscito come verifica dell’intera modifica.

4. Aggiungere ulteriori istruzioni senza risolvere i conflitti

Un file CLAUDE.md in continua espansione può contenere comandi obsoleti, regole duplicate e istruzioni che contraddicono i requisiti specifici dell’attività. L’aggiunta di formulazioni più rigorose non risolve tali conflitti.

Confronta il file con il repository attuale. Rimuovi le indicazioni obsolete, chiarisci le regole in conflitto e sposta le istruzioni di applicazione limitata in regole o competenze con ambito di percorso. Se un requisito deve essere applicato, configura e testa i controlli appropriati invece di affidarti a ripetuti promemoria.

5. Considerare ogni risultato emerso dalla revisione come un bug confermato

Una revisione può evidenziare contemporaneamente difetti effettivi, aspetti incerti e suggerimenti facoltativi di refactoring. L’applicazione di ogni suggerimento può ampliare la portata delle modifiche senza migliorare il comportamento richiesto.

Chiedi le prove e l’impatto alla base di ogni riscontro. Assegna priorità ai problemi di correttezza e ai requisiti non soddisfatti, approfondisci le affermazioni incerte ed escludi dal diff corrente i miglioramenti non pertinenti. Un revisore dovrebbe essere in grado di segnalare l’assenza di riscontri che richiedono un intervento quando le prove supportano tale conclusione.

Come utilizzare le attività di ClickUp come brief per il codice Claude

Quando una richiesta di funzionalità ha già requisiti concordati in ClickUp, utilizza quell’attività come brief per Claude Code. Raggruppa il comportamento atteso, i vincoli e i criteri di accettazione in modo che l’implementazione possa essere revisionata in base alla stessa richiesta.

Esistono due modi per effettuare la connessione tra tale brief e il lavoro di sviluppo: leggerlo da una sessione di Claude Code tramite ClickUp MCP oppure assegnarlo a un ClickUp Cloud Agent. Si tratta di flussi di lavoro distinti.

Inserisci i requisiti delle attività in Claude Code con ClickUp MCP

Interfaccia di Claude che mostra una richiesta di approvazione per la creazione di un'attività di ClickUp relativa a “Web UI”, con le opzioni “Rifiuta”, “Consenti sempre” e “Consenti una volta”.
Esamina un'attività di ClickUp proposta prima di consentire a Claude di crearla tramite MCP

Il server ClickUp MCP consente a Claude Code di accedere agli strumenti ClickUp supportati utilizzando le autorizzazioni del tuo account. Puoi recuperare i dettagli delle attività e il contesto pertinente, quindi utilizzare gli strumenti del repository di Claude Code per ispezionare i file, apportare modifiche ed eseguire test. MCP fornisce l’accesso a ClickUp; non esegue direttamente il lavoro di programmazione a livello locale.

Segui le indicazioni del Centro assistenza, effettua l’autenticazione del tuo account e apri il repository corretto in Claude Code. Prima dell’implementazione, verifica che l’attività identifichi il comportamento previsto, i vincoli rilevanti e i criteri di accettazione. La nostra guida MCP di Anthropic spiega come funziona la connessione.

Ad esempio, un’attività relativa al checkout potrebbe richiedere che i coupon scaduti generino un errore senza creare un ordine, mentre quelli validi continuino a funzionare. Un prompt esemplificativo potrebbe essere:

  • Utilizza ClickUp MCP per leggere [ID attività o URL] e riassumerne i requisiti, i vincoli e i criteri di accettazione. Verifica che il repository e il ramo utilizzati in questa sessione corrispondano all’attività.
  • Esamina il codice pertinente e proponi un piano che mappi ciascun criterio di accettazione a un passaggio di implementazione e a un test. Segnala i requisiti mancanti o in conflitto e attendi l’approvazione prima di effettuare modifiche.
  • Dopo l'approvazione, implementa le modifiche concordate ed esegui [comando di test]. Segnala i controlli effettivamente completati, i relativi risultati e tutto ciò che non è stato ancora verificato.
  • Redigi una bozza di commento all'attività che riepiloghi le modifiche, i risultati per ciascun criterio e il link alla PR, se presente. Mostramela prima di pubblicarla. Non unire le modifiche.

Esamina il diff e le prove di test prima di accettare l’implementazione. Una volta approvata, aggiungi i risultati e il link alla pull request all’attività, in modo che i revisori possano seguire il lavoro dalla richiesta originale fino alla modifica proposta.

Assegna il lavoro definito a un agente ClickUp Cloud

Attività di ClickUp nella sezione “Revisione del codice” assegnata a Code Agent, accompagnata da una conversazione in cui Cloud Agent si offre di avviare una sessione e inviare una richiesta pull.
Assegna il lavoro a un ClickUp Cloud Agent e segui lo stato di avanzamento nel thread dell'attività.

Gli agenti ClickUp Cloud offrono un’opzione separata per lavorare su un’attività senza avviare una sessione locale di Claude Code. Collega GitHub, seleziona o conferma il repository e assegna l’attività. L’agente legge le istruzioni, lavora nel cloud e restituisce una richiesta pull nel thread dell’attività.

Applica lo stesso standard di qualità per ogni attività: spiega il comportamento previsto, identifica i vincoli e rendi i criteri di accettazione verificabili. È sempre una persona a esaminare le differenze e a effettuare i controlli prima di approvare un merge. Una PR respinta è una proposta da sottoporre a revisione, non la prova che tutti i requisiti siano stati soddisfatti.

Scegli il flusso di lavoro più adatto al modo in cui desideri supervisionare il lavoro. MCP ti consente di integrare il contesto di ClickUp nella tua sessione di Claude Code; Cloud Agents ti permette di delegare tramite ClickUp e di revisionare lì il lavoro restituito. Nessuna delle due soluzioni elimina la necessità di chiarire un brief ambiguo.

Crea una libreria di prompt basandoti sul lavoro che hai rivisto

I 25 suggerimenti sopra riportati sono punti di partenza. Man mano che li utilizzi, conserva le versioni più adatte al tuo repository e prendi nota di ciò che hai dovuto chiarire: una regola di business mancante, una dipendenza inaspettata o un test che non è riuscito a coprire il requisito.

Queste correzioni rendono un prompt riutilizzabile più utile per il tuo team. Aggiornalo quando il codice o il flusso di lavoro cambiano e mantieni la visibilità dei limiti non risolti, in modo che chi seguirà sappia dove è ancora necessaria una revisione.

Se il lavoro ha inizio su ClickUp, allega all’attività i requisiti, le decisioni e i risultati dell’implementazione. In questo modo, il prossimo sviluppatore o agente avrà a disposizione una traccia di ciò che è stato richiesto, di ciò che è stato modificato e di ciò che rimane in sospeso.

Domande frequenti sui prompt di Claude Code

Che cos’è la modalità “Plan” in Claude Code?

La modalità Pianificazione consente a Claude di ispezionare i file ed eseguire comandi in sola lettura per preparare un piano di implementazione senza effettuare modifiche al codice sorgente. Premi Shift+Tab fino a quando non viene visualizzata la modalità Pianificazione, oppure avvia una sessione con claude --permission-mode plan. Esamina l'approccio proposto prima di approvare l'implementazione; Ctrl+G apre il piano proposto nel tuo editor.

Come si aggiunge una nuova riga in un prompt di Claude Code?

Premi Ctrl+J oppure digita una barra rovesciata (\) seguita da Invio. Entrambi i metodi funzionano su tutti i terminali senza configurazioni aggiuntive. Anche Shift+Invio funziona nei terminali supportati; alcuni terminali integrati richiedono di eseguire prima il comando /terminal-setup. Consulta la guida alla configurazione del terminale per il tuo ambiente.

Come posso risolvere l'errore “Il prompt è troppo lungo” in Claude Code?

Riduci la quantità di contenuti inviati nella conversazione. Per una sessione che ha raggiunto il limite di contesto, il comando /compact riepiloga la cronologia, mentre /clear avvia una nuova conversazione. Se un singolo messaggio di grandi dimensioni non può essere compresso, accorcialo o fornisci estratti selezionati. Per i file di grandi dimensioni, chiedi a Claude di esaminare sezioni specifiche anziché caricare l’intero contenuto. La cancellazione della conversazione non annulla le modifiche apportate ai file.

Posso modificare il prompt di sistema di Claude Code?

Sì. Il flag della CLI `--append-system-prompt` aggiunge istruzioni al prompt di sistema predefinito, mentre `--system-prompt` lo sostituisce completamente. L’aggiunta preserva le istruzioni predefinite; la sostituzione richiede maggiore attenzione poiché tali istruzioni non sono più incluse. Per le convenzioni ricorrenti nei repository, il file `CLAUDE.md` è solitamente una scelta più pratica. Nessuno dei due approcci sostituisce i controlli di autorizzazione configurati. Consulta la guida di riferimento della CLI per le opzioni supportate.

Chi non sa scrivere codice può utilizzare i prompt di Claude Code?

Sì. Claude Code può aiutarti in attività quali la riconciliazione dei file, la generazione di reportistica e la stesura di documenti a partire da origini dati locali. Dovrai comunque definire le regole aziendali e revisionare l’output. Inizia con copie di dati approvati e un risultato che puoi verificare autonomamente. Se l’attività produce codice che non sei in grado di valutare, rivolgiti a un revisore qualificato prima di utilizzarlo con dati o sistemi di produzione.