Sviluppo guidato dalle specifiche

Scrivi una specifica prima di dare un prompt a un agente di coding AI

Spec Kit è un progetto open source di GitHub. Questa guida è indipendente e non è affiliata a GitHub né approvata da GitHub.

Gran parte della frustrazione con gli agenti di coding AI nasce dalla stessa causa: una richiesta vaga produce un risultato vago, e capisci cosa volevi davvero solo dopo aver letto codice che non gli corrisponde. Una specifica sistema l'ordine delle operazioni. Prima di mandare un solo prompt, scrivi tre cose brevi in linguaggio semplice: cosa deve fare la cosa che stai costruendo, per chi è e quali controlli specifici ti dicono che è finita. Niente di tutto questo richiede di saper programmare. Spec Kit di GitHub, un toolkit open source mantenuto nel repository di GitHub, costruisce attorno a questa abitudine un processo strutturato e ripetibile per gli agenti di coding, con un proprio strumento da riga di comando e una sequenza di passaggi con nome che va dai principi guida del progetto fino a una build funzionante. Questa guida spiega la specifica in tre parti che puoi scrivere a mano in cinque minuti, come il flusso di Spec Kit trasforma la stessa idea in comandi separati e quando conviene installare il toolkit completo invece di scrivere la specifica da soli.

Una specifica è un breve documento in linguaggio semplice che scrivi prima di chiedere a un agente di coding di costruire qualcosa: cosa fa, per chi è e i controlli di completamento che dimostrano che è finito. Spec Kit di GitHub, un toolkit open source sviluppato nel repository di GitHub, trasforma questa abitudine in un flusso ripetibile con comandi propri per fissare i principi, scrivere la specifica, pianificare, dividere il piano in attività, implementare e far convergere il risultato; la sua documentazione indica gli agenti a cui si collega, tra cui Claude Code di Anthropic e GitHub Copilot. Non serve il toolkit per ottenere il beneficio: scrivere lo stesso documento in tre parti come primo messaggio funziona con qualsiasi agente di coding tu usi già.

Pubblicato il

Lezione gratuita · nessun account richiestoIncontra ClaudePerché Claude?6 minInizia la lezione gratuita

Punti chiave

  • Una specifica sono tre cose scritte prima del primo prompt: cosa deve costruire l'agente, per chi è e i controlli di completamento che dimostrano che è finito.
  • Spec Kit di GitHub è un toolkit gratuito e open source, con licenza MIT secondo il suo stesso repository, che trasforma questa abitudine in sei comandi con nome: una constitution, una specifica, un piano, un elenco di attività, l'implementazione e infine la convergenza.
  • Per trarre beneficio da una specifica non serve Spec Kit. Scrivere lo stesso documento in tre parti come primo messaggio funziona in Claude Code, nel Codex di OpenAI, in Copilot, in Cursor di Anysphere o in qualsiasi altro agente di coding.
  • La documentazione di installazione di Spec Kit indica gli agenti di coding a cui si collega tramite una chiave di integrazione, tra cui Claude Code e GitHub Copilot, con una procedura per aggiungerne altri.
  • Saltare i controlli di completamento è il modo più comune in cui una specifica fallisce senza farsi notare: senza di essi né tu né l'agente potete capire se il lavoro è davvero finito.

Copia e incolla

Prompt da usare subito

Una specifica in tre parti con cui aprire la prima chat

Ecco la specifica di ciò che voglio che tu costruisca. COSA FA: uno script che ordina i file della mia cartella Download in sottocartelle datate per tipo di file. PER CHI È: solo per me, lo eseguo a mano dal terminale, nessun altro utente. COMPLETATO QUANDO: eseguendolo su una cartella di prova con 20 file di esempio, ognuno finisce nella sottocartella giusta, nulla al di fuori di quella cartella viene toccato e posso annullare l'intera esecuzione con un solo comando. Chiedimi tutto ciò che ti serve prima di iniziare a costruire.

Incolla questo testo come primissimo messaggio, prima di qualsiasi discussione su come dovrebbe funzionare.

Chiedere a un agente di trasformare un'idea vaga in una specifica

Voglio costruire qualcosa, ma la mia idea è ancora vaga. Ecco più o meno cosa ho in mente: descrivi qui la tua idea di massima in una o due frasi. Prima di scrivere qualsiasi codice, fammi domande finché non riesci a riformularmi, in tre parti brevi, cosa fa, per chi è e come capiremo entrambi che è finito. Non iniziare a costruire finché non ti confermo tutte e tre le parti.

