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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wordpress-manager",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "Unified WordPress management plugin for Claude Code. Orchestrates Hostinger MCP
|
|
3
|
+
"version": "2.13.0",
|
|
4
|
+
"description": "Unified WordPress management plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge (148 tools incl. WooCommerce, Multisite, Mailchimp, Buffer, SendGrid, GSC, GA4, Plausible, CWV, Slack, Workflows, LinkedIn, Twitter, Schema), and WordPress.com MCP with 45 skills, 12 agents, and security hooks. v2.13.0 adds Content Framework: 3-phase pipeline from signals intelligence to editorial calendar to WordPress publishing.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "vinmor",
|
|
7
7
|
"email": "morreale.v@gmail.com"
|
|
@@ -37,7 +37,12 @@
|
|
|
37
37
|
"seo-feedback",
|
|
38
38
|
"content-optimization",
|
|
39
39
|
"readability",
|
|
40
|
-
"headline-scoring"
|
|
40
|
+
"headline-scoring",
|
|
41
|
+
"content-framework",
|
|
42
|
+
"content-pipeline",
|
|
43
|
+
"editorial-calendar",
|
|
44
|
+
"signals-intelligence",
|
|
45
|
+
"structured-data"
|
|
41
46
|
],
|
|
42
47
|
"mcpServers": "./.mcp.json"
|
|
43
48
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,98 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the WordPress Manager plugin for Claude Code.
|
|
4
4
|
|
|
5
|
+
## [2.14.0] — 2026-03-02
|
|
6
|
+
|
|
7
|
+
### Added — Editorial Kanban Dashboard
|
|
8
|
+
|
|
9
|
+
Dashboard HTML statico generato on-demand dai file `.content-state/`. Zero dipendenze esterne, zero network call, zero framework — un singolo file HTML self-contained apribile nel browser.
|
|
10
|
+
|
|
11
|
+
**Skill `wp-dashboard`**
|
|
12
|
+
- Nuova skill con trigger in italiano e inglese ("mostra dashboard", "show editorial status", "apri kanban")
|
|
13
|
+
- Workflow 4-step: sito target → mese → generazione → report
|
|
14
|
+
- Guida visuale integrata: come leggere colonne, card, signals, progress bar
|
|
15
|
+
- Tabella "Next Actions by Observation" che collega osservazioni visive ad azioni specifiche
|
|
16
|
+
|
|
17
|
+
**Script `context-scanner.mjs` (modulo condiviso)**
|
|
18
|
+
- Parser YAML frontmatter manuale (zero dipendenze npm) per `.content-state/` files
|
|
19
|
+
- Parser tabelle Markdown editoriali con risoluzione date
|
|
20
|
+
- `scanContentState()` — lettura aggregata di config, calendario, brief attivi/archiviati, signals
|
|
21
|
+
- `aggregateMetrics()` — metriche pipeline: colonne, progress, fill rate, next deadline, channel usage
|
|
22
|
+
- `renderContextSnippet()` — stub terminale per Fase B (context injection nelle skill esistenti)
|
|
23
|
+
|
|
24
|
+
**Script `dashboard-renderer.mjs` (CLI + HTML)**
|
|
25
|
+
- Template HTML Kanban con 5 colonne: Planned → Draft → Ready → Scheduled → Published
|
|
26
|
+
- Card colorate per status con date, titoli, brief ID, WP post ID, badge canali
|
|
27
|
+
- Progress bar con rapporto pubblicati/target
|
|
28
|
+
- Signals strip con anomalie e delta percentuali
|
|
29
|
+
- CSS Grid responsivo, stampa-friendly, ~14 KB output
|
|
30
|
+
- CLI: `--site=X`, `--month=YYYY-MM`, `--output=path`, `--no-open`
|
|
31
|
+
- Auto-detect sito se configurazione unica
|
|
32
|
+
- Apertura browser cross-platform (Linux/macOS/Windows)
|
|
33
|
+
- npm script: `npm run dashboard -- --site=mysite`
|
|
34
|
+
|
|
35
|
+
**Verificato con dati reali mysite.example.com**
|
|
36
|
+
- 8 entry calendario (3 planned, 1 draft, 2 ready, 2 published)
|
|
37
|
+
- 3 anomalie signals (+120%, +85%, +47%)
|
|
38
|
+
- Output 13.7 KB, tutte le sezioni presenti
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## [2.13.0] — 2026-03-02
|
|
43
|
+
|
|
44
|
+
### Added — Content Framework (3 Phases)
|
|
45
|
+
|
|
46
|
+
Il Content Framework introduce un'architettura a 3 fasi che collega signal intelligence, content pipeline e editorial calendar. Zero nuovi MCP tool TypeScript — l'intera orchestrazione vive nel CLI via skill + file Markdown strutturati.
|
|
47
|
+
|
|
48
|
+
**Phase 1: Content Pipeline Engine**
|
|
49
|
+
- Nuova skill `wp-content-pipeline` con workflow 5-step: `RECEIVE → PREPARE → PUBLISH → DISTRIBUTE → ARCHIVE`
|
|
50
|
+
- Schema `content-brief.schema.md` — formato di scambio tra Gen* skill e WordPress
|
|
51
|
+
- Schema `site-config.schema.md` — configurazione per-sito (cadenza, canali, defaults)
|
|
52
|
+
- Directory `.content-state/` con pipeline-active/archive per gestione brief
|
|
53
|
+
- Supporto multi-sito (mysite + altri)
|
|
54
|
+
- Distribuzione automatica su Buffer + Mailchimp dopo pubblicazione
|
|
55
|
+
|
|
56
|
+
**Phase 2: Content Intelligence**
|
|
57
|
+
- Estesa skill `wp-analytics` con Step 7 (signal feed generation)
|
|
58
|
+
- Schema `signals-feed.schema.md` — compatibile con GenSignal NormalizedEvent
|
|
59
|
+
- Delta calculation: confronto metriche con periodo precedente
|
|
60
|
+
- Riconoscimento automatico pattern GenSignal (Search Intent Shift, Early-Adopter Surge, Price-Floor Inversion)
|
|
61
|
+
- Pipeline: analytics → signals-feed.md → insight azionabili
|
|
62
|
+
|
|
63
|
+
**Phase 3: Editorial Calendar**
|
|
64
|
+
- Nuova skill `wp-editorial-planner` con workflow 4-step: `PLAN → BRIEF → SCHEDULE → SYNC`
|
|
65
|
+
- Schema `editorial.schema.md` — calendario mensile con tabelle settimanali (7 colonne)
|
|
66
|
+
- Lifecycle entry: `planned → draft → ready → scheduled → published`
|
|
67
|
+
- Integrazione cross-phase: signals-feed → topic suggestions → calendar → brief → WP post
|
|
68
|
+
- SYNC bidirezionale: status WordPress → aggiornamento calendario
|
|
69
|
+
|
|
70
|
+
**E2E Test su mysite.example.com**
|
|
71
|
+
- PLAN: anomalia signals-feed (acqua premium +120%) → topic assignment ✅
|
|
72
|
+
- BRIEF: calendar entry → BRF-2026-005.brief.md con contenuto completo ✅
|
|
73
|
+
- SCHEDULE: brief → WP post via AIWU ✅ (con limitazione `post_date` documentata)
|
|
74
|
+
- SYNC: lettura status WP e verifica calendario ✅
|
|
75
|
+
- Cleanup: test posts eliminati ✅
|
|
76
|
+
|
|
77
|
+
**Known Limitation — AIWU MCP**
|
|
78
|
+
- `wp_create_post` / `wp_update_post` non supportano `post_date`
|
|
79
|
+
- `status: future` non funziona via AIWU (auto-publish)
|
|
80
|
+
- Workaround: usare wp-rest-bridge `create_content` che supporta `date`
|
|
81
|
+
|
|
82
|
+
### Added — Validation Runner v1.2.0
|
|
83
|
+
|
|
84
|
+
- Sistema di validazione automatica per tutti i 148 MCP tool
|
|
85
|
+
- Test CRUD per 26 write tool con sequenze automatiche a 2 tier
|
|
86
|
+
- Modalità interattiva CLI con `@clack/prompts` (selezione sito, tipo validazione, filtro modulo)
|
|
87
|
+
- Flag `--site=X` per selezione sito in batch mode
|
|
88
|
+
- Report: 48 read passed, 26 write passed, 0 failed su mysite
|
|
89
|
+
|
|
90
|
+
### Stats
|
|
91
|
+
|
|
92
|
+
- Skills: 43 → **45** (+wp-content-pipeline, +wp-editorial-planner)
|
|
93
|
+
- Reference schemas: +4 (content-brief, site-config, signals-feed, editorial)
|
|
94
|
+
- Architecture doc: `docs/plans/2026-03-02-content-framework-architecture.md`
|
|
95
|
+
- GUIDE.md: +3 sezioni (17.4 Content Pipeline, 17.5 Content Intelligence, 17.6 Editorial Calendar)
|
|
96
|
+
|
|
5
97
|
## [2.12.2] — 2026-03-01
|
|
6
98
|
|
|
7
99
|
### Fixed — Structured Data Tools Rewrite
|
|
@@ -19,7 +111,7 @@ All notable changes to the WordPress Manager plugin for Claude Code.
|
|
|
19
111
|
- Now finds ALL JSON-LD scripts on a page (not just the first)
|
|
20
112
|
- Reports per-schema issues with type labels
|
|
21
113
|
|
|
22
|
-
### Validated end-to-end on
|
|
114
|
+
### Validated end-to-end on mysite.example.com
|
|
23
115
|
- sd_inject Article on post 2348: ✅
|
|
24
116
|
- sd_list_schemas finds injected schema: ✅
|
|
25
117
|
- sd_validate on live URL: ✅ (2 schemas detected)
|
|
@@ -42,7 +134,7 @@ All notable changes to the WordPress Manager plugin for Claude Code.
|
|
|
42
134
|
- Corrected tool count from 145 to 148 across GUIDE.md and package.json
|
|
43
135
|
- WordPress core: Plugins 6 (not 5), Users 6 (not 5), Media 5 (not 4), +Search (1)
|
|
44
136
|
|
|
45
|
-
### Validated end-to-end on
|
|
137
|
+
### Validated end-to-end on mysite.example.com
|
|
46
138
|
- `get_active_site`, `list_content`, `sd_validate` (markup + URL), `sd_list_schemas`
|
|
47
139
|
- GSC, Mailchimp tools return correct "not configured" errors
|
|
48
140
|
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants to check their WordPress theme for accessibility compliance.
|
|
9
|
-
user: "Run an accessibility audit on my
|
|
9
|
+
user: "Run an accessibility audit on my mysite.example.com site"
|
|
10
10
|
assistant: "I'll use the wp-accessibility-auditor agent to perform a WCAG 2.2 AA compliance audit."
|
|
11
11
|
<commentary>Accessibility audits require automated scanning, code review, and manual testing guidance.</commentary>
|
|
12
12
|
</example>
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants to create a new blog post with SEO optimization.
|
|
9
|
-
user: "Create a blog post about
|
|
9
|
+
user: "Create a blog post about sparkling water benefits for mysite.example.com"
|
|
10
10
|
assistant: "I'll use the wp-content-strategist agent to draft and publish the post with SEO optimization."
|
|
11
11
|
<commentary>Content creation with SEO awareness requires specialized content workflow.</commentary>
|
|
12
12
|
</example>
|
|
@@ -20,7 +20,7 @@ description: |
|
|
|
20
20
|
|
|
21
21
|
<example>
|
|
22
22
|
Context: User needs to manage taxonomies and organize content.
|
|
23
|
-
user: "Create product categories for the
|
|
23
|
+
user: "Create product categories for the AcmeBrand line"
|
|
24
24
|
assistant: "I'll use the wp-content-strategist agent to set up the taxonomy structure."
|
|
25
25
|
<commentary>Taxonomy design impacts content architecture and SEO.</commentary>
|
|
26
26
|
</example>
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants to deploy a custom plugin to their Hostinger-hosted WordPress site.
|
|
9
|
-
user: "Deploy the bioeconomy modal plugin to
|
|
9
|
+
user: "Deploy the bioeconomy modal plugin to mysite.example.com"
|
|
10
10
|
assistant: "I'll use the wp-deployment-engineer agent to handle the deployment."
|
|
11
11
|
<commentary>Plugin deployment to Hostinger requires specialized deployment workflow.</commentary>
|
|
12
12
|
</example>
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants to set up monitoring for their WordPress site.
|
|
9
|
-
user: "Set up monitoring for my
|
|
9
|
+
user: "Set up monitoring for my mysite.example.com site"
|
|
10
10
|
assistant: "I'll use the wp-monitoring-agent to establish a monitoring baseline and configure health checks."
|
|
11
11
|
<commentary>Monitoring setup requires running detection, establishing baselines, and configuring checks.</commentary>
|
|
12
12
|
</example>
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User's WordPress site is loading slowly.
|
|
9
|
-
user: "My
|
|
9
|
+
user: "My mysite.example.com site is really slow, can you help?"
|
|
10
10
|
assistant: "I'll use the wp-performance-optimizer agent to diagnose performance bottlenecks."
|
|
11
11
|
<commentary>Performance diagnosis requires checking plugins, hosting, caching, and content delivery.</commentary>
|
|
12
12
|
</example>
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants a security audit of their WordPress site.
|
|
9
|
-
user: "Run a security check on
|
|
9
|
+
user: "Run a security check on mysite.example.com"
|
|
10
10
|
assistant: "I'll use the wp-security-auditor agent to perform a comprehensive security audit."
|
|
11
11
|
<commentary>Security audits require checking plugins, users, hosting config, and known vulnerabilities.</commentary>
|
|
12
12
|
</example>
|
|
@@ -6,21 +6,21 @@ description: |
|
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants to check the status of their WordPress site.
|
|
9
|
-
user: "What's the status of my
|
|
9
|
+
user: "What's the status of my mysite.example.com site?"
|
|
10
10
|
assistant: "I'll use the wp-site-manager agent to check your site status."
|
|
11
11
|
<commentary>Site status check requires coordinating multiple API calls.</commentary>
|
|
12
12
|
</example>
|
|
13
13
|
|
|
14
14
|
<example>
|
|
15
15
|
Context: User wants to manage content across multiple WordPress sites.
|
|
16
|
-
user: "List all draft posts on
|
|
16
|
+
user: "List all draft posts on mysite"
|
|
17
17
|
assistant: "I'll use the wp-site-manager agent to query your WordPress content."
|
|
18
18
|
<commentary>Content management operations should go through this agent.</commentary>
|
|
19
19
|
</example>
|
|
20
20
|
|
|
21
21
|
<example>
|
|
22
22
|
Context: User needs to switch between WordPress sites.
|
|
23
|
-
user: "Switch to my
|
|
23
|
+
user: "Switch to my othersite site and list plugins"
|
|
24
24
|
assistant: "I'll use the wp-site-manager agent to handle multi-site operations."
|
|
25
25
|
<commentary>Multi-site coordination is a core capability of this agent.</commentary>
|
|
26
26
|
</example>
|
package/commands/wp-setup.md
CHANGED
|
@@ -16,8 +16,8 @@ Add and configure a new WordPress site for management through Claude Code.
|
|
|
16
16
|
|
|
17
17
|
### Step 1: Gather Site Information
|
|
18
18
|
Ask the user for:
|
|
19
|
-
- **Site URL**: The WordPress site's base URL (e.g., `https://
|
|
20
|
-
- **Site ID**: A short identifier for multi-site switching (e.g., `
|
|
19
|
+
- **Site URL**: The WordPress site's base URL (e.g., `https://mysite.example.com`)
|
|
20
|
+
- **Site ID**: A short identifier for multi-site switching (e.g., `mysite`)
|
|
21
21
|
- **Admin username**: WordPress admin email or username
|
|
22
22
|
- **Application password**: Generated from WordPress Admin → Users → Profile → Application Passwords
|
|
23
23
|
- **Hosting provider**: Hostinger / other (determines available tools)
|
package/docs/GUIDE.md
CHANGED
|
@@ -130,7 +130,7 @@ wordpress-manager/ # v2.12.2
|
|
|
130
130
|
| +-- wp-distribution-manager.md # Multi-channel distribution + LinkedIn + Twitter/X (v2.10.0)
|
|
131
131
|
+-- commands/ # 5 slash commands
|
|
132
132
|
| +-- wp-status.md / wp-deploy.md / wp-audit.md / wp-backup.md / wp-setup.md
|
|
133
|
-
+-- skills/ #
|
|
133
|
+
+-- skills/ # 46 skill totali
|
|
134
134
|
| +-- [OPERATIVE - 5 skill]
|
|
135
135
|
| +-- wp-deploy/ # Procedure deploy
|
|
136
136
|
| +-- wp-audit/ # Checklist audit
|
|
@@ -346,7 +346,7 @@ WordPress Manager comprende richieste in linguaggio naturale. Ecco come formular
|
|
|
346
346
|
|
|
347
347
|
| Cosa vuoi fare | Come chiederlo |
|
|
348
348
|
|----------------|----------------|
|
|
349
|
-
| Controllare lo stato | "Come sta il mio sito?" / "Status di
|
|
349
|
+
| Controllare lo stato | "Come sta il mio sito?" / "Status di mysite" |
|
|
350
350
|
| Creare un post | "Crea un post su..." / "Scrivi un articolo su..." |
|
|
351
351
|
| Deploy un plugin | "Deploya il plugin X" / "Pusha il tema in produzione" |
|
|
352
352
|
| Audit sicurezza | "Fai un audit di sicurezza" / "Controlla la sicurezza del sito" |
|
|
@@ -356,7 +356,7 @@ WordPress Manager comprende richieste in linguaggio naturale. Ecco come formular
|
|
|
356
356
|
| Ripristinare un backup | "Ripristina il backup" / "Restore dal backup di ieri" |
|
|
357
357
|
| Migrare un sito | "Migra il sito su Hostinger" / "Trasferisci il sito" |
|
|
358
358
|
| Aggiungere un nuovo sito | "Configura un nuovo sito WordPress" |
|
|
359
|
-
| Cambiare sito attivo | "Passa al sito
|
|
359
|
+
| Cambiare sito attivo | "Passa al sito othersite" / "Switch a mysite" |
|
|
360
360
|
| Eseguire test | "Esegui i test" / "Lancia Playwright" / "Testa il plugin" |
|
|
361
361
|
| Hardening sicurezza | "Metti in sicurezza il sito" / "Hardening" |
|
|
362
362
|
| Audit accessibilita | "Controlla l'accessibilita" / "WCAG audit" |
|
|
@@ -557,7 +557,7 @@ Il plugin include **12 agenti** organizzati per area di competenza. Alcuni agent
|
|
|
557
557
|
- Switching tra siti multipli
|
|
558
558
|
- Coordinamento tra tool Hostinger e WP REST Bridge
|
|
559
559
|
|
|
560
|
-
**Esempio attivazione**: "Come sta il mio sito?", "Passa al sito
|
|
560
|
+
**Esempio attivazione**: "Come sta il mio sito?", "Passa al sito mysite", "Elenca tutti i siti configurati"
|
|
561
561
|
|
|
562
562
|
---
|
|
563
563
|
|
|
@@ -982,7 +982,7 @@ wp-block-development: guida creazione blocco
|
|
|
982
982
|
```
|
|
983
983
|
|
|
984
984
|
```
|
|
985
|
-
Utente: "Deploya il plugin su
|
|
985
|
+
Utente: "Deploya il plugin su mysite"
|
|
986
986
|
|
|
|
987
987
|
wordpress-router: TASK = operativo
|
|
988
988
|
|
|
|
@@ -1373,7 +1373,7 @@ Questi hook eseguono script bash per validazioni tecniche:
|
|
|
1373
1373
|
Per un'operazione di import WordPress, la catena e:
|
|
1374
1374
|
|
|
1375
1375
|
```
|
|
1376
|
-
Utente: "Importa il backup su
|
|
1376
|
+
Utente: "Importa il backup su mysite"
|
|
1377
1377
|
|
|
|
1378
1378
|
Hook #6 (backup-reminder.sh) -> Stampa reminder backup
|
|
1379
1379
|
|
|
|
@@ -1536,26 +1536,26 @@ Aggiungi piu siti a `WP_SITES_CONFIG`:
|
|
|
1536
1536
|
```bash
|
|
1537
1537
|
export WP_SITES_CONFIG='[
|
|
1538
1538
|
{
|
|
1539
|
-
"id": "
|
|
1540
|
-
"url": "https://
|
|
1541
|
-
"username": "admin@
|
|
1539
|
+
"id": "mysite",
|
|
1540
|
+
"url": "https://mysite.example.com",
|
|
1541
|
+
"username": "admin@mysite.example.com",
|
|
1542
1542
|
"password": "xxxx xxxx xxxx xxxx"
|
|
1543
1543
|
},
|
|
1544
1544
|
{
|
|
1545
|
-
"id": "
|
|
1546
|
-
"url": "https://
|
|
1547
|
-
"username": "admin@
|
|
1545
|
+
"id": "othersite",
|
|
1546
|
+
"url": "https://othersite.example.com",
|
|
1547
|
+
"username": "admin@othersite.example.com",
|
|
1548
1548
|
"password": "yyyy yyyy yyyy yyyy"
|
|
1549
1549
|
}
|
|
1550
1550
|
]'
|
|
1551
|
-
export WP_DEFAULT_SITE="
|
|
1551
|
+
export WP_DEFAULT_SITE="mysite"
|
|
1552
1552
|
```
|
|
1553
1553
|
|
|
1554
1554
|
### Cambio Sito
|
|
1555
1555
|
|
|
1556
1556
|
```
|
|
1557
|
-
"Passa al sito
|
|
1558
|
-
"Switch to
|
|
1557
|
+
"Passa al sito othersite"
|
|
1558
|
+
"Switch to mysite"
|
|
1559
1559
|
"Elenca i siti configurati"
|
|
1560
1560
|
```
|
|
1561
1561
|
|
|
@@ -1578,7 +1578,7 @@ Il wp-site-manager agent determina automaticamente quale set di tool usare:
|
|
|
1578
1578
|
### Scenario 1: Check-up Mattutino del Sito
|
|
1579
1579
|
|
|
1580
1580
|
```
|
|
1581
|
-
Tu: "Come sta
|
|
1581
|
+
Tu: "Come sta mysite oggi?"
|
|
1582
1582
|
|
|
1583
1583
|
Claude:
|
|
1584
1584
|
- Controlla raggiungibilita (HTTP 200)
|
|
@@ -1592,7 +1592,7 @@ Claude:
|
|
|
1592
1592
|
### Scenario 2: Pubblicare un Articolo Ottimizzato SEO
|
|
1593
1593
|
|
|
1594
1594
|
```
|
|
1595
|
-
Tu: "Scrivi e pubblica un articolo sulla bioeconomia del
|
|
1595
|
+
Tu: "Scrivi e pubblica un articolo sulla bioeconomia del frutto mediterraneo in Mediterraneo"
|
|
1596
1596
|
|
|
1597
1597
|
Claude (attiva wp-content-strategist + skill wp-content):
|
|
1598
1598
|
1. Propone struttura (H1, H2, H3)
|
|
@@ -1764,7 +1764,7 @@ Claude (attiva wp-cicd-engineer + skill wp-cicd):
|
|
|
1764
1764
|
### Scenario 14: Monitoring Continuo del Sito
|
|
1765
1765
|
|
|
1766
1766
|
```
|
|
1767
|
-
Tu: "Configura il monitoring completo per
|
|
1767
|
+
Tu: "Configura il monitoring completo per mysite.example.com"
|
|
1768
1768
|
|
|
1769
1769
|
Claude (attiva wp-monitoring-agent + skill wp-monitoring):
|
|
1770
1770
|
1. Detection con monitoring_inspect.mjs (rileva setup esistente)
|
|
@@ -2014,7 +2014,7 @@ Claude (attiva wp-distribution-manager + skill wp-linkedin):
|
|
|
2014
2014
|
### Scenario 30: Thread Twitter/X dal Blog
|
|
2015
2015
|
|
|
2016
2016
|
```
|
|
2017
|
-
Tu: "Crea un thread Twitter dal mio ultimo articolo sul
|
|
2017
|
+
Tu: "Crea un thread Twitter dal mio ultimo articolo sul frutto mediterraneo"
|
|
2018
2018
|
|
|
2019
2019
|
Claude (attiva wp-distribution-manager + skill wp-twitter):
|
|
2020
2020
|
1. Detection con twitter_inspect.mjs (OAuth tokens configurati?)
|
|
@@ -2029,10 +2029,10 @@ Claude (attiva wp-distribution-manager + skill wp-twitter):
|
|
|
2029
2029
|
### Scenario 31: Generare Contenuto AI da Zero
|
|
2030
2030
|
|
|
2031
2031
|
```
|
|
2032
|
-
Tu: "Scrivi un articolo sui benefici dell'acqua
|
|
2032
|
+
Tu: "Scrivi un articolo sui benefici dell'acqua premium per l'idratazione"
|
|
2033
2033
|
|
|
2034
2034
|
Claude (attiva wp-content-strategist + skill wp-content-generation):
|
|
2035
|
-
1. Brief: topic = acqua
|
|
2035
|
+
1. Brief: topic = acqua premium, audience = consumatori health-conscious, goal = informare, 1200-1500 parole
|
|
2036
2036
|
2. Keyword research: se GSC disponibile, gsc_query_analytics per keyword correlate; altrimenti suggerisce keyword semantiche
|
|
2037
2037
|
3. Outline: pattern "Standard Article" — intro + 4 H2 (benefici, scienza, vs alternative, come usare) + conclusione
|
|
2038
2038
|
4. Draft: scrive contenuto calibrato sulla voce del sito (analizza ultimi 5 post per tono)
|
|
@@ -2159,6 +2159,130 @@ File: 644 (rw-r--r--)
|
|
|
2159
2159
|
wp-config.php: 440 (r--r-----)
|
|
2160
2160
|
```
|
|
2161
2161
|
|
|
2162
|
+
### 14.8 Validation Runner — Test Automatizzati dei Tool MCP
|
|
2163
|
+
|
|
2164
|
+
Il **Validation Runner** (`scripts/run-validation.mjs`) verifica il corretto funzionamento di tutti i 148 tool MCP registrati. Supporta due modalita di utilizzo: **interattiva** (menu guidato) e **batch** (flag CLI per automazione/CI).
|
|
2165
|
+
|
|
2166
|
+
#### Modalita Interattiva
|
|
2167
|
+
|
|
2168
|
+
Lanciando lo script senza flag si attiva un menu guidato con `@clack/prompts`:
|
|
2169
|
+
|
|
2170
|
+
```bash
|
|
2171
|
+
node scripts/run-validation.mjs
|
|
2172
|
+
```
|
|
2173
|
+
|
|
2174
|
+
Il menu guida attraverso 4 step:
|
|
2175
|
+
|
|
2176
|
+
1. **Selezione sito target** — lista automatica dai siti in `WP_SITES_CONFIG`
|
|
2177
|
+
2. **Tipo di validazione** — read tool, write tool per tier, o validazione completa
|
|
2178
|
+
3. **Filtro modulo** (opzionale) — per testare un singolo modulo (es. `unified-content`)
|
|
2179
|
+
4. **Conferma** — riepilogo e conferma prima dell'esecuzione
|
|
2180
|
+
|
|
2181
|
+
```
|
|
2182
|
+
┌ WP REST Bridge — Validation Runner v1.2.0
|
|
2183
|
+
│
|
|
2184
|
+
◆ Seleziona il sito target
|
|
2185
|
+
│ ● mysite (https://mysite.example.com)
|
|
2186
|
+
│ ○ othersite (https://othersite.example.com)
|
|
2187
|
+
└
|
|
2188
|
+
◆ Cosa vuoi validare?
|
|
2189
|
+
│ ○ Solo read tool
|
|
2190
|
+
│ ○ Solo write tool (Tier 1 — CRUD base)
|
|
2191
|
+
│ ○ Solo write tool (Tier 2 — con dipendenze)
|
|
2192
|
+
│ ○ Solo write tool (tutti i tier)
|
|
2193
|
+
│ ○ Tutto (read + write)
|
|
2194
|
+
└
|
|
2195
|
+
```
|
|
2196
|
+
|
|
2197
|
+
#### Modalita Batch (CLI)
|
|
2198
|
+
|
|
2199
|
+
Per automazione, CI, o uso da Claude Code si usano i flag:
|
|
2200
|
+
|
|
2201
|
+
```bash
|
|
2202
|
+
# Selezionare sito specifico
|
|
2203
|
+
node scripts/run-validation.mjs --site=mysite
|
|
2204
|
+
|
|
2205
|
+
# Test solo read tool
|
|
2206
|
+
node scripts/run-validation.mjs --site=mysite --module=unified-content
|
|
2207
|
+
|
|
2208
|
+
# Test write CRUD sequences
|
|
2209
|
+
node scripts/run-validation.mjs --site=mysite --test-writes
|
|
2210
|
+
|
|
2211
|
+
# Solo Tier 1 (content, term, comment, user)
|
|
2212
|
+
node scripts/run-validation.mjs --test-writes --tier=1
|
|
2213
|
+
|
|
2214
|
+
# Solo Tier 2 (media, plugin, assign_terms)
|
|
2215
|
+
node scripts/run-validation.mjs --test-writes --tier=2
|
|
2216
|
+
|
|
2217
|
+
# Regolare il delay tra le chiamate
|
|
2218
|
+
node scripts/run-validation.mjs --delay=200
|
|
2219
|
+
```
|
|
2220
|
+
|
|
2221
|
+
**Flag disponibili**:
|
|
2222
|
+
|
|
2223
|
+
| Flag | Descrizione |
|
|
2224
|
+
|------|-------------|
|
|
2225
|
+
| `--site=ID` | Seleziona il sito target (switch automatico via MCP) |
|
|
2226
|
+
| `--module=NOME` | Filtra per modulo (es. `unified-content`, `gsc`, `wc-products`) |
|
|
2227
|
+
| `--test-writes` | Esegue sequenze CRUD: create > verify > update > verify > delete |
|
|
2228
|
+
| `--tier=N` | Filtra le write sequences per tier (1, 2, o 3) |
|
|
2229
|
+
| `--include-writes` | Include write tool nel test read (senza sequenze CRUD) |
|
|
2230
|
+
| `--delay=MS` | Millisecondi di attesa tra le chiamate (default: 100) |
|
|
2231
|
+
| `--timeout=MS` | Timeout per singola chiamata (default: 10000) |
|
|
2232
|
+
|
|
2233
|
+
**Regola duale**: senza flag → interattivo. Con almeno un flag → batch mode.
|
|
2234
|
+
|
|
2235
|
+
#### Write Test Tiers
|
|
2236
|
+
|
|
2237
|
+
| Tier | Sequenze | Descrizione |
|
|
2238
|
+
|------|----------|-------------|
|
|
2239
|
+
| **1** | content, term, comment, user | CRUD base, entita standalone |
|
|
2240
|
+
| **2** | media, plugin, assign_terms | CRUD con dipendenze tra entita |
|
|
2241
|
+
| **3** | switch_site | Operazioni speciali (cambio sito e ritorno) |
|
|
2242
|
+
|
|
2243
|
+
Ogni sequenza esegue il ciclo completo **create → verify → update → verify → delete** con cleanup automatico in caso di errore.
|
|
2244
|
+
|
|
2245
|
+
#### Output: Tre Livelli di Dettaglio
|
|
2246
|
+
|
|
2247
|
+
I risultati vengono generati in tre formati complementari:
|
|
2248
|
+
|
|
2249
|
+
1. **Console (stderr)** — log in tempo reale durante l'esecuzione, ideale per monitorare il progresso:
|
|
2250
|
+
```
|
|
2251
|
+
[validation] Write sequences to run: content(T1), term(T1), user(T1)
|
|
2252
|
+
[validation] ── Sequence: content (Tier 1) ──
|
|
2253
|
+
[validation] → extracted id=2451
|
|
2254
|
+
[validation] [+] create:create_content (488ms)
|
|
2255
|
+
[validation] [+] verify:get_content (341ms)
|
|
2256
|
+
```
|
|
2257
|
+
|
|
2258
|
+
2. **Markdown** (`docs/VALIDATION.md`) — report tabellare per consultazione rapida, con status per ogni tool, servizio e modulo.
|
|
2259
|
+
|
|
2260
|
+
3. **Dashboard HTML** (`docs/validation/dashboard.html`) — interfaccia grafica interattiva con:
|
|
2261
|
+
- Grafici riassuntivi (passed/failed/skipped)
|
|
2262
|
+
- Dettaglio per modulo e servizio
|
|
2263
|
+
- Tempo di risposta per ogni tool
|
|
2264
|
+
- Filtri e ricerca
|
|
2265
|
+
|
|
2266
|
+
> **Importante**: La dashboard carica `results.json` via `fetch()`, quindi richiede un server HTTP. Non funziona con il protocollo `file://`.
|
|
2267
|
+
|
|
2268
|
+
```bash
|
|
2269
|
+
# Avviare un server locale per la dashboard
|
|
2270
|
+
cd docs/validation && python3 -m http.server 8111
|
|
2271
|
+
|
|
2272
|
+
# Poi aprire nel browser
|
|
2273
|
+
# http://localhost:8111/dashboard.html
|
|
2274
|
+
```
|
|
2275
|
+
|
|
2276
|
+
#### File Generati
|
|
2277
|
+
|
|
2278
|
+
| File | Formato | Descrizione |
|
|
2279
|
+
|------|---------|-------------|
|
|
2280
|
+
| `docs/validation/results.json` | JSON | Dati strutturati, merge incrementale tra run |
|
|
2281
|
+
| `docs/VALIDATION.md` | Markdown | Report leggibile, rigenerato ad ogni run |
|
|
2282
|
+
| `docs/validation/dashboard.html` | HTML | Dashboard interattiva (richiede HTTP server) |
|
|
2283
|
+
|
|
2284
|
+
I risultati sono **incrementali**: un run su un singolo modulo (`--module=X`) aggiorna solo quel modulo in `results.json`, preservando i risultati precedenti degli altri.
|
|
2285
|
+
|
|
2162
2286
|
---
|
|
2163
2287
|
|
|
2164
2288
|
## 15. Troubleshooting
|
|
@@ -2363,6 +2487,121 @@ bash ~/.claude/plugins/local/wordpress-manager/scripts/validate-wp-operation.sh
|
|
|
2363
2487
|
|
|
2364
2488
|
---
|
|
2365
2489
|
|
|
2490
|
+
## 17. Content Framework
|
|
2491
|
+
|
|
2492
|
+
The Content Framework connects Gen* ecosystem skills (GenCorpComm, GenMarketing, GenSignal) to WordPress publishing through structured Markdown files.
|
|
2493
|
+
|
|
2494
|
+
### 17.1 Architecture
|
|
2495
|
+
|
|
2496
|
+
The framework uses three types of MD files as configuration layer:
|
|
2497
|
+
|
|
2498
|
+
| Type | Suffix | Purpose | Location |
|
|
2499
|
+
|------|--------|---------|----------|
|
|
2500
|
+
| Schema | `.schema.md` | Template definition | `skills/wp-content-pipeline/references/` |
|
|
2501
|
+
| Config | `.config.md` | Site-specific settings | `.content-state/{site_id}.config.md` |
|
|
2502
|
+
| Brief | `.brief.md` | Content instance | `.content-state/pipeline-active/` |
|
|
2503
|
+
|
|
2504
|
+
### 17.2 Content Pipeline (Phase 1)
|
|
2505
|
+
|
|
2506
|
+
**Skill**: `wp-content-pipeline`
|
|
2507
|
+
|
|
2508
|
+
The pipeline orchestrates: `SCAN → CONFIG → VALIDATE → PUBLISH → DISTRIBUTE → UPDATE → ARCHIVE`
|
|
2509
|
+
|
|
2510
|
+
**Creating a brief**:
|
|
2511
|
+
1. Generate content (via GenCorpComm or manually)
|
|
2512
|
+
2. Save as `.content-state/pipeline-active/BRF-YYYY-NNN.brief.md`
|
|
2513
|
+
3. Set frontmatter: site_id, title, categories, channels, SEO params
|
|
2514
|
+
4. Set `status: ready` when content is finalized
|
|
2515
|
+
|
|
2516
|
+
**Publishing a brief**:
|
|
2517
|
+
1. Invoke `wp-content-pipeline` skill
|
|
2518
|
+
2. Pipeline reads all `status: ready` briefs
|
|
2519
|
+
3. Validates quality gates
|
|
2520
|
+
4. Creates WP post → distributes to channels → archives brief
|
|
2521
|
+
|
|
2522
|
+
**Site configuration**:
|
|
2523
|
+
- One `.content-state/{site_id}.config.md` per managed site
|
|
2524
|
+
- Defines brand voice, default categories, active channels, SEO settings
|
|
2525
|
+
- Brief values override config defaults
|
|
2526
|
+
|
|
2527
|
+
### 17.3 Directory Structure
|
|
2528
|
+
|
|
2529
|
+
```
|
|
2530
|
+
.content-state/
|
|
2531
|
+
├── {site_id}.config.md # site configuration
|
|
2532
|
+
├── pipeline-active/ # briefs in progress
|
|
2533
|
+
│ └── BRF-YYYY-NNN.brief.md
|
|
2534
|
+
└── pipeline-archive/ # completed briefs
|
|
2535
|
+
└── BRF-YYYY-NNN.brief.md
|
|
2536
|
+
```
|
|
2537
|
+
|
|
2538
|
+
### 17.4 Integration with Gen* Skills
|
|
2539
|
+
|
|
2540
|
+
| Gen* Skill | Produces | Pipeline Consumes |
|
|
2541
|
+
|------------|----------|-------------------|
|
|
2542
|
+
| GenCorpComm | Multi-format content | Body + metadata → brief.md |
|
|
2543
|
+
| GenMarketing | Content calendar | Topics + dates → brief.md |
|
|
2544
|
+
| GenBrand | Brand voice | Tone + style → config.md |
|
|
2545
|
+
| GenSignal | Market signals | Topics → editorial planning (Phase 2) |
|
|
2546
|
+
|
|
2547
|
+
### 17.5 Content Intelligence (Phase 2)
|
|
2548
|
+
|
|
2549
|
+
**Skill**: `wp-analytics` (extended with Step 7: Signal Feed Generation)
|
|
2550
|
+
|
|
2551
|
+
The intelligence layer creates a feedback loop: analytics data → structured signals → actionable insights.
|
|
2552
|
+
|
|
2553
|
+
**Generating a signals feed**:
|
|
2554
|
+
1. Run `wp-analytics` signal feed generation for a site
|
|
2555
|
+
2. Step 7 collects data from GA4, GSC, Plausible, CWV tools
|
|
2556
|
+
3. Calculates delta % vs previous period
|
|
2557
|
+
4. Maps metrics to GenSignal NormalizedEvent format
|
|
2558
|
+
5. Identifies anomalies (±30% threshold by default)
|
|
2559
|
+
6. Matches 3 GenSignal patterns automatically
|
|
2560
|
+
7. Writes `.content-state/signals-feed.md`
|
|
2561
|
+
|
|
2562
|
+
**Detectable patterns**:
|
|
2563
|
+
|
|
2564
|
+
| Pattern | Detection Source | Trigger |
|
|
2565
|
+
|---------|-----------------|---------|
|
|
2566
|
+
| Search Intent Shift | GSC queries | CTR ≥ +20% with stable position |
|
|
2567
|
+
| Early-Adopter Surge | GA4 traffic sources | Single source ≥ +50% vs site < +20% |
|
|
2568
|
+
| Hype→Utility Crossover | GA4 page metrics | Engagement ≥ +15% with bounce ≤ -10% |
|
|
2569
|
+
|
|
2570
|
+
**Acting on signals**:
|
|
2571
|
+
- "Approfondisci con GenSignal" → Full SignalCard with scoring and next_actions
|
|
2572
|
+
- "Crea brief dai segnali" → Auto-generate content briefs in pipeline-active/
|
|
2573
|
+
- Signals feed topic suggestions → Editorial calendar (Phase 3)
|
|
2574
|
+
|
|
2575
|
+
**Signal feed file**: `.content-state/signals-feed.md` (overwritten each generation)
|
|
2576
|
+
|
|
2577
|
+
### 17.6 Editorial Calendar (Phase 3)
|
|
2578
|
+
|
|
2579
|
+
**Skill**: `wp-editorial-planner`
|
|
2580
|
+
|
|
2581
|
+
The editorial planner manages monthly content calendars as `.state.md` files, bridging strategic planning to tactical execution.
|
|
2582
|
+
|
|
2583
|
+
**Workflow**: `PLAN → BRIEF → SCHEDULE → SYNC`
|
|
2584
|
+
|
|
2585
|
+
| Step | Action | Input | Output |
|
|
2586
|
+
|------|--------|-------|--------|
|
|
2587
|
+
| PLAN | Create monthly calendar | site config + signals feed | `{YYYY-MM}-editorial.state.md` |
|
|
2588
|
+
| BRIEF | Convert entries to briefs | calendar entries | `pipeline-active/BRF-*.brief.md` |
|
|
2589
|
+
| SCHEDULE | Create WP future posts | ready briefs | WordPress posts with `status: future` |
|
|
2590
|
+
| SYNC | Update calendar from WP | WordPress post status | Updated calendar entries |
|
|
2591
|
+
|
|
2592
|
+
**Calendar structure**:
|
|
2593
|
+
- One `.content-state/{YYYY-MM}-editorial.state.md` per month
|
|
2594
|
+
- YAML frontmatter: monthly goals, posts target, focus topics, SEO targets
|
|
2595
|
+
- Markdown tables: one per week with columns Data, Titolo, Tipo, Status, Brief ID, Post ID, Canali
|
|
2596
|
+
|
|
2597
|
+
**Entry lifecycle**: `planned → draft → ready → scheduled → published`
|
|
2598
|
+
|
|
2599
|
+
**Cross-phase integration**:
|
|
2600
|
+
- Phase 2 signals → topic suggestions for `[da assegnare]` entries
|
|
2601
|
+
- Calendar entries → Phase 1 briefs → WordPress publishing pipeline
|
|
2602
|
+
|
|
2603
|
+
---
|
|
2604
|
+
|
|
2366
2605
|
*Guida v2.12.2 — WordPress Manager Plugin per Claude Code*
|
|
2367
2606
|
*Ultimo aggiornamento: 2026-03-01*
|
|
2368
2607
|
*WCOP Score: 8.8/10 (Tier 4+5 complete)*
|