05 · Handbook · Pratiche

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.

— vago

"Sistema la pagina onboarding"

+ specifico

"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.

— senza skill

"Costruisci la nuova landing partner"

+ con skill

"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:

  1. Struttura — chiedi prima il layout, header, blocchi vuoti.
  2. Vedi — apri in browser, guarda che ne pensi.
  3. 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 -rf su cose preziose, DROP TABLE in prod.
  • Mai DB di produzione direttamente. Migrations versionate, applicate da CLI con review. Console Supabase prod = solo lettura.
  • Mai file .env committati. Devono essere in .gitignore e 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:

  1. npm run build verde in locale.
  2. npm run smoke verde dopo deploy (32/32 check).
  3. curl della URL nuova ritorna 200 con il contenuto giusto.
  4. 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.md del 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.

FIX

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".

FIX

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).

FIX

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".

FIX

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.