Unitiva Discovery: come abbiamo costruito il nostro tool interno con Claude Code

Un PM, nessun team di sviluppo, 240 commit. Il metodo che ha trasformato un agente AI in un collaboratore di sviluppo affidabile

L'intelligenza artificiale ha cambiato molte cose nello sviluppo software. Ma una in particolare vale la pena raccontare: ha reso possibile ad un PM di costruire un prodotto funzionante da solo, senza appoggiarsi a un team di sviluppo.
Non come esperimento, non come prototipo da buttare. Come prodotto reale, già in uso. Quello che segue è il resoconto onesto di come è stato fatto, con quali strumenti e, soprattutto, con quale metodo.

Il progetto: Unitiva Discovery

Unitiva Discovery è una web app che guida il PM durante la sessione di discovery per il cliente. A fine sessione produce automaticamente il documento di analisi in Word, pronto da consegnare. Il progetto conta circa 240 commit, 107 issue e 49 pull request, tutto gestito con agenti AI da una persona sola.

La sfida

Far scrivere codice a un'AI è facile. Farle produrre un prodotto vero, coerente, manutenibile e che regga l'uso reale è tutt'altra storia. Senza un metodo, un agente genera molto e male: dimentica le decisioni prese, reinterpreta i requisiti a ogni sessione, riempie l'interfaccia di pattern visivi generici e i testi di scrittura artificiale.

Il problema, quindi, non era tecnologico ma metodologico. Volevamo che una sola persona, senza scrivere codice riga per riga, potesse portare un'app dall'idea alla produzione mantenendo il controllo sulla qualità ad ogni passaggio. La domanda da cui siamo partiti era una sola: come si rende un agente AI un collaboratore di cui fidarsi e non solo uno strumento da supervisionare di continuo?

La soluzione: il metodo prima dello strumento

Tutto passa da Claude Code, l'agente AI di Anthropic che lavora da terminale: legge e scrive codice, apre il browser, esegue test, gestisce GitHub. È lo strato operativo su cui si costruisce tutto il resto.

Da solo, però, non basta. La differenza la fa il metodo, organizzato attorno alle skill: pacchetti di istruzioni riusabili che insegnano all'agente come lavoriamo in Unitiva, dal modo in cui scriviamo le mail a come deve essere un'interfaccia. Le skill sono la memoria procedurale del sistema. Senza di esse, ogni sessione ripartirebbe da zero.

Grill me: l'AI che intervista, non il contrario

Il punto di partenza è una tecnica resa popolare da Matt Pocock. Invece di scrivere un prompt perfetto, lasciamo che sia l'agente a fare le domande, una dopo l'altra, finché ogni decisione è chiarita. Il risultato è una specifica che il PM e l'agente leggono allo stesso modo.

Il tempo speso qui si recupera tutto a valle. Ogni ambiguità eliminata in questa fase vale ore di revisione evitate dopo.

Dalla specifica alle issue

Una volta definita la specifica, altre skill la trasformano in un piano tecnico e poi in issue GitHub piccole e autosufficienti. Ogni issue contiene tutto quello che serve a un agente per lavorarla in autonomia: contesto, vincoli, criteri di accettazione già scritti. Nessuna interpretazione lasciata al caso.

RALPH: i loop autonomi che lavorano in background

RALPH è il sistema di loop autonomi che abbiamo utilizzato per gestire il flusso di lavoro. Prende le issue etichettate ready-for-agent, le implementa, fa revisionare il codice a un secondo agente e porta il lavoro sul ramo di staging.

Le etichette decidono quando serve l'intervento umano (HITL). Se l'agente è sicuro, prosegue da solo. Se ha dubbi, si ferma e aspetta il verdetto. In pratica, una parte del lavoro avanza anche quando il PM non è alla tastiera.

Test con il browser reale

Per verificare le funzionalità usiamo una skill che integra Playwright via MCP, collegato direttamente all'agente. L'agente pilota Chrome, il browser reale e non un ambiente di test isolato, apre l'anteprima dell'app su Vercel, clicca e compila i form come farebbe un utente, poi controlla che i criteri di accettazione siano rispettati e produce la prova dei test tramite screenshot per ogni caso di test.

