claude-plugin-wordpress-manager 2.12.2 → 2.14.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.
- package/.claude-plugin/plugin.json +8 -3
- package/CHANGELOG.md +94 -2
- package/agents/wp-accessibility-auditor.md +1 -1
- package/agents/wp-content-strategist.md +2 -2
- package/agents/wp-deployment-engineer.md +1 -1
- package/agents/wp-distribution-manager.md +1 -1
- package/agents/wp-monitoring-agent.md +1 -1
- package/agents/wp-performance-optimizer.md +1 -1
- package/agents/wp-security-auditor.md +1 -1
- package/agents/wp-site-manager.md +3 -3
- package/commands/wp-setup.md +2 -2
- package/docs/GUIDE.md +260 -21
- package/docs/VALIDATION.md +341 -0
- package/docs/guides/wp-ecommerce.md +4 -4
- package/docs/plans/2026-03-01-tier3-wcop-implementation.md +1 -1
- package/docs/plans/2026-03-01-tier4-5-implementation.md +1 -1
- package/docs/plans/2026-03-02-content-framework-architecture.md +612 -0
- package/docs/plans/2026-03-02-content-framework-strategic-reflections.md +228 -0
- package/docs/plans/2026-03-02-content-intelligence-phase2.md +560 -0
- package/docs/plans/2026-03-02-content-pipeline-phase1.md +456 -0
- package/docs/plans/2026-03-02-dashboard-kanban-design.md +761 -0
- package/docs/plans/2026-03-02-dashboard-kanban-implementation.md +598 -0
- package/docs/plans/2026-03-02-dashboard-strategy.md +363 -0
- package/docs/plans/2026-03-02-editorial-calendar-phase3.md +490 -0
- package/docs/validation/.gitkeep +0 -0
- package/docs/validation/dashboard.html +286 -0
- package/docs/validation/results.json +1705 -0
- package/package.json +16 -3
- package/scripts/context-scanner.mjs +446 -0
- package/scripts/dashboard-renderer.mjs +553 -0
- package/scripts/run-validation.mjs +1132 -0
- package/servers/wp-rest-bridge/build/server.js +17 -6
- package/servers/wp-rest-bridge/build/tools/index.js +0 -9
- package/servers/wp-rest-bridge/build/tools/plugin-repository.js +23 -31
- package/servers/wp-rest-bridge/build/tools/schema.js +10 -2
- package/servers/wp-rest-bridge/build/tools/unified-content.js +10 -2
- package/servers/wp-rest-bridge/build/wordpress.d.ts +0 -3
- package/servers/wp-rest-bridge/build/wordpress.js +16 -98
- package/servers/wp-rest-bridge/package.json +1 -0
- package/skills/wp-analytics/SKILL.md +153 -0
- package/skills/wp-analytics/references/signals-feed-schema.md +417 -0
- package/skills/wp-content/references/content-templates.md +1 -1
- package/skills/wp-content/references/seo-optimization.md +8 -8
- package/skills/wp-content-attribution/references/roi-calculation.md +1 -1
- package/skills/wp-content-attribution/references/utm-tracking-setup.md +5 -5
- package/skills/wp-content-generation/references/generation-workflow.md +2 -2
- package/skills/wp-content-pipeline/SKILL.md +461 -0
- package/skills/wp-content-pipeline/references/content-brief-schema.md +377 -0
- package/skills/wp-content-pipeline/references/site-config-schema.md +431 -0
- package/skills/wp-content-repurposing/references/auto-transform-pipeline.md +1 -1
- package/skills/wp-content-repurposing/references/email-newsletter.md +1 -1
- package/skills/wp-content-repurposing/references/platform-specs.md +2 -2
- package/skills/wp-content-repurposing/references/transform-templates.md +27 -27
- package/skills/wp-dashboard/SKILL.md +121 -0
- package/skills/wp-deploy/references/ssh-deploy.md +2 -2
- package/skills/wp-editorial-planner/SKILL.md +262 -0
- package/skills/wp-editorial-planner/references/editorial-schema.md +268 -0
- package/skills/wp-multilang-network/references/content-sync.md +3 -3
- package/skills/wp-multilang-network/references/network-architecture.md +1 -1
- package/skills/wp-multilang-network/references/seo-international.md +7 -7
- package/skills/wp-structured-data/references/schema-types.md +4 -4
- package/skills/wp-webhooks/references/payload-formats.md +3 -3
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
# Dashboard Operativi — Strategia e Architettura
|
|
2
|
+
|
|
3
|
+
**Data**: 2026-03-02
|
|
4
|
+
**Versione**: 1.0.0
|
|
5
|
+
**Stato**: Approvato (strategia)
|
|
6
|
+
**Prerequisito**: [Content Framework Architecture](2026-03-02-content-framework-architecture.md)
|
|
7
|
+
**Deriva da**: Brainstorming sessione 2026-03-02 (post Content Framework v2.13.0)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Contesto e Motivazione
|
|
12
|
+
|
|
13
|
+
### 1.1 Stato Attuale
|
|
14
|
+
|
|
15
|
+
Con il Content Framework v2.13.0 il plugin gestisce un ciclo completo:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
GenSignal (intelligence) → Editorial Calendar (planning) → Content Pipeline (execution) → WP Publish → Analytics → GenSignal (feedback loop)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
I dati operativi vivono in file `.content-state/`:
|
|
22
|
+
|
|
23
|
+
| File | Contiene | Aggiornamento |
|
|
24
|
+
|------|----------|---------------|
|
|
25
|
+
| `{site}.config.md` | Brand voice, canali, cadenza, defaults | Raro (setup) |
|
|
26
|
+
| `YYYY-MM-editorial.state.md` | Piano editoriale con stati per riga | Ogni sessione operativa |
|
|
27
|
+
| `pipeline-active/*.brief.md` | Brief in lavorazione con frontmatter YAML | Durante pipeline |
|
|
28
|
+
| `signals-feed.md` | Metriche normalizzate + anomalie | Periodico (settimanale) |
|
|
29
|
+
|
|
30
|
+
**Problema**: questi file sono leggibili da Claude ma non *visualizzabili* dall'operatore umano. L'operatore deve leggere YAML e tabelle Markdown per capire "dove siamo" prima di decidere "cosa fare".
|
|
31
|
+
|
|
32
|
+
### 1.2 Bisogno Identificato
|
|
33
|
+
|
|
34
|
+
L'operatore umano ha bisogno di **vedere a bocce ferme** — cioè avere una rappresentazione visiva dello stato operativo prima di iniziare una sessione di lavoro. Questo contesto visivo permette:
|
|
35
|
+
|
|
36
|
+
- **Decisioni informate**: quale brief lavorare, quale post schedulare
|
|
37
|
+
- **Pattern recognition**: colli di bottiglia, gap nel calendario, anomalie
|
|
38
|
+
- **Comunicazione**: condividere lo stato con stakeholder non tecnici
|
|
39
|
+
|
|
40
|
+
### 1.3 Evoluzione del Pensiero
|
|
41
|
+
|
|
42
|
+
Nel documento [Strategic Reflections](2026-03-02-content-framework-strategic-reflections.md), sezione 6, "Dashboard React/HTML per stato" era elencato come **anti-pattern** con motivazione:
|
|
43
|
+
|
|
44
|
+
> "Appesantisce il plugin con frontend code"
|
|
45
|
+
|
|
46
|
+
Questa valutazione resta valida per un **dashboard-app** (SPA React, stato persistente, API backend). Tuttavia il brainstorming del 2026-03-02 ha identificato una forma diversa:
|
|
47
|
+
|
|
48
|
+
| Caratteristica | Dashboard-App (anti-pattern) | Dashboard-Report (approccio adottato) |
|
|
49
|
+
|---------------|------------------------------|---------------------------------------|
|
|
50
|
+
| Natura | Applicazione web interattiva | File HTML statico generato on-demand |
|
|
51
|
+
| Stato | Mantiene stato proprio | Legge stato da `.content-state/` |
|
|
52
|
+
| Aggiornamento | Real-time / polling | Ri-generato ad ogni invocazione |
|
|
53
|
+
| Dipendenze | Framework JS, API, build system | Zero (HTML + CSS inline) |
|
|
54
|
+
| Durata | Persistente | Effimero (usa e getta) |
|
|
55
|
+
| Complessità | Alta (manutenzione continua) | Bassa (template string) |
|
|
56
|
+
|
|
57
|
+
**Principio rivisto**: un **report HTML statico generato on-demand** non è un dashboard-app. È un **artefatto di visualizzazione effimero** — equivalente a un `console.log` evoluto aperto nel browser.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 2. Architettura: Approccio Ibrido
|
|
62
|
+
|
|
63
|
+
### 2.1 Due Livelli di Contesto
|
|
64
|
+
|
|
65
|
+
Il brainstorming ha converguto su un approccio a due livelli che serve bisogni diversi:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
69
|
+
│ LIVELLO 1: VISIONE STRATEGICA │
|
|
70
|
+
│ │
|
|
71
|
+
│ Skill dedicata: wp-dashboard │
|
|
72
|
+
│ Output: HTML statico → browser │
|
|
73
|
+
│ Trigger: su richiesta dell'operatore │
|
|
74
|
+
│ Contenuto: vista completa, multi-dimensione │
|
|
75
|
+
│ Uso: prima di una sessione di planning/review │
|
|
76
|
+
│ │
|
|
77
|
+
│ "Mostrami dove siamo" │
|
|
78
|
+
└─────────────────────────────────────────────────────────────┘
|
|
79
|
+
|
|
80
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
81
|
+
│ LIVELLO 2: CONTESTO OPERATIVO │
|
|
82
|
+
│ │
|
|
83
|
+
│ Step 0 inline nelle content skill │
|
|
84
|
+
│ Output: testo terminale (3-5 righe) │
|
|
85
|
+
│ Trigger: automatico, ogni invocazione skill │
|
|
86
|
+
│ Contenuto: solo lo slice rilevante per la skill attiva │
|
|
87
|
+
│ Uso: prima di ogni operazione content │
|
|
88
|
+
│ │
|
|
89
|
+
│ "Ecco cosa sto per toccare" │
|
|
90
|
+
└─────────────────────────────────────────────────────────────┘
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 2.2 Perché Due Livelli
|
|
94
|
+
|
|
95
|
+
| Criterio | Solo Livello 1 | Solo Livello 2 | Ibrido |
|
|
96
|
+
|----------|---------------|---------------|---------|
|
|
97
|
+
| Contesto prima di operare | Richiede azione esplicita | Automatico | Automatico |
|
|
98
|
+
| Visione d'insieme | Completa | Parziale (solo slice) | Completa su richiesta |
|
|
99
|
+
| Overhead per skill | Zero | Minimo (3-5 righe) | Minimo |
|
|
100
|
+
| Condivisibilità | HTML → browser → screenshot | Solo terminale | HTML per stakeholder |
|
|
101
|
+
| Scalabilità multi-sito | Dashboard multi-tab | Snippet per sito attivo | Entrambi |
|
|
102
|
+
|
|
103
|
+
### 2.3 Principio di Separazione
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
shared/context-scanner.mjs ← SCAN + AGGREGATE (modulo condiviso)
|
|
107
|
+
│
|
|
108
|
+
├── wp-dashboard/ ← RENDER → HTML (Livello 1)
|
|
109
|
+
│ Skill dedicata, template HTML, apre browser
|
|
110
|
+
│
|
|
111
|
+
└── step 0 nelle skill ← RENDER → terminal text (Livello 2)
|
|
112
|
+
Funzione importata, output compatto
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
La logica di **lettura e aggregazione** dei file `.content-state/` è scritta una volta sola. Solo il rendering cambia.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 3. Pattern: SCAN → AGGREGATE → RENDER
|
|
120
|
+
|
|
121
|
+
### 3.1 SCAN
|
|
122
|
+
|
|
123
|
+
Lettura dei file `.content-state/` con parsing del frontmatter YAML:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
Input:
|
|
127
|
+
.content-state/
|
|
128
|
+
├── mysite.config.md → brand, canali, cadenza
|
|
129
|
+
├── 2026-03-editorial.state.md → piano editoriale corrente
|
|
130
|
+
├── pipeline-active/ → brief in lavorazione
|
|
131
|
+
│ └── BRF-2026-005.brief.md
|
|
132
|
+
├── pipeline-archive/ → brief completati
|
|
133
|
+
└── signals-feed.md → metriche + anomalie
|
|
134
|
+
|
|
135
|
+
Output: oggetto JavaScript con tutti i dati strutturati
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 3.2 AGGREGATE
|
|
139
|
+
|
|
140
|
+
Calcolo di metriche derivate:
|
|
141
|
+
|
|
142
|
+
| Metrica | Formula | Sorgente |
|
|
143
|
+
|---------|---------|----------|
|
|
144
|
+
| Pipeline velocity | brief `ready` / brief totali | editorial.state.md |
|
|
145
|
+
| Calendar fill rate | slot assegnati / slot totali | editorial.state.md |
|
|
146
|
+
| Content health | media(seo_score, readability) per brief | pipeline-active/*.brief.md |
|
|
147
|
+
| Signal intensity | count(anomalie > threshold) | signals-feed.md |
|
|
148
|
+
| Channel coverage | canali attivi / canali configurati | {site}.config.md |
|
|
149
|
+
|
|
150
|
+
### 3.3 RENDER
|
|
151
|
+
|
|
152
|
+
Due renderer dallo stesso dataset aggregato:
|
|
153
|
+
|
|
154
|
+
**Renderer HTML (Livello 1)**:
|
|
155
|
+
- Kanban board con colonne stato (planned → draft → ready → scheduled → published)
|
|
156
|
+
- Card per ogni contenuto con titolo, data, canali, brief ID
|
|
157
|
+
- Barra laterale con metriche aggregate
|
|
158
|
+
- Sezione anomalie/segnali da signals-feed
|
|
159
|
+
- Self-contained: zero dipendenze esterne (CSS inline, no JS framework)
|
|
160
|
+
|
|
161
|
+
**Renderer Terminal (Livello 2)**:
|
|
162
|
+
- 3-5 righe di testo formattato
|
|
163
|
+
- Solo lo slice rilevante per la skill corrente
|
|
164
|
+
- Esempio per `wp-content-pipeline`:
|
|
165
|
+
```
|
|
166
|
+
── Editorial Context ──────────────────────
|
|
167
|
+
mysite.example.com | Mar 2026
|
|
168
|
+
Pipeline: 2 draft → 1 ready → 0 scheduled
|
|
169
|
+
Next deadline: Mar 18 — "Acqua premium..."
|
|
170
|
+
Briefs attivi: BRF-2026-005
|
|
171
|
+
───────────────────────────────────────────
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 4. Tipi di Vista Dashboard
|
|
177
|
+
|
|
178
|
+
### 4.1 Roadmap delle Viste
|
|
179
|
+
|
|
180
|
+
| Priorità | Vista | Oggetto Primario | Dimensioni |
|
|
181
|
+
|----------|-------|------------------|------------|
|
|
182
|
+
| **P0** | Editorial Kanban | Content (brief/post) | stato × tempo |
|
|
183
|
+
| P1 | Signal Radar | Anomalie/pattern | intensità × tipo |
|
|
184
|
+
| P2 | Distribution Calendar | Canali social/email | canale × data |
|
|
185
|
+
| P3 | Site Health | Metriche tecniche | CWV, uptime, security |
|
|
186
|
+
|
|
187
|
+
**Scope iniziale**: solo P0 (Editorial Kanban). Gli altri seguono se il pattern funziona.
|
|
188
|
+
|
|
189
|
+
### 4.2 Pattern Replicabile
|
|
190
|
+
|
|
191
|
+
Ogni vista segue lo stesso contratto:
|
|
192
|
+
|
|
193
|
+
```javascript
|
|
194
|
+
// Interfaccia concettuale (non codice — guida per l'implementazione)
|
|
195
|
+
{
|
|
196
|
+
scan(contentStatePath, siteId) → rawData,
|
|
197
|
+
aggregate(rawData, viewType) → metrics,
|
|
198
|
+
renderHTML(metrics, template) → htmlString,
|
|
199
|
+
renderTerminal(metrics, sliceType) → terminalString
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Le dimensioni per cui il pattern si replica:
|
|
204
|
+
|
|
205
|
+
| Dimensione | Esempio | Impatto su SCAN |
|
|
206
|
+
|------------|---------|-----------------|
|
|
207
|
+
| **Per sito** | mysite, othersite | Filtro su `site_id` nei file `.content-state/` |
|
|
208
|
+
| **Per tipo tool** | content, analytics, social | Filtro su tipo di dato nel dataset |
|
|
209
|
+
| **Per obiettivo** | awareness, conversion, retention | Filtro su categorie/tag nel editorial plan |
|
|
210
|
+
| **Per timeframe** | settimana, mese, quarter | Filtro temporale su date nel calendar |
|
|
211
|
+
|
|
212
|
+
### 4.3 Index File (Ottimizzazione Futura)
|
|
213
|
+
|
|
214
|
+
A basso volume (1-2 siti, < 20 brief/mese) lo scan diretto dei file è sufficiente. Per scaling:
|
|
215
|
+
|
|
216
|
+
```yaml
|
|
217
|
+
# .content-state/index.yml (auto-generato, gitignored)
|
|
218
|
+
sites:
|
|
219
|
+
- id: mysite
|
|
220
|
+
config: mysite.config.md
|
|
221
|
+
calendar: 2026-03-editorial.state.md
|
|
222
|
+
active_briefs: 1
|
|
223
|
+
published_this_month: 2
|
|
224
|
+
signals_last_updated: "2026-03-01T09:00:00Z"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
L'index è un **cache file**, non una sorgente primaria. Si rigenera leggendo i file MD.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 5. Vincoli Architetturali
|
|
232
|
+
|
|
233
|
+
### 5.1 Allineamento con Principi Esistenti
|
|
234
|
+
|
|
235
|
+
| Principio (da Strategic Reflections) | Applicazione Dashboard |
|
|
236
|
+
|--------------------------------------|----------------------|
|
|
237
|
+
| "Non creare sovrastrutture" | HTML statico, zero framework, zero stato proprio |
|
|
238
|
+
| "File MD come configuration layer" | Lo SCAN legge gli stessi file `.content-state/` |
|
|
239
|
+
| "Zero nuovi MCP tool TypeScript" | Il renderer è uno script Node.js standalone |
|
|
240
|
+
| "Claude = orchestratore naturale" | Claude invoca la skill, il renderer produce l'HTML |
|
|
241
|
+
| "Reversible" | Rimuovere = cancellare la skill + lo script |
|
|
242
|
+
|
|
243
|
+
### 5.2 Vincoli Tecnici
|
|
244
|
+
|
|
245
|
+
| Vincolo | Motivazione |
|
|
246
|
+
|---------|-------------|
|
|
247
|
+
| HTML self-contained | Nessuna dipendenza CDN, offline-first |
|
|
248
|
+
| CSS inline | Un solo file `.html` da aprire |
|
|
249
|
+
| Zero JavaScript interattivo | Report statico, non app |
|
|
250
|
+
| Dimensione < 50 KB | Rendering istantaneo |
|
|
251
|
+
| `open` command per launch | Cross-platform (Linux xdg-open, macOS open) |
|
|
252
|
+
|
|
253
|
+
### 5.3 Dove NON Andare
|
|
254
|
+
|
|
255
|
+
| Tentazione | Perché No |
|
|
256
|
+
|------------|-----------|
|
|
257
|
+
| Framework CSS (Tailwind, Bootstrap) | Over-engineering per un report statico |
|
|
258
|
+
| Chart.js / D3 | Complessità sproporzionata; se servono grafici, si valuta dopo |
|
|
259
|
+
| WebSocket per live update | Anti-pattern: il report si rigenera, non si aggiorna |
|
|
260
|
+
| Template engine (EJS, Handlebars) | Template literal ES6 è sufficiente |
|
|
261
|
+
| Multi-page HTML | Un file, una vista, un `open` |
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## 6. Roadmap Implementativa
|
|
266
|
+
|
|
267
|
+
### Fase A: Editorial Kanban Dashboard (wp-dashboard skill)
|
|
268
|
+
|
|
269
|
+
**Obiettivo**: Prima vista HTML funzionante con Kanban editoriale.
|
|
270
|
+
|
|
271
|
+
**Deliverable**:
|
|
272
|
+
- Skill `wp-dashboard/` con `SKILL.md`
|
|
273
|
+
- Script `scripts/dashboard-renderer.mjs` (SCAN + AGGREGATE + RENDER HTML)
|
|
274
|
+
- Template HTML inline nel renderer
|
|
275
|
+
- Comando `open` per aprire nel browser
|
|
276
|
+
|
|
277
|
+
**Documenti operativi derivati**:
|
|
278
|
+
- `docs/plans/2026-03-02-dashboard-kanban-design.md` — Design document
|
|
279
|
+
- `docs/plans/2026-03-02-dashboard-kanban-implementation.md` — Implementation plan
|
|
280
|
+
|
|
281
|
+
### Fase B: Context Snippet (Step 0 nelle Content Skill)
|
|
282
|
+
|
|
283
|
+
**Obiettivo**: Ogni content skill stampa 3-5 righe di contesto operativo.
|
|
284
|
+
|
|
285
|
+
**Deliverable**:
|
|
286
|
+
- Funzione `renderContextSnippet()` in `scripts/context-scanner.mjs`
|
|
287
|
+
- Integrazione in `wp-content-pipeline/SKILL.md` e `wp-editorial-planner/SKILL.md`
|
|
288
|
+
- Documentazione pattern per future skill
|
|
289
|
+
|
|
290
|
+
**Prerequisito**: Fase A completata (la logica SCAN+AGGREGATE è scritta lì, Fase B la riusa).
|
|
291
|
+
|
|
292
|
+
**Documenti operativi derivati**:
|
|
293
|
+
- `docs/plans/2026-03-02-context-snippet-design.md` — Design document
|
|
294
|
+
|
|
295
|
+
### Fase C: Viste Aggiuntive (se pattern validato)
|
|
296
|
+
|
|
297
|
+
**Trigger**: dopo 2+ settimane di uso reale del Kanban dashboard.
|
|
298
|
+
|
|
299
|
+
**Candidati**:
|
|
300
|
+
1. Signal Radar — se `signals-feed.md` viene usato regolarmente
|
|
301
|
+
2. Distribution Calendar — se multi-channel posting è attivo
|
|
302
|
+
3. Site Health — se monitoring è attivo
|
|
303
|
+
|
|
304
|
+
**Documenti operativi derivati**: uno per vista, solo se/quando necessario.
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## 7. Criteri di Successo
|
|
309
|
+
|
|
310
|
+
| Criterio | Metrica | Fase |
|
|
311
|
+
|----------|---------|------|
|
|
312
|
+
| **Tempo di generazione** | < 2 secondi da invocazione a browser aperto | A |
|
|
313
|
+
| **Self-contained** | Un singolo file `.html`, zero dipendenze | A |
|
|
314
|
+
| **Leggibilità** | Operatore capisce lo stato in < 10 secondi | A |
|
|
315
|
+
| **Condivisibilità** | Screenshot del Kanban usabile in comunicazione | A |
|
|
316
|
+
| **Overhead skill** | Step 0 aggiunge < 500ms alla skill | B |
|
|
317
|
+
| **Zero manutenzione** | Nessun aggiornamento necessario se i file MD non cambiano schema | A, B |
|
|
318
|
+
| **WCOP preserved** | Score WCOP ≥ 9.2/10 dopo implementazione | A, B |
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 8. Impatto sul Plugin
|
|
323
|
+
|
|
324
|
+
### 8.1 Nuovi File
|
|
325
|
+
|
|
326
|
+
| File | Tipo | Fase |
|
|
327
|
+
|------|------|------|
|
|
328
|
+
| `skills/wp-dashboard/SKILL.md` | Skill definition | A |
|
|
329
|
+
| `scripts/dashboard-renderer.mjs` | Node.js script | A |
|
|
330
|
+
| `scripts/context-scanner.mjs` | Shared module (SCAN + AGGREGATE) | A (usato da B) |
|
|
331
|
+
|
|
332
|
+
### 8.2 File Modificati
|
|
333
|
+
|
|
334
|
+
| File | Modifica | Fase |
|
|
335
|
+
|------|----------|------|
|
|
336
|
+
| `skills/wp-content-pipeline/SKILL.md` | Aggiunta step 0 context snippet | B |
|
|
337
|
+
| `skills/wp-editorial-planner/SKILL.md` | Aggiunta step 0 context snippet | B |
|
|
338
|
+
| `package.json` | Bump versione, aggiornamento descrizione | A |
|
|
339
|
+
| `.claude-plugin/plugin.json` | Bump versione, keyword `dashboard` | A |
|
|
340
|
+
| `CHANGELOG.md` | Entry per dashboard | A |
|
|
341
|
+
| `docs/GUIDE.md` | Skill count update | A |
|
|
342
|
+
|
|
343
|
+
### 8.3 Version Bump
|
|
344
|
+
|
|
345
|
+
- Dashboard Kanban (Fase A): `v2.13.0` → `v2.14.0` (minor — nuova capability)
|
|
346
|
+
- Context Snippet (Fase B): `v2.14.0` → `v2.14.1` (patch — enhancement interno)
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## 9. Catena Documentale
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
docs/plans/2026-03-02-content-framework-strategic-reflections.md
|
|
354
|
+
└── docs/plans/2026-03-02-content-framework-architecture.md
|
|
355
|
+
└── docs/plans/2026-03-02-dashboard-strategy.md ← QUESTO DOCUMENTO
|
|
356
|
+
├── docs/plans/2026-03-02-dashboard-kanban-design.md (prossimo)
|
|
357
|
+
│ └── docs/plans/2026-03-02-dashboard-kanban-implementation.md
|
|
358
|
+
└── docs/plans/2026-03-02-context-snippet-design.md (dopo Fase A)
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
*Documento strategico per l'evoluzione del WordPress Manager Plugin con dashboard operativi. Deriva dal brainstorming post-Content Framework v2.13.0.*
|