Utile quando conosci la forma del problema ma non hai ancora definito i dettagli.

Verificare i controlli di completamento prima di approvare una build

Prima di iniziare a implementare, elenca i controlli specifici che eseguirai per dimostrare che il lavoro è finito: cosa testerai, quale risultato atteso hai per ciascuno e cosa conta come fallimento. Se un controllo richiede qualcosa che non puoi verificare da solo all'interno di questa sessione, dimmelo adesso invece di dare per scontato che funzionerà più avanti.

Un buon agente dovrebbe saper rispondere in dettaglio prima di scrivere una sola riga di codice.

L'abitudine di base

Perché la specifica viene prima del prompt

Scrivere la richiesta direttamente a un agente di coding sembra più veloce che scrivere prima qualcosa su carta, e per un'attività davvero banale spesso lo è. I problemi iniziano con tutto ciò che ha più di un'interpretazione ragionevole: l'agente ne sceglie una, costruisce in quella direzione e tu scopri che era quella sbagliata solo quando leggi il codice finito. Ogni giro successivo costa più dei pochi minuti che una specifica avrebbe richiesto.

Una specifica cambia l'ordine delle operazioni. Prima che venga scritto qualsiasi codice, metti per iscritto tre cose in linguaggio semplice: cosa deve fare la cosa, per chi è e i controlli di completamento che dimostrano che funziona. Non è un documento tecnico. Somiglia di più al biglietto che lasceresti a un assistente capace che non ti ha mai incontrato: abbastanza dettagli perché non debba tirare a indovinare sulle parti che contano.

Funziona per una ragione semplice. L'agente smette di riempire i vuoti della tua richiesta con le proprie ipotesi, perché i vuoti da riempire sono meno. E tu smetti di scoprire cosa volevi davvero leggendo a posteriori l'output dell'agente, perché l'hai già scritto prima di chiedere qualsiasi cosa.

Niente di tutto questo vale per un solo strumento. Claude Code, Codex, Copilot, Cursor e ogni altro agente di coding funzionano alla stessa maniera di base: istruzioni in linguaggio semplice in ingresso, codice e comandi in uscita. Una specifica cambia ciò che entra, e quindi ciò che torna indietro, qualunque agente tu stia usando.

La specifica in tre parti

Cosa contiene una specifica che puoi scrivere in cinque minuti

Quattro parti brevi, in linguaggio semplice. Nulla di tutto questo richiede di saper programmare.

Cosa fa

Una o due frasi che descrivono il comportamento, non l'implementazione. "Ordina i file per tipo in cartelle datate", non una descrizione di quali funzioni o librerie usare.

Per chi è

Solo per te, eseguito a mano? Per un collega che non ha mai visto il progetto? Questa risposta cambia ciò che serve davvero costruire, spesso più della descrizione della funzione.

Controlli di completamento

Le condizioni specifiche e verificabili che dimostrano che la build è finita. È la parte che la maggior parte delle persone salta, e quella che conta di più quando qualcosa va storto.

Vincoli di sicurezza

Facoltativi, ma utili quando la posta in gioco è reale: cosa l'agente non deve mai fare, come toccare file al di fuori di una cartella o inviare qualcosa in automatico.

Una struttura open source per tutto questo

Come Spec Kit di GitHub trasforma una specifica in un flusso di lavoro

Spec Kit di GitHub è un toolkit open source, mantenuto nel repository di GitHub con licenza MIT, pensato per dare agli agenti di coding AI processi strutturati, modelli riutilizzabili e risultati documentati invece di conversazioni isolate. Si installa con un proprio strumento da riga di comando e il suo README lo descrive come un toolkit per iniziare con lo sviluppo guidato dalle specifiche, o con qualsiasi altro processo strutturato che vuoi far seguire a un agente.

Il flusso principale, secondo la documentazione del progetto, attraversa una sequenza con nome di sei comandi: uno fissa i principi guida del progetto, uno scrive la specifica vera e propria, uno trasforma la specifica in un piano tecnico, uno divide il piano in un elenco ordinato di attività, uno esegue le attività e scrive il codice, e un ultimo verifica quanto il risultato sia convergente rispetto alla specifica. L'indicazione del progetto è di eseguirli uno alla volta, rivedendo ogni risultato prima di proseguire, e di ripetere i passaggi di implementazione e convergenza finché la convergenza non segnala il lavoro come convergente, invece di affidare tutto all'agente in un colpo solo.

