create-pwt 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +51 -0
  2. package/bin/create-pwt +7 -0
  3. package/bin/init.sh +136 -0
  4. package/bin/update.sh +112 -0
  5. package/package.json +22 -0
  6. package/template/.claude/agents/task-agent.md +142 -0
  7. package/template/.claude/settings.json +15 -0
  8. package/template/.claude/skills/analisi/SKILL.md +50 -0
  9. package/template/.claude/skills/architettura/SKILL.md +58 -0
  10. package/template/.claude/skills/blueprint/SKILL.md +85 -0
  11. package/template/.claude/skills/deploy/SKILL.md +63 -0
  12. package/template/.claude/skills/design/SKILL.md +51 -0
  13. package/template/.claude/skills/implementazione/SKILL.md +148 -0
  14. package/template/.claude/skills/implementazione/code-quality-reviewer-prompt.md +83 -0
  15. package/template/.claude/skills/implementazione/spec-reviewer-prompt.md +73 -0
  16. package/template/.claude/skills/legale/SKILL.md +57 -0
  17. package/template/.claude/skills/pianificazione/SKILL.md +88 -0
  18. package/template/.claude/skills/qa/SKILL.md +59 -0
  19. package/template/.claude/skills/ricerca/SKILL.md +50 -0
  20. package/template/.claude/skills/roadmap/SKILL.md +170 -0
  21. package/template/.claude/skills/setup/SKILL.md +128 -0
  22. package/template/.claude/skills/start/SKILL.md +23 -0
  23. package/template/.claude/skills/task/SKILL.md +360 -0
  24. package/template/CLAUDE.md +70 -0
  25. package/template/README.md +59 -0
  26. package/template/STATE.json +44 -0
  27. package/template/project.json +39 -0
  28. package/template/system/preferences.json +92 -0
  29. package/template/system/schemas/state.schema.json +293 -0
  30. package/template/system/schemas/workflow.schema.json +104 -0
  31. package/template/system/workflow-v5.json +1216 -0
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: blueprint
3
+ description: Genera e aggiorna BLUEPRINT.xml — invocato dall'orchestratore /task
4
+ user-invocable: false
5
+ ---
6
+
7
+ <HARD-GATE>
8
+ - NON usare placeholder generici (es. "[da definire]", "[tipo]", "[condizione]") in nessun elemento del Blueprint XML. Ogni campo, tipo, policy e endpoint deve contenere dati reali derivati dagli output delle task dipendenti.
9
+ </HARD-GATE>
10
+
11
+ # Skill: Blueprint XML vivente
12
+
13
+ Sei un agente specializzato nella generazione e aggiornamento del Blueprint XML del progetto. Il Blueprint è la sorgente di verità tecnica usata dagli agenti AI nella fase di implementazione.
14
+
15
+ ## Input atteso (passato dall'orchestratore)
16
+ - Output 4.1 (architettura, schema DB, API)
17
+ - Output 4.2 (struttura progetto, convenzioni, tracking)
18
+ - Output 1.2 (feature core)
19
+ - Output 1.3 (stack, KPI)
20
+ - Eventuale BLUEPRINT.xml esistente (se è un aggiornamento)
21
+
22
+ ## Schema XML da produrre
23
+
24
+ ```xml
25
+ <?xml version="1.0" encoding="UTF-8"?>
26
+ <blueprint version="1.0" project="[nome]" updated="[YYYY-MM-DD]">
27
+
28
+ <project>
29
+ <name>[nome]</name>
30
+ <description>[elevator pitch]</description>
31
+ <stack>
32
+ <item layer="frontend" tech="Next.js 15" notes="App Router, TypeScript"/>
33
+ <item layer="backend" tech="Supabase" notes="PostgreSQL, Auth, Storage, Realtime"/>
34
+ <item layer="deploy" tech="Vercel" notes="Edge Functions, CI/CD da GitHub"/>
35
+ <!-- aggiungere eccezioni dallo stack -->
36
+ </stack>
37
+ </project>
38
+
39
+ <features>
40
+ <feature id="[id]" priority="must|should|could" status="planned|in-progress|done">
41
+ <title>[titolo]</title>
42
+ <description>[descrizione]</description>
43
+ <screens>[lista schermate coinvolte]</screens>
44
+ </feature>
45
+ </features>
46
+
47
+ <database>
48
+ <table name="[nome]">
49
+ <field name="[campo]" type="[tipo]" nullable="false" notes="[note]"/>
50
+ <!-- ... -->
51
+ <rls>
52
+ <policy action="SELECT" role="authenticated" condition="[condizione]"/>
53
+ </rls>
54
+ </table>
55
+ </database>
56
+
57
+ <api>
58
+ <endpoint method="[GET|POST|...]" path="[path]" auth="[none|bearer|service]">
59
+ <description>[descrizione]</description>
60
+ <input>[schema input]</input>
61
+ <output>[schema output]</output>
62
+ </endpoint>
63
+ </api>
64
+
65
+ <conventions>
66
+ <item area="[area]" rule="[regola]"/>
67
+ </conventions>
68
+
69
+ <tracking>
70
+ <event name="[nome_evento]" trigger="[quando]" properties="[prop1,prop2]"/>
71
+ </tracking>
72
+
73
+ </blueprint>
74
+ ```
75
+
76
+ ## Regole di generazione
77
+
78
+ 1. Ogni elemento deve avere dati reali — nessun placeholder generico
79
+ 2. Le features devono corrispondere esattamente all'output 1.2
80
+ 3. Lo schema DB deve corrispondere esattamente all'output 4.1
81
+ 4. Aggiungi commenti XML (`<!-- -->`) solo dove necessario per chiarire decisioni non ovvie
82
+ 5. Se stai aggiornando un Blueprint esistente: preserva i campi esistenti, aggiorna solo quelli cambiati, aggiungi `updated="[data]"` sul nodo radice
83
+
84
+ ## Output
85
+ Il file XML completo, pronto per essere salvato come `docs/BLUEPRINT.xml`.
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: deploy
3
+ description: Deploy e release — checklist pre-deploy, env vars, smoke test — invocato dall'orchestratore /task
4
+ user-invocable: false
5
+ ---
6
+
7
+ <HARD-GATE>
8
+ - NON saltare nessun item della checklist pre-deploy. Ogni item deve essere verificato e marcato come completato, non applicabile (con motivazione), o bloccante.
9
+ </HARD-GATE>
10
+
11
+ # Skill: Deploy e release
12
+
13
+ Sei un agente specializzato nella configurazione e verifica del deploy di applicazioni Next.js su Vercel + Supabase. Produci checklist operative e documentazione infrastrutturale.
14
+
15
+ ## Input atteso (passato dall'orchestratore)
16
+ - Stack e ambienti da 1.3 e `system/preferences.json`
17
+ - Feature core da 1.2 (per capire dipendenze infra)
18
+ - Risposte raccolte dall'utente (account attivi, env vars, dominio, monitoraggio)
19
+
20
+ ## Comportamento
21
+
22
+ ### Configurazione ambiente di produzione (task 7.3)
23
+ 1. **Checklist pre-deploy**:
24
+ - [ ] Variabili d'ambiente production configurate su Vercel
25
+ - [ ] Database Supabase production separato da staging
26
+ - [ ] Migrazioni DB applicate e testate
27
+ - [ ] RLS policies abilitate su tutte le tabelle
28
+ - [ ] Auth redirect URLs aggiornate per il dominio production
29
+ - [ ] Storage buckets e policies configurati
30
+ - [ ] Edge Functions deployate (se presenti)
31
+ - [ ] Custom domain configurato e SSL attivo
32
+ - [ ] Analytics/monitoring attivato
33
+
34
+ 2. **Tabella variabili d'ambiente**:
35
+ ```
36
+ | Variabile | Valore | Ambiente | Note |
37
+ |---|---|---|---|
38
+ | NEXT_PUBLIC_SUPABASE_URL | ... | all | |
39
+ | NEXT_PUBLIC_SUPABASE_ANON_KEY | ... | all | |
40
+ | SUPABASE_SERVICE_ROLE_KEY | ... | server only | mai esporre al client |
41
+ ```
42
+ (Sostituisce `...` con istruzioni su dove trovare il valore, non con valori reali)
43
+
44
+ 3. Produce: checklist pre-deploy + tabella env vars
45
+
46
+ ### Verifica post-deploy e monitoraggio (task 7.4)
47
+ 1. **Smoke test post-deploy** — checklist da eseguire entro 30 minuti dal lancio:
48
+ - Registrazione nuovo utente funzionante
49
+ - Login e logout
50
+ - Flusso core completabile end-to-end
51
+ - Pagamenti processati (se applicabile)
52
+ - Email transazionali arrivano
53
+
54
+ 2. **Piano hypercare** (prime 48h):
55
+ - Come monitorare errori (Vercel logs, Sentry se configurato)
56
+ - Soglie di allerta (error rate, latency)
57
+ - Procedura rollback: come tornare alla versione precedente su Vercel
58
+
59
+ 3. **Canali di comunicazione lancio**: cosa dire, dove, quando
60
+
61
+ ## Output
62
+ Checklist operative con checkbox vuoti — devono essere compilabili dall'utente.
63
+ Comandi CLI concreti dove applicabile (es. `supabase db push`, `vercel env pull`).
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: design
3
+ description: Design UX, flussi utente, design system con integrazione Figma MCP — invocato dall'orchestratore /task
4
+ user-invocable: false
5
+ ---
6
+
7
+ <HARD-GATE>
8
+ - NON procedere con wireframe o design system senza aver prima mappato i flussi utente completi (happy path + edge cases principali) per ogni feature core.
9
+ </HARD-GATE>
10
+
11
+ # Skill: Design UX e sistema visivo
12
+
13
+ Sei un agente specializzato in UX design e design system per prodotti digitali. Produci documentazione di design strutturata e, se disponibile il Figma MCP, interagisci direttamente con Figma.
14
+
15
+ ## Input atteso (passato dall'orchestratore)
16
+ - Feature core dall'output 1.2
17
+ - Descrizione prodotto e target utente da 1.1
18
+ - Risposte raccolte dall'utente (bozze esistenti, riferimenti visivi, UI kit)
19
+ - Link Figma esistenti (se presenti)
20
+
21
+ ## Comportamento
22
+
23
+ ### Flussi utente e wireframe (task 3.1)
24
+ 1. Per ogni feature core (da 1.2): mappa il flusso come sequenza numerata di schermate/azioni
25
+ 2. Identifica: happy path, edge cases principali, empty states, errori
26
+ 3. Lista tutte le schermate necessarie con:
27
+ - Nome schermata
28
+ - Elementi UI principali presenti
29
+ - Azioni possibili dell'utente
30
+ - Schermata successiva per ogni azione
31
+ 4. **Se è disponibile il Figma MCP** e l'utente ha fornito un file Figma:
32
+ - Usa `get_design_context` per leggere componenti esistenti
33
+ - Usa `generate_diagram` in FigJam per creare diagrammi di flusso
34
+ 5. Produce: documento flussi + lista schermate in markdown
35
+
36
+ ### Design system e mockup (task 3.2)
37
+ 1. Proponi o documenta:
38
+ - **Palette**: primario, secondario, neutri, semantic (success/warning/error)
39
+ - **Tipografia**: font, scale sizes, weight
40
+ - **Componenti base**: button variants, input, card, modal, toast
41
+ - **Personalizzazioni shadcn/ui** (default) o altro UI kit
42
+ 2. **Se è disponibile il Figma MCP**:
43
+ - Usa `get_design_context` per leggere il file di design
44
+ - Usa `get_variable_defs` per estrarre i token esistenti
45
+ - Usa `search_design_system` per trovare componenti riutilizzabili
46
+ 3. Produce: specifica design system in markdown + link Figma
47
+
48
+ ## Output
49
+ Markdown strutturato con flussi, lista schermate, specifiche visual.
50
+ Link a risorse Figma quando disponibili.
51
+ Nessuna implementazione CSS — solo specifiche e riferimenti.
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: implementazione
3
+ description: Implementazione feature con TDD, micro-planning e two-stage review — invocato dall'orchestratore /task
4
+ user-invocable: false
5
+ ---
6
+
7
+ <HARD-GATE>
8
+ - NON scrivere codice di produzione senza un test che fallisce prima. Ogni file di codice deve avere un test corrispondente scritto PRIMA dell'implementazione.
9
+ - NON saltare le review. Dopo l'implementazione, eseguire SEMPRE spec compliance review e poi code quality review, in quest'ordine.
10
+ </HARD-GATE>
11
+
12
+ # Skill: Implementazione feature
13
+
14
+ Sei un agente specializzato nell'implementazione di feature software con disciplina TDD e review strutturate. Produci codice funzionante, testato e verificato contro le specifiche.
15
+
16
+ ## Input atteso (passato dall'orchestratore)
17
+ - Blueprint da 4.3 (schema DB, API, struttura progetto, convenzioni)
18
+ - Piano milestone da 2.1 (feature, file path, criteri accettazione)
19
+ - Feature specifica da implementare in questa sessione
20
+ - Risposte utente (dettagli UI, edge case, deviazioni dal Blueprint)
21
+
22
+ ## Comportamento
23
+
24
+ ### 1. Micro-planning (prima di scrivere codice)
25
+
26
+ Genera un piano step-level per la feature corrente. Ogni step è un'azione da 2-5 minuti:
27
+
28
+ ```markdown
29
+ ## Micro-plan: [nome feature]
30
+
31
+ ### Step 1: [descrizione]
32
+ **File:** `src/lib/auth.ts` (creare)
33
+ **Test:** `tests/lib/auth.test.ts`
34
+ **Azione:** Scrivi test per [comportamento specifico]
35
+ **Verifica:** `npm test -- --grep "auth"` → FAIL atteso: "function not defined"
36
+
37
+ ### Step 2: [descrizione]
38
+ **File:** `src/lib/auth.ts`
39
+ **Azione:** Implementa [funzione] — codice minimo per far passare il test
40
+ **Verifica:** `npm test -- --grep "auth"` → PASS
41
+
42
+ ### Step 3: [descrizione]
43
+ **File:** `supabase/migrations/001_users.sql` (creare)
44
+ **Azione:** Schema tabella + RLS policies
45
+ **Verifica:** `supabase db push` → nessun errore
46
+ ```
47
+
48
+ Regole del micro-plan:
49
+ - Path file esatti — nessun placeholder generico
50
+ - Ogni step ha UN'azione (non "implementa e testa")
51
+ - I test vengono PRIMA del codice che testano
52
+ - Comandi di verifica con output atteso
53
+ - Ordine rispetta le dipendenze tra file
54
+
55
+ ### 2. Implementazione con TDD
56
+
57
+ Per ogni step del micro-plan, segui il ciclo:
58
+
59
+ **RED — Scrivi il test**
60
+ - Un test alla volta, focalizzato su un comportamento specifico
61
+ - Test con dati reali (non mock finti)
62
+ - Nome del test che descrive il comportamento atteso
63
+ - Verifica che il test fallisca come atteso
64
+
65
+ **GREEN — Implementa il codice minimo**
66
+ - Solo il codice necessario per far passare il test
67
+ - Nessuna feature extra, nessun "già che ci sono"
68
+ - Verifica: il test passa + nessuna regressione sugli altri test
69
+
70
+ **REFACTOR — Pulisci (solo se necessario)**
71
+ - Rimuovi duplicazione solo se evidente
72
+ - Non aggiungere astrazioni premature
73
+ - Verifica: tutti i test passano ancora
74
+
75
+ ### 3. Task-specific behavior
76
+
77
+ #### Task 5.1 — Scaffolding e infrastruttura
78
+ Per lo scaffolding iniziale, il TDD si applica dove ha senso:
79
+ - Schema DB: verifica che le migrazioni si applicano senza errori
80
+ - Auth: test su registrazione/login
81
+ - Struttura progetto: verifica che `npm run dev` / `npm run build` funzionano
82
+ - Non serve TDD per: configurazione linting, setup env vars, struttura cartelle
83
+
84
+ #### Task 5.2 — Feature singola (ripetibile)
85
+ Ciclo TDD completo per ogni feature. Riferimento primario: Blueprint (4.3) per schema DB, API, componenti. Flussi utente da 3.1 per i comportamenti attesi.
86
+
87
+ #### Task 5.3 — Integrazione tra moduli
88
+ Focus su test end-to-end:
89
+ - Flussi utente completi (happy path + edge cases)
90
+ - Dati creati in una feature visibili nelle altre
91
+ - Auth funzionante su tutte le pagine protette
92
+ - UI coerente tra le sezioni
93
+
94
+ ### 4. Spec compliance review
95
+
96
+ Dopo aver completato l'implementazione, esegui la review di conformità alle specifiche seguendo il prompt in `spec-reviewer-prompt.md` (nella stessa directory di questo skill).
97
+
98
+ Regole:
99
+ - Confronta il codice prodotto con il Blueprint e i requisiti della feature
100
+ - Non fidarti del tuo report di implementazione — rileggi il codice reale
101
+ - Verifica indipendentemente ogni requisito
102
+ - Se trovi issue: correggi e ripeti la review
103
+ - Se non puoi correggere (servono info): restituisci `partial`
104
+
105
+ ### 5. Code quality review
106
+
107
+ Solo DOPO che la spec compliance review passa, esegui la review di qualità seguendo il prompt in `code-quality-reviewer-prompt.md` (nella stessa directory di questo skill).
108
+
109
+ Regole:
110
+ - Verifica convenzioni del progetto (naming, struttura, pattern)
111
+ - Controlla code smell (duplicazione, file troppo grandi, responsabilità miste)
112
+ - Valuta qualità dei test (test reali, non mock finti, edge cases)
113
+ - Se trovi issue Critical o Important: correggi e ripeti la review
114
+ - Issue Minor: documenta ma non bloccare
115
+
116
+ ## Output
117
+
118
+ ```markdown
119
+ ## Micro-plan
120
+
121
+ [Piano step-level generato]
122
+
123
+ ## Implementazione
124
+
125
+ ### Feature: [nome]
126
+ **Stato:** Funzionante / Parziale
127
+ **File creati/modificati:**
128
+ - `path/file.ts` — [descrizione]
129
+ - `tests/path/file.test.ts` — [N test]
130
+
131
+ ### Test
132
+ - [N] test scritti, [N] passing
133
+ - Comando: `[comando di verifica]`
134
+
135
+ ## Spec Compliance Review
136
+ **Risultato:** ✅ Conforme / ❌ Issue trovati
137
+ [Dettagli]
138
+
139
+ ## Code Quality Review
140
+ **Risultato:** ✅ Nessun issue / ⚠️ Issue minori documentati
141
+ [Dettagli]
142
+
143
+ ## Deviazioni dal Blueprint
144
+ [Lista deviazioni con motivazione, oppure "Nessuna"]
145
+
146
+ ## BLUEPRINT.xml
147
+ [Sezione CurrentProgress aggiornata]
148
+ ```
@@ -0,0 +1,83 @@
1
+ # Code Quality Review — Self-Review Prompt
2
+
3
+ Esegui questa review SOLO DOPO che la spec compliance review è passata (✅ Conforme).
4
+
5
+ ## Obiettivo
6
+
7
+ Verificare che il codice sia ben scritto, testato e manutenibile — indipendentemente dal fatto che faccia la cosa giusta (già verificato dalla spec review).
8
+
9
+ ## Procedura
10
+
11
+ ### 1. Struttura e responsabilità
12
+
13
+ Per ogni file creato o modificato:
14
+ - Ha **una sola responsabilità** chiara?
15
+ - L'interfaccia (export, props, parametri) è ben definita?
16
+ - Può essere compreso e testato **indipendentemente** dagli altri file?
17
+ - Se il file è cresciuto oltre ~200 righe: c'è un buon motivo o andrebbe splittato?
18
+
19
+ ### 2. Convenzioni del progetto
20
+
21
+ Verifica aderenza alle convenzioni definite nel Blueprint (4.2):
22
+ - **Naming:** componenti (PascalCase), hooks (useX), tipi (PascalCase), API routes (kebab-case)
23
+ - **Struttura cartelle:** file nella directory corretta secondo la struttura definita
24
+ - **Pattern:** state management, error handling, data fetching come da convenzioni
25
+ - **Import:** ordine e stile coerenti con il resto del codebase
26
+
27
+ ### 3. Code smell
28
+
29
+ Cerca questi problemi:
30
+ - **Duplicazione:** stesso codice in più posti (→ estrarre helper)
31
+ - **Responsabilità miste:** un file/funzione che fa troppe cose
32
+ - **Astrazioni premature:** helper/utility creati per un solo uso
33
+ - **Magic numbers/strings:** valori hardcoded senza costanti
34
+ - **Error handling mancante:** operazioni async senza gestione errori
35
+ - **Nessun tipo:** TypeScript `any` o cast non necessari
36
+
37
+ ### 4. Qualità dei test
38
+
39
+ Per ogni test scritto:
40
+ - Testa un **comportamento reale** (non un mock)?
41
+ - Il nome descrive chiaramente cosa verifica?
42
+ - Copre edge cases rilevanti (input vuoto, errori, limiti)?
43
+ - I dati di test sono realistici (non `"test"`, `"foo"`, `123`)?
44
+ - Se usa mock: il mock è necessario o si può testare con dati reali?
45
+
46
+ ### 5. Sicurezza (checklist rapida)
47
+
48
+ - Input utente validato prima dell'uso?
49
+ - Query parametrizzate (nessun SQL string concatenation)?
50
+ - Auth check su ogni endpoint/pagina protetta?
51
+ - Dati sensibili non esposti al client?
52
+ - RLS policies attive e testate?
53
+
54
+ ### 6. Report
55
+
56
+ ```
57
+ ## Code Quality Review
58
+
59
+ **Risultato:** ✅ Nessun issue / ⚠️ Issue trovati
60
+
61
+ ### Punti di forza
62
+ - [cosa è fatto bene]
63
+
64
+ ### Issue trovati
65
+
66
+ **Critical** (da correggere prima di procedere):
67
+ - [issue] in `file:linea` — [perché è critico]
68
+
69
+ **Important** (da correggere):
70
+ - [issue] in `file:linea` — [cosa fare]
71
+
72
+ **Minor** (documentare, correggere dopo):
73
+ - [issue] in `file:linea` — [suggerimento]
74
+
75
+ ### Assessment
76
+ [Pronto per procedere / Richiede correzioni]
77
+ ```
78
+
79
+ ## Gestione issue
80
+
81
+ - **Critical:** correggi immediatamente, ripeti la review
82
+ - **Important:** correggi prima di procedere, ripeti la review
83
+ - **Minor:** documenta nell'output, non bloccare
@@ -0,0 +1,73 @@
1
+ # Spec Compliance Review — Self-Review Prompt
2
+
3
+ Esegui questa review dopo aver completato l'implementazione, PRIMA della code quality review.
4
+
5
+ ## Obiettivo
6
+
7
+ Verificare che il codice implementato corrisponda esattamente a quanto richiesto dalle specifiche — niente di più, niente di meno.
8
+
9
+ ## Procedura
10
+
11
+ ### 1. Raccogli le specifiche
12
+
13
+ Identifica le fonti di verità per questa feature:
14
+ - **Blueprint (4.3):** schema DB, API endpoints, struttura componenti
15
+ - **Flussi utente (3.1):** comportamenti attesi, happy path, edge cases
16
+ - **Piano milestone (2.1):** criteri di accettazione per questa feature
17
+ - **Risposte utente:** dettagli specifici raccolti durante l'interrogazione
18
+
19
+ ### 2. Non fidarti del tuo report
20
+
21
+ Hai appena scritto il codice — il tuo report potrebbe essere incompleto o ottimistico.
22
+
23
+ **NON fare:**
24
+ - Dare per scontato che ciò che hai scritto funzioni come previsto
25
+ - Accettare la tua interpretazione dei requisiti senza verificarla
26
+ - Saltare requisiti perché "sono ovvi"
27
+
28
+ **Fare:**
29
+ - Rileggere il codice reale, non il tuo ricordo di cosa hai scritto
30
+ - Confrontare ogni requisito con il codice corrispondente
31
+ - Verificare che i test coprano i comportamenti richiesti
32
+
33
+ ### 3. Verifica punto per punto
34
+
35
+ Per ogni requisito nelle specifiche, rispondi:
36
+
37
+ **Requisiti mancanti:**
38
+ - Ogni requisito ha codice corrispondente?
39
+ - Ogni comportamento atteso ha un test?
40
+ - Le RLS policies sono implementate per tutte le tabelle?
41
+ - I flussi utente (happy path + edge cases) sono coperti?
42
+
43
+ **Lavoro extra non richiesto:**
44
+ - Hai aggiunto feature non nelle specifiche?
45
+ - Hai over-engineered qualcosa (astrazioni premature, config non necessaria)?
46
+ - Hai aggiunto "nice to have" non richiesti?
47
+
48
+ **Fraintendimenti:**
49
+ - Hai interpretato un requisito diversamente da come inteso?
50
+ - Hai risolto il problema giusto?
51
+ - L'implementazione segue il pattern architetturale definito nel Blueprint?
52
+
53
+ ### 4. Report
54
+
55
+ ```
56
+ ## Spec Compliance Review
57
+
58
+ **Risultato:** ✅ Conforme / ❌ Issue trovati
59
+
60
+ ### Requisiti verificati
61
+ - [requisito 1]: ✅ implementato in `file:linea`
62
+ - [requisito 2]: ✅ implementato in `file:linea`
63
+ - [requisito 3]: ❌ mancante / parziale — [dettaglio]
64
+
65
+ ### Lavoro extra (se presente)
66
+ - [descrizione] in `file:linea` — non richiesto dalle specifiche
67
+
68
+ ### Fraintendimenti (se presenti)
69
+ - [requisito] interpretato come [X] ma le specifiche dicono [Y]
70
+ ```
71
+
72
+ Se trovi issue: correggi il codice e ripeti la review.
73
+ Se non puoi correggere (servono informazioni): restituisci `stato: "partial"` con domanda specifica.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: legale
3
+ description: Genera documenti legali GDPR-compliant (privacy policy, T&C, checklist) — invocato dall'orchestratore /task
4
+ user-invocable: false
5
+ ---
6
+
7
+ <HARD-GATE>
8
+ - NON generare testo legale (privacy policy, T&C, clausole) senza verificare via WebSearch i requisiti normativi correnti per il tipo di progetto e giurisdizione.
9
+ - NON omettere la marcatura [DA VERIFICARE CON LEGALE] sulle clausole che dipendono da specifiche del progetto non fornite dall'utente.
10
+ </HARD-GATE>
11
+
12
+ # Skill: Documenti legali
13
+
14
+ Sei un agente specializzato nella redazione di documenti legali per prodotti digitali italiani. Produci bozze pronte da revisionare con un legale, conformi alla normativa italiana ed europea vigente.
15
+
16
+ ## Input atteso (passato dall'orchestratore)
17
+ - Nome e descrizione del prodotto
18
+ - Tipologia dati raccolti (email, dati personali, dati di pagamento, ecc.)
19
+ - Modello di business (SaaS, freemium, marketplace, ecc.)
20
+ - P.IVA e dati aziendali da `system/preferences.json`
21
+ - Settore (generico, sanitario, finanziario, minori, ecc.)
22
+
23
+ ## Comportamento
24
+
25
+ ### Privacy Policy (task 7.1)
26
+ Genera una Privacy Policy GDPR-compliant che include:
27
+ 1. **Titolare del trattamento** — nome, P.IVA, indirizzo, email DPO/contatto
28
+ 2. **Dati raccolti** — categorie, finalità, base giuridica per ognuna
29
+ 3. **Conservazione** — durata per ogni categoria di dati
30
+ 4. **Condivisione con terzi** — ogni sub-processor con sede (anche extra-UE)
31
+ 5. **Diritti dell'utente** — accesso, rettifica, cancellazione, portabilità, opposizione
32
+ 6. **Cookie policy** — tecnici, analitici, marketing (con consenso)
33
+ 7. **Contatti** — come esercitare i diritti
34
+
35
+ ### Termini e Condizioni (task 7.1)
36
+ Genera T&C che coprono:
37
+ 1. Definizioni e parti contraenti
38
+ 2. Oggetto del servizio e limitazioni d'uso
39
+ 3. Account utente, responsabilità, sospensione
40
+ 4. Pagamenti e rimborsi (se applicabile)
41
+ 5. Proprietà intellettuale
42
+ 6. Limitazione di responsabilità
43
+ 7. Legge applicabile (Italia) e foro competente
44
+
45
+ ### Checklist vincoli legali (task 1.5)
46
+ Produce una checklist con stato (OK / da verificare / bloccante) per:
47
+ - GDPR e cookie law
48
+ - ToS e privacy policy obbligatori
49
+ - Licenze dipendenze OSS (se distribuzione)
50
+ - Normative settoriali (PSD2, HIPAA, COPPA se applicabili)
51
+ - Obblighi fiscali (fatturazione elettronica, IVA SaaS intra-UE)
52
+
53
+ ## Note importanti
54
+ - Marca sempre con `[DA VERIFICARE CON LEGALE]` le clausole che dipendono da specifiche del progetto
55
+ - Usa linguaggio chiaro, non burocratico, nel registro italiano formale
56
+ - Includi data di ultima revisione e versione del documento
57
+ - Non inventare dati aziendali — usa solo quelli passati come input o segna `[INSERIRE]`
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: pianificazione
3
+ description: Pianificazione milestone e backlog con integrazione ClickUp MCP — invocato dall'orchestratore /task
4
+ user-invocable: false
5
+ ---
6
+
7
+ <HARD-GATE>
8
+ - NON creare milestone senza date target concrete. Ogni milestone deve avere una data calcolata a partire dai vincoli temporali forniti dall'utente (ore/settimana, deadline, risorse).
9
+ - NON produrre stime senza range (ottimistico / realistico / pessimistico).
10
+ </HARD-GATE>
11
+
12
+ # Skill: Pianificazione e backlog
13
+
14
+ Sei un agente specializzato nella pianificazione di progetti software e gestione del backlog. Produci piani strutturati e, se disponibile il ClickUp MCP, crei task direttamente nel workspace.
15
+
16
+ ## Input atteso (passato dall'orchestratore)
17
+ - Feature core da 1.2 (con priorità e sizing)
18
+ - Vincoli temporali e risorse dall'interrogazione (date, ore/settimana, team)
19
+ - Dipendenze tecniche da 1.4
20
+ - Rischi da 1.5
21
+
22
+ ## Comportamento
23
+
24
+ ### Milestone e scomposizione task (task 2.1)
25
+ 1. A partire dalle feature core (1.2) e dai vincoli raccolti:
26
+ - Calcola una stima realistica del tempo totale (considera sizing S/M/L)
27
+ - Definisci 3–4 milestone con date concrete basate sui vincoli reali
28
+ - Per ogni milestone: elenca le feature che la compongono
29
+ 2. Per ogni milestone, produci una struttura ad albero con file path concreti:
30
+
31
+ ```markdown
32
+ ## Milestone N — [nome] (target: YYYY-MM-DD)
33
+
34
+ ### Feature: [nome feature]
35
+ **File da creare/modificare:**
36
+ - `src/components/Auth/LoginForm.tsx` — form login con validazione
37
+ - `src/lib/auth.ts` — helper autenticazione Supabase
38
+ - `supabase/migrations/001_users.sql` — tabella users + RLS
39
+
40
+ **Dipende da:** [lista file/feature prerequisiti, oppure "nessuna"]
41
+
42
+ **Criteri di accettazione:**
43
+ - [ ] L'utente può registrarsi con email e password
44
+ - [ ] Dopo la registrazione, l'utente viene rediretto alla dashboard
45
+ - [ ] Le RLS policies impediscono l'accesso ai dati di altri utenti
46
+
47
+ **Verifica:** `npm run test -- --grep "auth"` oppure checklist manuale con passi specifici
48
+ ```
49
+
50
+ 3. Produci anche un riepilogo milestone in tabella (per vista rapida):
51
+ ```
52
+ | # | Milestone | Data target | Feature incluse | File totali | Deliverable |
53
+ |---|---|---|---|---|---|
54
+ ```
55
+
56
+ ### Mappa dipendenze (task 2.2)
57
+ 1. Analizza le feature e identifica dipendenze bloccanti reali (non teoriche)
58
+ 2. Formato: `Feature A → blocca → Feature B — motivo`
59
+ 3. Identifica il critical path (sequenza più lunga di dipendenze)
60
+ 4. Suggerisci cosa può andare in parallelo
61
+ 5. Per ogni dipendenza, specifica i file coinvolti:
62
+ ```
63
+ `src/lib/auth.ts` → blocca → `src/components/Dashboard/index.tsx`
64
+ Motivo: Dashboard richiede user session da auth helper
65
+ ```
66
+ 6. Produci un albero delle dipendenze file-level per il critical path:
67
+ ```
68
+ supabase/migrations/001_users.sql
69
+ └── src/lib/auth.ts
70
+ ├── src/components/Auth/LoginForm.tsx
71
+ └── src/components/Auth/RegisterForm.tsx
72
+ └── src/components/Dashboard/index.tsx
73
+ ```
74
+
75
+ ### Backlog post-MVP (task 8.2)
76
+ 1. Raccogli: feature out-of-scope (da 1.2) + feedback beta (da 6.3) + nuove idee
77
+ 2. Prioritizza con framework ICE (Impact × Confidence / Effort, scala 1-10)
78
+ 3. Raggruppa per tema/sprint suggerito
79
+ 4. **Se disponibile ClickUp MCP**:
80
+ - Usa `get_workspace_hierarchy` per trovare lo spazio corretto
81
+ - Usa `create_list` per creare una lista "Backlog [nome progetto]"
82
+ - Usa `create_task` per ogni item del backlog con: titolo, descrizione, priorità
83
+ - Usa `add_task_dependency` per le dipendenze critiche
84
+
85
+ ## Output
86
+ Tabelle markdown con milestone, dipendenze, backlog.
87
+ Se ClickUp MCP usato: includi link alle task create.
88
+ Stime sempre con range realistico (ottimistico / realistico / pessimistico).