Tutte le azioni sono visibili in tempo reale sullo schermo. Non è una scatola nera: è un collaudo osservabile, passo dopo passo.

La knowledge base: la LLM wiki di Karpathy mappata su Odoo

Un agente vale quanto  la conoscenza a cui attinge. Per Unitiva Discovery l'abbiamo strutturata secondo il modello delle LLM wiki reso popolare da Andrej Karpathy: documenti densi, tecnici, ottimizzati per essere consumati da un modello linguistico e non da un umano.

Per ogni modulo di Odoo 19 standard abbiamo mappato la funzionalità: cosa fa, come si comporta, quali sono i vincoli. Sono 33 pagine che l'agente consulta durante la discovery per rispondere con precisione alle domande del cliente e orientare correttamente il PM.

L'interfaccia di consultazione è Obsidian, un vault locale che organizza e interconnette i documenti della wiki. Il PM può navigare la conoscenza come una mappa, e l'agente la usa come base di riferimento durante la sessione.

Impeccable: un frontend senza estetica da AI

Per l'interfaccia usiamo la skill Impeccable: una serie di revisioni sistematiche su gerarchia visiva, tipografia, spaziature, colori, stati vuoti e micro-interazioni. Lo scopo è evitare l'estetica generica delle app generate con AI e arrivare a un'interfaccia che sembra disegnata da un designer, non assemblata da un modello.

Humanizer: via la scrittura artificiale

Tutti i testi, dall'interfaccia ai documenti finali, passano per la skill Humanizer, basata sulla guida di Wikipedia sui segnali della scrittura AI. Toglie i pattern tipici, dall'enfasi gonfiata alle liste a tre elementi fino agli em dash ovunque, e rende il testo naturale. Anche questo articolo ci è passato.

I risultati

Schermata tool Unitiva Discovery
Il valore del progetto non sta nel codice generato, ma in cosa il metodo ha reso possibile concretamente:

  • Un prodotto reale in produzione, costruito da una sola persona: Unitiva Discovery non è un prototipo, è uno strumento già in uso che il team adopera per produrre documenti di analisi  per i clienti.
  • Lavoro asincrono e parallelo: grazie ai loop RALPH, le issue etichettate avanzano in autonomia anche fuori dal presidio del PM, che interviene solo sulle decisioni che lo richiedono.
  • Una knowledge base di dominio riusabile: la mappatura completa dei moduli Odoo 19 standard rende l'agente accurato in sessione e resta un asset disponibile per i progetti futuri.
  • Generazione automatica del deliverable: a fine sessione l'app produce il documento di analisi in Word pronto da consegnare, eliminando la stesura manuale del report.
  • Collaudo osservabile, non dichiarato: ogni funzionalità è verificata pilotando un browser reale, con criteri di accettazione controllati passo dopo passo e visibili a schermo.
  • Interfaccia e testi senza impronta AI: le skill Impeccable e Humanizer garantiscono un risultato che, sul piano visivo e testuale, non si distingue da quello di un team di prodotto.

Cosa cambia per il ruolo del PM

Il PM non scrive codice riga per riga: decide e verifica, gli agenti eseguono. La conoscenza di dominio diventa il carburante. Senza una knowledge base solida l'agente lavora alla cieca; con la wiki di Odoo strutturata correttamente, l'agente in app sa già cosa prevede lo standard per ogni processo, e il PM può concentrarsi sulle eccezioni, sulle personalizzazioni, sul valore che il cliente cerca davvero.

Resta il punto che conta più di ogni strumento: senza specifiche chiare e criteri di accettazione scritti, l'AI produce tanto ma male. Con un metodo produce tanto e bene, anche quando nessuno sta guardando.

Unitiva Discovery è nato per le nostre esigenze interne, ma il metodo che lo sostiene è lo stesso che applichiamo allo sviluppo per i clienti. Vuoi capire come gli agenti AI possono entrare nei tuoi processi di sviluppo? Parliamone.

Autoreadmin
back to top icon