Il toolkit include anche estensioni separate da aggiungere al flusso principale, sempre secondo la sua documentazione: un gruppo di comandi costruito attorno alla valutazione e alla correzione di un bug specifico, e un altro costruito per portare un'idea abbozzata attraverso ricerca e definizione prima di decidere se costruirla davvero.

Quanto agli agenti a cui si collega, la documentazione di installazione di Spec Kit ne indica diversi tramite una chiave di integrazione da passare in fase di installazione, tra cui Claude Code e GitHub Copilot, e rimanda a una propria documentazione separata per collegare altri agenti oltre a quelli citati direttamente. Considera qualsiasi elenco di agenti, compreso questo, come un'istantanea: controlla la documentazione aggiornata di Spec Kit prima di dare per scontato che uno strumento sia o non sia supportato oggi.

Il flusso, comando per comando

I sei comandi principali di Spec Kit

Secondo il README del progetto, il flusso guidato dalle specifiche attraversa questi sei passaggi in ordine, ripetendo gli ultimi due finché il risultato non converge.

Fissare la constitution

Un comando che registra i principi validi per tutto il progetto che l'agente deve rispettare in ogni passaggio successivo, scritti una volta e riutilizzati nel lavoro seguente.

Scrivere la specifica

Un comando che produce il documento di specifica vero e proprio, lo stesso brief in linguaggio semplice descritto sopra, ora salvato come file riutilizzabile invece che come messaggio isolato.

Pianificare l'approccio

Un comando che trasforma la specifica in un piano tecnico, scegliendo un approccio prima che venga scritto codice, così una decisione di progettazione non resta nascosta dentro l'implementazione.

Dividere in attività

Un comando che spezza il piano in un elenco concreto e ordinato di attività, ciascuna abbastanza piccola da poter essere verificata da sola.

Implementare

Un comando che esegue l'elenco di attività e scrive il codice, usando come guida tutto ciò che è venuto dai passaggi precedenti invece di ripartire da zero.

Far convergere

Un comando che verifica quanto il risultato corrisponda alla specifica. Secondo l'indicazione del progetto, si ripetono insieme implementazione e convergenza finché la convergenza non segnala il lavoro come convergente.

Senza installare nulla

Scrivere una specifica a mano, senza toolkit

Per chi non è sviluppatore e deve costruire una sola piccola cosa, eseguire l'intero flusso di Spec Kit può essere più cerimonia di quanta ne serva. La sola specifica in tre parti, scritta come primissimo messaggio all'agente che usi già, fa gran parte del lavoro da sola, senza niente da installare.

Incolla la specifica, poi lascia che l'agente ti faccia domande di chiarimento prima di scrivere qualsiasi cosa. Un agente capace chiede quando qualcosa non è chiaro, e una specifica gli dà qualcosa di concreto su cui chiedere, invece di indovinare in silenzio e costruire con sicurezza la cosa sbagliata.

Questa versione semplice dell'abitudine è portabile. Lo stesso documento in tre parti funziona con Claude Code, Codex, Copilot, Cursor o qualsiasi altro agente di coding, perché nulla dipende da una funzione specifica di un solo strumento. È un'abitudine che stai costruendo, non un plugin che stai installando.

Dove le cose vanno male

Gli errori che annullano una specifica

Scrivere una specifica aiuta meno di quanto dovrebbe quando si insinua uno di questi errori.

Nessun controllo di completamento

Una specifica senza un modo per verificare il completamento sposta soltanto il tirare a indovinare dal prompt alla revisione, dove è più difficile accorgersene.

Mescolare dettagli di implementazione

Indicare un linguaggio di programmazione o un algoritmo specifico prima ancora di decidere se la funzione serve davvero trasforma una specifica in progettazione prematura.

Scriverla a posteriori

Una specifica redatta per corrispondere a codice già esistente documenta solo ciò che è stato costruito. Non può individuare un problema con cui è stata scritta per essere d'accordo.

Una specifica, molte attività

Una specifica che copre più di un'attività reale seppellisce quella che conta davvero. Mantieni ogni specifica su un solo lavoro, verificabile.

Quando ricorrere al toolkit

Specifica semplice o Spec Kit completo: come scegliere

Per una singola piccola build, una semplice specifica in tre parti scritta direttamente in chat basta ed è più rapida che installare qualcosa. La maggior parte degli esempi di questa guida è scritta proprio per questo caso.

