Dai requisiti
alle user story.

Claude per PM: dai requisiti del cliente alle user story.
SpeakerDanilo Spanò

La call è finita. Il lavoro inizia adesso.

Registrazione salvata e note su un documento. Business e dev che aspettano. Due formati: Linear e GitHub.

01
Note sparse.
La call finisce. Hai tre pagine di appunti, una registrazione di 40 minuti, zero struttura. Ricominci da capo.
02
Un requisito, due traduzioni.
Il business vuole contesto e priorità. Il dev vuole acceptance criteria e edge case. Stesso requisito: un task su Linear e una issue su GitHub. Li scrivi tu, due volte.
03
Scrivi tutto due volte.
Task su Linear per il PM. Issue su GitHub per il dev. Stessa informazione, formato diverso. Ogni volta che cambia qualcosa: aggiorni entrambi.

La call. Così com'è.

Cliente: Ciao! Scusa se ti disturbo il lunedì mattina.

PM: Nessun problema, stavo fissando il vuoto. Dimmi tutto.

Cliente: Ho due cose. La prima è un casino: le email di notifica non partono quando aggiorniamo lo stato di un ordine. Ci è stato segnalato più volte questa settimana.

PM: Non partono proprio o arrivano in ritardo?

Cliente: Proprio non arrivano.

PM: Capito. I tuoi clienti le usano frequentemente?

Cliente: Sì, usano quelle notifiche per gestire i flussi. Se non arrivano, si bloccano.

PM: Ok, allora diamo la priorità al fix. L'altra?

Cliente: Filtri avanzati sui report, per data, categoria e utente. Adesso scaricano tutto e filtrano su Excel. Avevamo detto entro fine mese, regge ancora?

PM: Sì. Però ho bisogno di sapere una cosa: i filtri devono funzionare anche sull'export?

Cliente: (pausa) ...non me l'hanno ancora chiesto. Ti faccio sapere domani?

PM: Perfetto. Mandami quello e organizzo nel pomeriggio.

Cliente: Grazie!

PM: Buon lunedì.

Cliente: Già.

Claude legge. Claude classifica.

Dalla trascrizione caotica Claude estrae quattro categorie. Non inventa niente: riorganizza quello che c'è.

→ Bug
Email di notifica non inviate all'aggiornamento stato
Tre clienti segnalati. Nessun pattern chiaro, succede a tutti. Impatto diretto sui flussi operativi.
Priorità alta · impatto diretto su clienti
→ Feature
Filtri avanzati sui report
I clienti filtrano su Excel dopo l'export. Vogliono filtrare per data, categoria e utente nell'app. Deadline: fine mese.
Feature richiesta · deadline attiva
→ Decisione
Deadline fine mese confermata
Elena ha confermato la scadenza precedentemente concordata per i filtri avanzati.
Impegno preso · da tracciare
→ Ambiguità
Filtri anche sull'export?
Elena ha sollevato il dubbio: i filtri si applicano solo alla visualizzazione o anche al CSV/Excel esportato?
Aperto · Claude chiede prima di procedere

Le domande giuste. La destinazione giusta.

Claude: Ho analizzato la call con il Cliente. Due cose, ordini diversi. Partiamo dalla prima: le email di notifica. Quando non arrivano, i clienti perdono operazioni irreversibili o ricevono solo un aggiornamento in ritardo?

PM: Si bloccano completamente. Senza la notifica non sanno che lo stato è cambiato: non processano l'ordine.

Claude: Impatto operativo diretto su clienti paganti. Questo non aspetta il prossimo sprint. GitHub issue oggi, priorità urgente.

Claude: Seconda cosa: i filtri avanzati sui report. Devono applicarsi anche all'export CSV, o basta la visualizzazione in-app?

PM: Non lo so ancora. La referente del cliente non me l'ha ancora detto, le scrivo stasera prima del sync.

Claude: Allora fermati qui. Scope aperto: task su Linear prima, parlane internamente. Se l'export è incluso lo scope può raddoppiare: potrebbe servire un preventivo al cliente.

Chat · Claude · dopo la call con il Cliente · stessa mattina

Per il PM. Per il dev. Mai più la stessa cosa.

