Come parliamo
con Claude.
Le nostre best practice interne. Niente teoria — solo pattern che abbiamo visto funzionare, e anti-pattern che abbiamo già pagato. Espandi le sezioni una alla volta.
Sii specifica.
Claude legge le parole che gli scrivi. Tutte. Più sei specifica, meno deve indovinare.
"Sistema la pagina onboarding"
"Su /onboarding cambia il copy del cheatsheet finale: i tre comandi vanno raggruppati per fase (avvio / lavoro / chiusura). Tieni lo stile esistente."
Usa le skill come prefisso.
Le skill non sempre si attivano da sole. Forzare l'attivazione all'inizio del prompt cambia la qualità del risultato.
"Costruisci la nuova landing partner"
"Usa la skill brainstorming prima di partire. Poi frontend-design per la build. Poi verification-before-completion."
Iterazione, non one-shot.
La trappola peggiore: chiedere "tutto perfetto al primo colpo". Pattern che funziona:
- Struttura — chiedi prima il layout, header, blocchi vuoti.
- Vedi — apri in browser, guarda che ne pensi.
- Rifinisci — chiedi modifiche concrete su quello che esiste.
Tre giri da 5 minuti battono un giro da 30 minuti, sempre.
Mandagli immagini.
Trascina screenshot direttamente nella chat. Funziona per: layout di riferimento, errori visivi, mockup Figma, documenti scansionati, tabelle complesse.
Spesso uno screenshot vale 200 parole di descrizione. "Fai così, ma con i nostri colori" + immagine = risultato in 2 minuti.
Quando si rompe qualcosa.
Copia/incolla l'errore esatto. Tutto il messaggio, tutto lo stack trace. Niente parafrasi, niente "non funziona". Claude legge bene gli errori.
Se il bug è in browser: copia console + network. Se è in build: copia l'output di npm run build dal primo errore in poi.
Bonus: per bug strani, prefissa il prompt con "Usa la skill systematic-debugging".
Cosa NON fare.
- Mai credenziali in chiaro nei prompt. Né API key, né password, né token. Se serve, usa env vars referenziate per nome.
- Mai modifiche distruttive senza branch. Niente
git reset --hard,rm -rfsu cose preziose,DROP TABLEin prod. - Mai DB di produzione direttamente. Migrations versionate, applicate da CLI con review. Console Supabase prod = solo lettura.
- Mai file
.envcommittati. Devono essere in.gitignoree basta.
Subagent — quando sì.
I subagent sono potenti, ma lenti da gestire. Vale la pena solo se:
- Il task richiede >1h di lavoro lineare.
- Ci sono 2+ task veramente indipendenti (es: generare 6 OG image diverse).
- Vuoi mantenere il contesto principale pulito mentre uno scava in profondità.
Non usare subagent per: cambiare un copy, aggiungere un link, fixare un import.
Branch sandbox — quando sì.
Crea un branch sandbox/<nome> ogni volta che:
- Vuoi iterare a lungo senza paura di rompere prod.
- Stai esplorando un'idea che potrebbe finire in cestino.
- Lavori in parallelo con qualcun altro su un'altra parte del sito.
Per fix banali su main va bene direttamente. Il branch è sicurezza, non burocrazia.
Verifica prima di dichiarare fatto.
La regola più importante. Mai dire "fatto" prima di:
npm run buildverde in locale.npm run smokeverde dopo deploy (32/32 check).curldella URL nuova ritorna 200 con il contenuto giusto.- Apertura in browser incognito + hard reload.
La skill verification-before-completion è il tuo amico — usala come prefisso.
Memoria viva.
Quando trovi un pattern utile, una decisione importante, un fix ricorrente — scrivilo subito:
- Pattern di studio → qui, in
/handbook. - Decisioni progetto-specifiche → in
CLAUDE.mddel progetto. - Note personali / preferenze → in
~/.claude/projects/<id>/memory/MEMORY.md.
La memoria che non scrivi nel momento giusto, la perdi.
Anti-pattern noti.
Quattro fix che abbiamo dovuto fare dopo aver sbagliato. Salvali.
Email author git
Problema: Commit pubblici comparivano con email personale dei collaboratori.
Fix: Sempre info@pianeta.studio. Configurato per repo: git config user.email "info@pianeta.studio".
Env vars Vercel
Problema: Build OK in dev, runtime error in prod perché Nuxt non leggeva la chiave.
Fix: Su Vercel le env vanno DOPPIATE: KEY (per build/script) + NUXT_KEY (per il runtime Nuxt).
Subagent overengineering
Problema: Subagent lanciato per task banali → over-build, file di troppo, perdita controllo.
Fix: Subagent solo se task >1h o veramente paralleli. Scope chiaro nel prompt: "fai X, non Y, non Z".
Cache deploy
Problema: Deploy fatto, ma il sito vecchio rimaneva visibile per 5-10 min su browser usati.
Fix: Verifica sempre in incognito + hard reload. Se non ti fidi, prima cancella .nuxt .output .vercel/output.