Spec Kit comincia a valere il costo di configurazione quando ripeti questo lavoro sullo stesso progetto, vuoi che i principi siano applicati automaticamente a ogni nuova funzione, oppure vuoi la struttura delle estensioni per la correzione di bug o la valutazione di idee invece di inventarne ogni volta una tua versione.

In ogni caso la competenza vera è la stessa: dire cosa fa, per chi è e come saprai che è finito, prima che venga scritta una sola riga di codice. Il toolkit si limita ad automatizzare questa messa per iscritto in modo coerente, quando l'abitudine è una che metti in pratica abbastanza spesso da valere l'automazione.

Esercitati a scrivere una specifica prima di costruire

Scrivere una specifica chiara, e dare a un agente di coding AI istruzioni di progetto permanenti, è una competenza che si trasferisce su ogni strumento di questa guida. La lezione gratuita di Nightschool AI sul file di istruzioni di un progetto spiega proprio questo, usando Claude Code come esempio.

Domande frequenti

Che cos'è esattamente una specifica, in questo contesto?

Un breve documento in linguaggio semplice che scrivi prima di chiedere a un agente di coding di costruire qualcosa. Come minimo indica cosa deve fare la cosa, per chi è e i controlli di completamento che dimostrano che è finita. Non è un documento tecnico e non richiede di saper programmare.

Devo saper programmare per scriverne una?

No. Una specifica descrive comportamenti e risultati in linguaggio semplice, non l'implementazione. Descrivere cosa deve fare uno strumento e come saprai che funziona non richiede conoscenze di programmazione, anche se l'agente che lo costruisce scriverà codice vero.

Che cos'è Spec Kit di GitHub?

Un toolkit open source, con licenza MIT, mantenuto nel repository di GitHub. Dà agli agenti di coding AI un processo strutturato e ripetibile basato sullo sviluppo guidato dalle specifiche, con un proprio strumento da riga di comando e una sequenza con nome di sei comandi, dai principi guida del progetto fino all'implementazione e alla convergenza.

Con quali agenti di coding funziona Spec Kit?

Secondo la sua documentazione di installazione, colleghi un agente in fase di installazione con una chiave di integrazione; la documentazione ne indica diversi in questo modo, tra cui Claude Code e GitHub Copilot, e rimanda alla propria documentazione per collegarne altri. Controlla la documentazione aggiornata di Spec Kit per l'elenco completo prima di dare per scontato che uno strumento specifico sia coperto.

Questa guida è affiliata a GitHub?

No. È una guida didattica indipendente, non pubblicata né approvata da GitHub. Spec Kit e GitHub sono un progetto e un marchio di GitHub, citati qui solo per descriverli con precisione.

Qual è la differenza tra una specifica e un prompt più lungo?

Un prompt più lungo resta un solo messaggio che descrive un'attività. Una specifica è un documento strutturato con tre parti precise, cosa fa, per chi è e controlli di completamento, pensato per essere letto, confermato e riutilizzato, non scritto una volta e dimenticato.

Cosa sono, in concreto, i controlli di completamento?

Condizioni verificabili che dimostrano che una build è finita: cosa controllerai, il risultato atteso per ciascun controllo e cosa conta come fallimento. Senza di essi non esiste un modo condiviso per capire se l'agente ha davvero finito il lavoro o si è semplicemente fermato.

Devo installare Spec Kit per avere il beneficio di questa abitudine?

No. Scrivere la stessa specifica in tre parti come primo messaggio a qualsiasi agente di coding, Claude Code, Codex, Copilot, Cursor o un altro, dà gran parte del beneficio senza niente da installare. Spec Kit è una struttura ripetibile per farlo spesso, non un requisito per farlo.

Spec Kit è gratuito?

Sì. È un progetto open source rilasciato con licenza MIT, secondo il suo repository, e si installa con il suo strumento da riga di comando gratuito.

Che cosa produce il comando di Spec Kit che scrive la specifica?

Secondo la documentazione del progetto, produce il documento di specifica vero e proprio, lo stesso brief in linguaggio semplice descritto in tutta questa guida, salvato come file riutilizzabile nel tuo progetto invece di essere scritto da capo in chat ogni volta.

Trasforma una specifica nel tuo primo agente AI

Dì cosa fa, per chi è e come saprai che è finito, poi costruisci.

Nightschool AI è una piattaforma di apprendimento indipendente e non è affiliata, approvata o sponsorizzata da Anthropic. Claude è un marchio di Anthropic, PBC. Cerchi la Claude Academy ufficiale di Anthropic? La trovi su academy.claude.com.