→ PM · Linear linear.app / cliente / issues 2 Open · Sprint attivo
DFL-47
Email di notifica non inviate: clienti bloccati sugli ordini
Tre clienti enterprise segnalano il problema. Senza notifica non processano gli ordini. Impatto diretto sul loro fatturato. Nessun workaround disponibile.
Priorità urgente Bug Cliente enterprise Sprint corrente
DFL-48
Rimuovi i filtri avanzati dai report: meno Excel, più autonomia
I clienti usano i filtri avanzati solo per esportare su Excel. È un workaround, non un workflow. Vogliamo rimuovere la sezione e sostituirla con viste salvate e un bottone export contestuale sempre visibile. Deadline concordata con la referente: fine mese.
Priorità media Rimozione Scope confermato Deadline: fine mese
→ Dev · GitHub github.com / cliente / app / issues 2 Open
[Bug] Email notifications not triggered on order status update
Acceptance: email sent within 60s of OrderStatusUpdated event · send failure: retry ×3 exp backoff → dead-letter queue · deduplication via event_id · delivery logged with order_id + user_id
Edge cases: user.email null → skip + WARN log, no exception · provider 5xx → retry, then alert #ops · duplicate events from queue re-delivery → deduplicate by event_id · status reverted before send → cancel pending job
bugurgentemail-service
[Chore] Remove advanced filters from /reports: replace with saved views + export button
Acceptance: advanced filters section no longer rendered on /reports · persistent CSV export button visible without interaction · 2 default saved views shipped (TBD with design) · existing basic filters (date, status) untouched · no regression on saved reports
Edge cases: bookmarked URLs with old filter params → ignore params silently, no throw · user without reports:read → existing guard unchanged · power users using advanced filters → check with @product before shipping
chorereportsremoval

Come parlargli. Tre regole.

Non serve saper programmare. Serve sapere cosa chiedere e come chiederlo.

01
Dai contesto.
«Siamo un SaaS B2B con clienti enterprise. Il PM non è tecnico. I dev lavorano su GitHub.» Claude adatta il registro, il formato e il livello di dettaglio.
02
Specifica il formato.
«Genera due output separati: un task Linear per il PM e una GitHub issue per il dev.» Se non dici il formato, Claude sceglie lui: spesso sbagliato.
03
Gestisci le ambiguità.
«Se mancano informazioni per completare il task, fai domande prima di generare.» Senza questo Claude inventa. Con questo Claude chiede.

Una Skill. Zero ripetizioni.

Spiegare a Claude le stesse cose ogni volta è tempo perso. Salvi le istruzioni una volta Claude le applica a ogni trascrizione, automaticamente.

Ruolo: Assistente PM. Il PM non è tecnico. I dev usano GitHub.

Quando ricevi una trascrizione di una call cliente:
 · Estrai: bug, feature request, decisioni, ambiguità
 · Per ogni item: tipo · chi lo ha detto · urgenza dichiarata · impatto (blocca clienti / non critico)
 · Se lo scope non è chiaro → fai domande prima di generare task

Routing:
 · Bug con impatto operativo su clienti paganti → GitHub issue oggi, urgente
 · Bug non bloccante + scope chiaro → GitHub issue, priorità normale
 · Bug non bloccante + scope non chiaro → chiedi prima
 · Feature con scope aperto → Linear prima, parla internamente
 · Ambiguità su impatto o scope → chiedi prima di assegnare

Output · Task Linear (PM):
 · Titolo: linguaggio business, zero termini tecnici
 · Corpo: contesto decisionale, perché è prioritario, chi è coinvolto
 · Label: priorità · tipo · stato scope
 · Deadline solo se concordata esplicitamente in call

Output · Issue GitHub (dev):
 · Titolo: [Bug] / [Feature] / [Chore] + descrizione tecnica
 · Acceptance criteria: testabili, uno per riga
 · Edge case: null, errori, duplicati, permessi

Regole:
 · Campo mancante → chiedi, non inventare
 · Scope non confermato → non generare GitHub issue
 · Requisito cambia → aggiorna entrambi i documenti
→ Dove si salva
Claude.ai
Projects
Nuovo progetto → Istruzioni personalizzate. Nessun terminale.
No terminale · Account Pro
Claude Code
Skills
File .md nella cartella /skills/. Si carica in automatico.
CLI · Scalabile · API key

Come iniziare oggi.

→ 01 · Inizia subito
Claude.ai
+ MCP
MCP (Model Context Protocol) è il protocollo che connette Claude ai tuoi strumenti. Lo configuri una volta su Claude.ai: poi Claude legge Linear, apre issue su GitHub, crea task senza che tu copi nulla. Interfaccia chat, zero terminale.
Per chi: PM senza background tecnico · Requisiti: account Claude Pro
→ 02 · Scala
Claude CLI
Claude CLI (Claude Code) è la versione da terminale di Claude: niente browser, niente chat. Scrivi un comando, passa la trascrizione, ricevi i task pronti. Integrabile con Zapier, Make, n8n per pipeline completamente automatiche.
Per chi: PM con background tecnico o supporto dev · Requisiti: API key

Il flusso. Tre regole.

Call cliente
InputTrascrizione grezza · appunti · ambiguità
Claude
ProcessoAnalizza · classifica · chiede
Output
FormatoLinear per il PM · GitHub per il dev
01
Contesto
«Siamo un SaaS B2B. Il PM non è tecnico.» Claude adatta registro, formato e livello di dettaglio.
02
Formato
«Due output: Linear e GitHub.» Senza questo Claude sceglie da solo: spesso sbagliato.
03
Ambiguità
«Fai domande prima di generare.» Senza questo Claude inventa. Con questo Claude chiede.
→ Contatto

Danilo Spanò
Claude Torino #1
claudetorino.dev

→ LinkedIn
01 / 12