@antoneeo/agentic-sdlc-skill 1.3.1 → 1.5.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.
@@ -1,80 +1,141 @@
1
- ---
2
- name: agentic-sdlc
3
- description: Protocollo SDLC "Documentation-First" con integrazione opzionale devPNT. Utilizzare per gestire lo sviluppo di nuove feature, eseguire l'audit di progetti esistenti e mantenere rigorosamente aggiornata la documentazione tecnica prima, durante e dopo l'implementazione del codice.
4
- author: Antonio Pinto (https://github.com/Antoneeo)
5
- copyright: © 2026 Antonio Pinto
6
- ---
7
-
8
- # Agentic SDLC (Hybrid Edition)
9
-
10
- Questa skill implementa un workflow rigoroso per lo sviluppo software, assicurando che la documentazione preceda sempre l'implementazione (Documentation-First). Se rileva la presenza del server MCP **devPNT**, potenzia il workflow utilizzando il database per la governance e i piani gerarchici.
11
-
12
- Realizzata da **Antonio Pinto** (https://github.com/Antoneeo).
13
-
14
- ## Valori Tecnici
15
-
16
- Privilegia qualità e comprensione rispetto alla velocità apparente.
17
-
18
- - **Comprendi prima di agire:** non modificare codice senza aver capito il motivo; nei bug cerca la root cause, non workaround.
19
- - **Mantieni coerenza architetturale:** rispetta layer, responsabilità, naming, pattern e convenzioni esistenti.
20
- - **Applica DRY e semplicità:** non duplicare logica o conoscenza; crea astrazioni solo se riducono complessità reale.
21
- - **Preserva la qualità:** ogni modifica deve mantenere o migliorare stabilità, testabilità e manutenibilità.
22
- - **Verifica tecnicamente:** chiudi ogni task implementativo con test/lint/smoke test, o spiega perché non eseguiti.
23
- - **Mantieni memoria utile:** documenta decisioni e stato operativo rilevanti, non rumore.
24
-
25
- Se una patch sembra facile ma non capisci perché il codice attuale è fatto così, indaga prima di modificarlo.
26
-
27
- ## Workflow Operativo
28
-
29
- ### 0. Fase di Discovery (Ambiente)
30
- Prima di rispondere a qualsiasi richiesta operativa, verifica la disponibilità dei tool `devpnt_*`.
31
- - **MODALITÀ HYBRID (devPNT presente):** Delega la gestione dei piani (Master/Action) e del versionamento degli artefatti (`D-UC`, `P-TM`, `E-ISP`, `E-TDD`) a devPNT. Usa la cartella `ai_docs/` per salvare le versioni Markdown ("shadow-copy") dei documenti per garantire visibilità e compatibilità.
32
- - **MODALITÀ STANDALONE (devPNT assente):** Gestisci tutto via filesystem in `ai_docs/`. In caso di progetti complessi, suggerisci l'adozione di devPNT per una governance avanzata.
33
-
34
- ### 1. Fase di Audit e Allineamento
35
- Verifica lo stato della documentazione del progetto.
36
- - Controlla la presenza di `ai_docs/audit/handoff.md`. Se esiste, leggilo per riprendere il contesto dell'ultima sessione.
37
- - Controlla l'esistenza della cartella `ai_docs/`.
38
- - Se `ai_docs/` non esiste o mancano i documenti fondamentali, non procedere con un'analisi dell'intero progetto in un solo colpo. Esegui invece un'analisi strutturata in step:
39
- 1. **Mappatura:** Crea un file di tracciamento (es. `ai_docs/audit/audit_plan.md`) elencando le macro-directory e i file chiave da analizzare. Se in modalità **Hybrid**, puoi usare `devpnt_kl_init_scope` per generare la mappatura iniziale.
40
- 2. **Stato dell'Analisi:** Accanto a ogni elemento nel piano, indica lo stato: `[PENDING]`, `[ANALYZED]`, oppure `[SKIPPED]` (con relativa motivazione, es. "file generato", "asset statico").
41
- 3. **Esecuzione a Lotti (Batching):** Analizza la codebase seguendo l'ordine del file di piano, aggiornando lo stato man mano. Se il progetto è grande, esegui l'analisi a blocchi per evitare di saturare la memoria contestuale, chiedendo conferma all'utente tra un blocco e l'altro se necessario.
42
- 4. **Creazione Documenti:** Sulla base dei risultati dell'audit, compila i documenti fondamentali rispettando i seguenti formati:
43
- - `ai_docs/strategic/architecture.md`: Deve seguire questa struttura:
44
- - `# Architettura del Progetto`
45
- - `## Stack Tecnologico`
46
- - `## Struttura delle Directory`
47
- - `## Pattern Architetturali`
48
- - `ai_docs/strategic/existing_features.md`: Deve seguire questa struttura:
49
- - `# Funzionalità Esistenti`
50
- - Elenco puntato nel formato: `- [ID] **Nome Feature**: Descrizione`
51
- - `ai_docs/strategic/features_history.md`: Deve essere una tabella Markdown con le seguenti colonne: `| ID | Nome Feature | Stato | Data Inizio | Data Fine | Doc. Analisi | Note |`. Gli stati ammessi sono `[PLANNED]`, `[IN_PROGRESS]`, `[COMPLETED]`.
52
-
53
- ### 2. Fase di Analisi della Richiesta
54
- Per ogni nuova feature richiesta dall'utente:
55
- - **Hybrid:** Crea un nodo nel Master Plan e definisci l'Action Plan tramite devPNT. Salva i documenti di design (`D-UC`, `P-TM`, `E-ISP`, `E-TDD`) nel Database e crea contemporaneamente il file Markdown in `ai_docs/solutions/ANALYSIS_[nome_feature].md`.
56
- - **Standalone:** Crea `ai_docs/solutions/ANALYSIS_[nome_feature].md`. Il documento deve obbligatoriamente seguire questa struttura:
57
- - `# Analisi della Feature: [Nome Feature]`
58
- - `## Obiettivo` (Cosa si vuole ottenere e quali problemi risolve)
59
- - `## Impatto` (Modifiche ai file esistenti, performance, nuove dipendenze)
60
- - `## Piano d'Azione` (Elenco di task con checkbox `[ ]`)
61
- - `## Strategia di Test` (Test unitari AAA, test d'integrazione, esempi)
62
- - In entrambe le modalità, aggiungi la nuova feature in `ai_docs/strategic/features_history.md` con stato `[PLANNED]`.
63
-
64
- ### 3. Fase di Sviluppo e Test
65
- Solo dopo aver completato la Fase 2:
66
- 1. Aggiorna lo stato della feature in `features_history.md` a `[IN_PROGRESS]`.
67
- 2. Implementa il codice in modo chirurgico seguendo il piano definito. **Importante:** Per ogni file o macro-directory modificata o creata durante lo sviluppo, aggiorna `ai_docs/audit/audit_plan.md` reimpostando (o aggiungendo) il suo stato a `[PENDING]`.
68
- 3. **Obbligatorio:** Scrivi i test automatici seguendo il pattern **AAA (Arrange, Act, Assert)**.
69
- 4. Esegui i test. Se falliscono, correggi il codice e riesegui. **Se i test falliscono per più di 3 volte consecutive, fermati e chiedi istruzioni all'utente.**
70
-
71
- ### 4. Fase di Chiusura
72
- A completamento della feature (test passati con Exit Code 0):
73
- - **Hybrid:** Se la feature ha implicazioni di design, proponi un **ADR** tramite devPNT e aggiorna il Knowledge Layer (KL).
74
- - **Standalone:** Rivedi gli elementi contrassegnati come `[PENDING]` in `ai_docs/audit/audit_plan.md` per estrarre eventuali novità strutturali. Aggiorna `architecture.md` e `existing_features.md` in `ai_docs/strategic/` se necessario.
75
- - Riporta lo stato dei file appena rivisti in `ai_docs/audit/audit_plan.md` a `[ANALYZED]`.
76
- - Aggiorna `features_history.md` impostando lo stato a `[COMPLETED]`.
77
-
78
- ### 5. Gestione delle Sessioni (Handoff)
79
- Quando viene richiesto di mettere in pausa il lavoro o di chiudere la sessione:
80
- - Aggiorna (o crea) il file `ai_docs/audit/handoff.md` descrivendo esattamente a che punto ti trovi (es. "Sto lavorando al file X", "L'ultimo test fallito è Y", "Il prossimo passo è Z"). Questo file serve per preservare il tuo contesto di ragionamento.
1
+ ---
2
+ name: agentic-sdlc
3
+ description: Protocollo SDLC Documentation-First con triage proporzionale, Vision come guida, modalita Standalone completa e simbiosi opzionale con devPNT. Usare per feature, bug significativi, refactor, audit e manutenzione documentata.
4
+ author: Antonio Pinto (https://github.com/Antoneeo)
5
+ copyright: (c) 2026 Antonio Pinto
6
+ ---
7
+
8
+ # Agentic SDLC
9
+
10
+ Questa skill guida lo sviluppo software con un processo Documentation-First proporzionale al rischio. Deve funzionare pienamente anche senza devPNT. Quando devPNT e' disponibile e configurato per il progetto corrente, la skill lavora in simbiosi con la sua governance: M-VISION, Master Plan, Action Plan e artefatti versionati diventano il quadro autorevole per milestone e implementazione.
11
+
12
+ File di supporto nella directory della skill:
13
+ - `templates.md`: template per Vision, ANALYSIS, Spike, audit plan e handoff.
14
+ - `scripts/sdlc_check.py`: validatore meccanico per `ai_docs/` (`check`, `validate`, `index`, `stale`, `mark`, `gate`).
15
+ - `ENFORCEMENT.md`: setup opzionale per CI e hook.
16
+
17
+ Leggi questi file solo quando servono. `SKILL.md` e' il contratto operativo; i support file sono risorse progressive.
18
+
19
+ ## Valori Tecnici
20
+
21
+ - **Comprendi prima di agire:** non modificare codice senza capire root cause, vincoli e forma attuale.
22
+ - **Mantieni coerenza architetturale:** rispetta layer, responsabilita, naming, pattern e convenzioni esistenti.
23
+ - **Applica DRY e semplicita:** non duplicare logica o conoscenza; astrai solo se riduce complessita reale.
24
+ - **Preserva qualita:** ogni modifica deve mantenere o migliorare stabilita, testabilita e manutenibilita.
25
+ - **Verifica tecnicamente:** chiudi lavoro implementativo con test, lint, smoke check o motivo esplicito.
26
+ - **Mantieni memoria utile:** documenta decisioni e stato operativo rilevanti, non testo riempitivo.
27
+ - **Proteggi la Vision:** ogni decisione deve restare allineata a benefici attesi, utenti, non-obiettivi e segnali di successo.
28
+
29
+ Se una patch sembra facile ma non capisci perche il codice attuale e' fatto cosi, indaga prima.
30
+
31
+ ## Regola Zero: Triage
32
+
33
+ Classifica sempre la richiesta prima di scegliere il processo. Dichiara il livello scelto all'utente quando inizi il lavoro operativo.
34
+
35
+ | Livello | Criteri | Processo richiesto |
36
+ |---|---|---|
37
+ | **L1 - Triviale** | Circa 10 righe in 1-2 file; nessun cambio API, dipendenza o comportamento nuovo; refusi o fix che ripristinano comportamento gia atteso | Implementa. Esegui test pertinenti se esistono. Nessun nuovo documento. |
38
+ | **L2 - Piccolo** | Root cause chiara; massimo 3 file; nessuna nuova dipendenza o API pubblica; rischio basso | Mini-analisi nel messaggio: obiettivo, impatto, sicurezza, test. Test obbligatori. Nessun nuovo documento salvo aggiornare analisi/handoff esistenti se utile. |
39
+ | **L3 - Significativo** | Oltre 3 file, API/contratti, nuova dipendenza, comportamento visibile, area security-sensitive, cambio architetturale o design non ovvio | Workflow completo: Vision Gate, analisi, piano, implementazione, test, chiusura. |
40
+ | **Spike** | Esplorazione time-boxed per ridurre incertezza | Codice non mergiabile in main. Esito in `ai_docs/solutions/SPIKE_[tema].md`. Per produzione riclassifica come L2 o L3. |
41
+
42
+ Regole trasversali:
43
+ - Parsing input esterni, authN/authZ, crittografia, rete, dati personali e filesystem sono security-sensitive: mai L1.
44
+ - Se durante L1/L2 emerge impatto maggiore, fermati, riclassifica e dichiaralo.
45
+ - Nel dubbio scegli il livello piu alto.
46
+ - L'audit completo non parte per L1/L2 salvo richiesta esplicita.
47
+
48
+ ## Modalita Operative
49
+
50
+ ### Standalone completa
51
+
52
+ Usa questa modalita quando devPNT non e' disponibile, non e' configurato per il progetto corrente o l'utente chiede esplicitamente un workflow solo filesystem.
53
+
54
+ Fonte di verita:
55
+ - Vision: `ai_docs/vision/project_vision.md`, `roadmap.md`, `principles.md`.
56
+ - Feature/analisi: `ai_docs/solutions/ANALYSIS_[feature].md`.
57
+ - Audit/handoff: `ai_docs/audit/`.
58
+ - Storico feature: `ai_docs/strategic/features_history.md` manuale o generato dal validatore, in base alla struttura adottata dal progetto.
59
+
60
+ La modalita Standalone non e' ridotta: deve poter gestire audit, feature, bug significativi, test, handoff e chiusura senza devPNT.
61
+
62
+ ### Hybrid in simbiosi con devPNT
63
+
64
+ Usa questa modalita quando i tool `devpnt_*` sono disponibili e puntano al progetto corrente.
65
+
66
+ Gerarchia autorevole:
67
+ 1. **M-VISION devPNT**: faro strategico della milestone. Prima di design o codice, leggila e verifica benefici, success signals, scope-in e non-goals.
68
+ 2. **Master Plan devPNT**: roadmap strategica e milestone.
69
+ 3. **Action Plan devPNT**: lavoro tattico corrente per il goal attivo.
70
+ 4. **Artefatti governati devPNT**: `D-UC`, `P-TM`, `E-ISP`, `E-TDD`, `E-TP`, ADR.
71
+ 5. **`ai_docs/` locale**: contesto leggibile, fallback Standalone, handoff locale o shadow/mirror quando utile.
72
+
73
+ Regole Hybrid:
74
+ - devPNT e' la fonte governata per piani e artefatti; non creare una seconda verita in `ai_docs/`.
75
+ - La skill resta autonoma: se devPNT non c'e', passa a Standalone senza perdere capacita.
76
+ - Se richiesta utente, Vision locale e M-VISION divergono, fermati e rendi esplicito il conflitto.
77
+ - Non creare o modificare milestone senza rispettare la M-VISION.
78
+ - Non accettare automaticamente proposte devPNT: presenta la preview e attendi conferma esplicita.
79
+ - Se il protocollo devPNT locale impone bootstrap, piani o gate piu severi, seguili.
80
+
81
+ ## Workflow L3
82
+
83
+ ### 1. Audit e Allineamento
84
+
85
+ - Leggi `ai_docs/audit/handoff.md` se esiste; se ha Data/Branch non coerenti, trattalo come storico.
86
+ - Se `ai_docs/` manca o e' incompleta, crea struttura e documenti minimi analizzando il progetto a lotti.
87
+ - In Standalone usa `ai_docs/audit/audit_plan.md` per mappatura e stato.
88
+ - In Hybrid preferisci la mappatura devPNT/KL quando disponibile; non duplicare la governance dei piani.
89
+ - Per template dettagliati usa `templates.md`.
90
+
91
+ ### 2. Vision Gate
92
+
93
+ Standalone:
94
+ - Leggi `project_vision.md`, `roadmap.md`, `principles.md`.
95
+ - Se un documento dichiara `Stato: DRAFT`, trattalo come ipotesi: segnala conflitti, ma non bloccare una richiesta esplicita dell'utente.
96
+ - Se dichiara `Stato: APPROVED`, e la richiesta confligge, fermati e chiedi scelta: aggiornare Vision o modificare/rifiutare la richiesta.
97
+ - Non promuovere mai una Vision a `APPROVED` senza conferma dell'utente.
98
+
99
+ Hybrid:
100
+ - Leggi la M-VISION della milestone o chiedi/crea il passaggio richiesto dal protocollo devPNT.
101
+ - Verifica che la richiesta serva un beneficio o success signal della M-VISION.
102
+ - Se la richiesta aggiunge scope non autorizzato, trattala come divergenza di Vision.
103
+
104
+ ### 3. Analisi della Richiesta
105
+
106
+ Standalone L3:
107
+ - Crea o aggiorna `ai_docs/solutions/ANALYSIS_[feature].md`.
108
+ - Sezioni minime: Obiettivo, Vision della Feature o Allineamento alla Vision, Impatto, Sicurezza e Threat Model, Piano d'Azione, Strategia di Test, Diario/Stato Corrente.
109
+ - Per feature che attraversano piu milestone o piu analisi, crea anche `ai_docs/vision/features/VISION_[feature].md`.
110
+
111
+ Hybrid L3:
112
+ - Ripristina Master Plan, Action Plan e documenti collegati.
113
+ - Usa devPNT per piani e artefatti governati.
114
+ - Usa `ai_docs/solutions/SHADOW_[doc_key]_vX.Y.md` solo come shadow leggibile quando serve; in divergenza vince devPNT.
115
+
116
+ ### 4. Sviluppo e Test
117
+
118
+ - Implementa solo dopo il gate documentale richiesto dal livello.
119
+ - Modifica in modo chirurgico, coerente con il piano.
120
+ - Scrivi o aggiorna test automatici pertinenti; usa AAA per unit test quando applicabile.
121
+ - Se l'ambiente non permette test automatici, dichiara verifica alternativa e motivo.
122
+ - Circuit breaker: dopo 3 esecuzioni consecutive senza progresso sui test, fermati e chiedi istruzioni.
123
+ - Aggiorna il Diario dell'ANALYSIS o l'Action Plan quando completi milestone, incontri blocchi o cambi decisione.
124
+
125
+ ### 5. Chiusura
126
+
127
+ - Esegui test/lint/smoke check pertinenti.
128
+ - Verifica allineamento con Vision locale o M-VISION devPNT.
129
+ - Aggiorna solo i documenti effettivamente impattati.
130
+ - In Hybrid proponi ADR/KL quando ci sono decisioni architetturali.
131
+ - In Standalone, se il progetto adotta `sdlc_check.py`, esegui `python <skill_dir>/scripts/sdlc_check.py check --root <project_root>` o la copia locale equivalente.
132
+ - I documenti aggiornati devono viaggiare nello stesso commit/PR del codice che descrivono.
133
+
134
+ ## Enforcement Meccanico
135
+
136
+ Il prompt non e' enforcement. Quando il progetto richiede garanzie ripetibili:
137
+ - leggi `ENFORCEMENT.md`;
138
+ - usa `scripts/sdlc_check.py validate` in CI;
139
+ - usa `scripts/sdlc_check.py gate` solo per directory security-critical, non per tutto il repository.
140
+
141
+ Il validatore e' un supporto, non un prerequisito universale: la skill deve restare usabile anche in ambienti senza Python o senza hook, dichiarando cosa non puo' verificare automaticamente.