claude-plugin-wordpress-manager 2.9.0 → 2.12.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 (37) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/agents/wp-content-strategist.md +58 -1
  3. package/agents/wp-distribution-manager.md +39 -6
  4. package/docs/GUIDE.md +145 -14
  5. package/docs/plans/2026-03-01-tier6-7-design.md +246 -0
  6. package/docs/plans/2026-03-01-tier6-7-implementation.md +1629 -0
  7. package/hooks/hooks.json +18 -0
  8. package/package.json +6 -3
  9. package/servers/wp-rest-bridge/build/tools/index.js +9 -0
  10. package/servers/wp-rest-bridge/build/tools/linkedin.js +203 -0
  11. package/servers/wp-rest-bridge/build/tools/schema.js +159 -0
  12. package/servers/wp-rest-bridge/build/tools/twitter.js +183 -0
  13. package/servers/wp-rest-bridge/build/wordpress.js +94 -0
  14. package/skills/wordpress-router/references/decision-tree.md +10 -2
  15. package/skills/wp-content-generation/SKILL.md +128 -0
  16. package/skills/wp-content-generation/references/brief-templates.md +151 -0
  17. package/skills/wp-content-generation/references/generation-workflow.md +132 -0
  18. package/skills/wp-content-generation/references/outline-patterns.md +188 -0
  19. package/skills/wp-content-generation/scripts/content_gen_inspect.mjs +90 -0
  20. package/skills/wp-content-repurposing/SKILL.md +13 -0
  21. package/skills/wp-content-repurposing/references/auto-transform-pipeline.md +128 -0
  22. package/skills/wp-content-repurposing/references/transform-templates.md +304 -0
  23. package/skills/wp-linkedin/SKILL.md +96 -0
  24. package/skills/wp-linkedin/references/linkedin-analytics.md +58 -0
  25. package/skills/wp-linkedin/references/linkedin-posting.md +53 -0
  26. package/skills/wp-linkedin/references/linkedin-setup.md +59 -0
  27. package/skills/wp-linkedin/scripts/linkedin_inspect.mjs +55 -0
  28. package/skills/wp-structured-data/SKILL.md +94 -0
  29. package/skills/wp-structured-data/references/injection-patterns.md +160 -0
  30. package/skills/wp-structured-data/references/schema-types.md +127 -0
  31. package/skills/wp-structured-data/references/validation-guide.md +89 -0
  32. package/skills/wp-structured-data/scripts/schema_inspect.mjs +88 -0
  33. package/skills/wp-twitter/SKILL.md +101 -0
  34. package/skills/wp-twitter/references/twitter-analytics.md +60 -0
  35. package/skills/wp-twitter/references/twitter-posting.md +66 -0
  36. package/skills/wp-twitter/references/twitter-setup.md +62 -0
  37. package/skills/wp-twitter/scripts/twitter_inspect.mjs +58 -0
@@ -0,0 +1,246 @@
1
+ # Tier 6+7 Design — Distribution Completeness + Content Factory
2
+
3
+ > **Approved:** 2026-03-01
4
+ > **Target:** v2.10.0 → v2.12.0
5
+ > **WCOP Score:** 8.8/10 → 9.2/10
6
+
7
+ ## Goal
8
+
9
+ Complete the Distribution layer (8→9/10) with direct social APIs (LinkedIn + Twitter/X) and an auto-transform pipeline, then complete the Content Factory layer (9→10/10) with AI-driven content generation and structured data management.
10
+
11
+ ## Architecture
12
+
13
+ Approach A — Connector-per-Platform. Each social API is a separate TypeScript tool file in `servers/wp-rest-bridge/build/tools/` with its own skill. Structured data uses 3 dedicated MCP tools. Content generation is procedure-based (Claude-native) with no new MCP tools.
14
+
15
+ ## Release Plan
16
+
17
+ | Release | Focus | New Skills | New MCP Tools | Enhanced Skills |
18
+ |---------|-------|------------|---------------|-----------------|
19
+ | **v2.10.0** | Direct Social APIs | `wp-linkedin`, `wp-twitter` | 10 (5+5) | Router v17 |
20
+ | **v2.11.0** | Auto-Transform Pipeline | — | 0 | `wp-content-repurposing` |
21
+ | **v2.12.0** | Content Gen + Schema | `wp-content-generation`, `wp-structured-data` | 3 | Router v18 |
22
+
23
+ **Totals (v2.9.1 → v2.12.0):**
24
+ - Skills: 39 → 43 (+4 new, +1 enhanced)
25
+ - MCP Tools: 132 → 145 (+13)
26
+ - Router: v16 → v18
27
+ - Hooks: 10 → 12 (+2)
28
+
29
+ ---
30
+
31
+ ## v2.10.0 — Direct Social APIs
32
+
33
+ ### LinkedIn MCP Tools (5) — `linkedin.ts`
34
+
35
+ Namespace: `li_*`. Auth: OAuth 2.0 access token (`WP_SITES_CONFIG.linkedin_access_token`).
36
+
37
+ | Tool | Description | Key Params |
38
+ |------|-------------|------------|
39
+ | `li_get_profile` | Authenticated user profile (name, headline, vanity URL) | — |
40
+ | `li_create_post` | Create LinkedIn feed post (text, link, images) | `text`, `link_url?`, `image_url?`, `visibility` |
41
+ | `li_create_article` | Publish long-form LinkedIn article | `title`, `body_html`, `thumbnail_url?` |
42
+ | `li_get_analytics` | Post analytics (impressions, clicks, engagement rate) | `post_id?`, `period?` |
43
+ | `li_list_posts` | List recent user posts with base metrics | `count?`, `start?` |
44
+
45
+ ### Twitter/X MCP Tools (5) — `twitter.ts`
46
+
47
+ Namespace: `tw_*`. Auth: Bearer token + API key/secret (`WP_SITES_CONFIG.twitter_bearer_token`, `twitter_api_key`, `twitter_api_secret`).
48
+
49
+ | Tool | Description | Key Params |
50
+ |------|-------------|------------|
51
+ | `tw_create_tweet` | Publish a tweet (text, media, thread reply) | `text`, `media_ids?`, `reply_to?` |
52
+ | `tw_create_thread` | Publish a connected tweet thread | `tweets[]` |
53
+ | `tw_get_metrics` | Tweet metrics (impressions, likes, retweets, replies) | `tweet_id` |
54
+ | `tw_list_tweets` | List recent user tweets | `count?`, `since?` |
55
+ | `tw_delete_tweet` | Delete a tweet | `tweet_id` |
56
+
57
+ ### Skill: `wp-linkedin`
58
+
59
+ - **Triggers:** "LinkedIn", "pubblica su LinkedIn", "LinkedIn article", "LinkedIn post", "LinkedIn analytics", "B2B social"
60
+ - **Sections:** LinkedIn setup (OAuth) → Posting (post vs article) → Analytics
61
+ - **References:** `linkedin-setup.md`, `linkedin-posting.md`, `linkedin-analytics.md`
62
+ - **Detection:** `linkedin_inspect.mjs`
63
+ - **Agent:** `wp-distribution-manager`
64
+
65
+ ### Skill: `wp-twitter`
66
+
67
+ - **Triggers:** "Twitter", "X", "tweet", "thread", "pubblica tweet", "Twitter analytics"
68
+ - **Sections:** Twitter setup (API v2) → Single tweet → Thread → Analytics → Delete
69
+ - **References:** `twitter-setup.md`, `twitter-posting.md`, `twitter-analytics.md`
70
+ - **Detection:** `twitter_inspect.mjs`
71
+ - **Agent:** `wp-distribution-manager`
72
+
73
+ ### Router v17
74
+
75
+ Add 2 categories to `decision-tree.md` Step 2b:
76
+
77
+ ```
78
+ - LinkedIn / LinkedIn post / LinkedIn article / B2B social / pubblica LinkedIn
79
+ → `wp-linkedin` skill + `wp-distribution-manager` agent
80
+ - Twitter / X / tweet / thread / pubblica tweet / Twitter analytics
81
+ → `wp-twitter` skill + `wp-distribution-manager` agent
82
+ ```
83
+
84
+ Keywords in Step 0 operations block: `LinkedIn, LinkedIn post, LinkedIn article, B2B social, pubblica LinkedIn, Twitter, X, tweet, thread, pubblica tweet, Twitter analytics`
85
+
86
+ ### Hooks (+2)
87
+
88
+ | Hook | Type | Tool | Message |
89
+ |------|------|------|---------|
90
+ | `tw_delete_tweet` | PreToolUse prompt | `tw_delete_tweet` | Confirm tweet deletion |
91
+ | `li_create_article` | PreToolUse prompt | `li_create_article` | Confirm LinkedIn article publication |
92
+
93
+ ### Agent Update: `wp-distribution-manager`
94
+
95
+ Add to agent description: "Manages direct social publishing to LinkedIn and Twitter/X alongside existing Mailchimp, Buffer, and SendGrid channels."
96
+
97
+ Add to monitoring areas or related skills: `wp-linkedin`, `wp-twitter`.
98
+
99
+ ---
100
+
101
+ ## v2.11.0 — Auto-Transform Pipeline
102
+
103
+ ### Enhancement: `wp-content-repurposing`
104
+
105
+ Add new section "Auto-Transform Pipeline" to existing SKILL.md.
106
+
107
+ **New references:**
108
+ - `auto-transform-pipeline.md` — Template system for automatic blog→social format conversion
109
+ - `transform-templates.md` — Ready-to-use templates: blog→tweet, blog→LinkedIn post, blog→LinkedIn article, blog→thread, blog→email snippet
110
+
111
+ **Pipeline flow:**
112
+ 1. Fetch post via REST API (`wp/v2/posts/{id}`)
113
+ 2. Extract: title, excerpt, featured image, categories, tags, key quotes
114
+ 3. Apply platform template (configurable per channel)
115
+ 4. Output formatted content ready for `li_create_post` / `tw_create_tweet` / `tw_create_thread` / `buf_create_update` / `mc_set_campaign_content`
116
+
117
+ **Templates include:**
118
+ - Character limit enforcement per platform
119
+ - Hashtag generation from post tags
120
+ - CTA insertion patterns
121
+ - Image sizing recommendations
122
+ - Thread splitting logic (for long-form → Twitter thread)
123
+
124
+ No new MCP tools — this is purely skill/reference enhancement.
125
+
126
+ ### Router
127
+
128
+ No router change (v17 stays). The repurposing skill already has routing keywords.
129
+
130
+ ---
131
+
132
+ ## v2.12.0 — Content Generation + Structured Data
133
+
134
+ ### Skill: `wp-content-generation` (procedure-based)
135
+
136
+ - **Triggers:** "genera contenuto", "scrivi post", "content brief", "crea articolo", "draft post", "AI content", "genera bozza"
137
+ - **Procedure (Claude-native, no new MCP tools):**
138
+ 1. **Brief intake:** topic, target audience, keywords, tone, length
139
+ 2. **Keyword research:** use `gsc_*` tools for search volume and existing rankings
140
+ 3. **Outline generation:** Claude generates H2/H3 structure with key points
141
+ 4. **Draft writing:** Claude writes full post body following outline
142
+ 5. **SEO optimization:** apply `wp-content-optimization` skill (readability, keyword density, headline scoring)
143
+ 6. **Structured data:** apply `wp-structured-data` skill for JSON-LD injection
144
+ 7. **Publish:** use `wp/v2/posts` to create draft or publish
145
+ - **References:** `generation-workflow.md`, `brief-templates.md`, `outline-patterns.md`
146
+ - **Detection:** `content_gen_inspect.mjs` (verifies wp/v2 access + optional GSC config)
147
+ - **Agent:** `wp-content-strategist`
148
+
149
+ ### Structured Data MCP Tools (3) — `schema.ts`
150
+
151
+ Namespace: `sd_*`. No external auth — operates on WordPress posts via REST API.
152
+
153
+ | Tool | Description | Key Params |
154
+ |------|-------------|------------|
155
+ | `sd_validate` | Validate JSON-LD/Schema.org markup against Google specs | `url` or `markup` |
156
+ | `sd_inject` | Inject/update JSON-LD structured data in a WordPress post/page | `post_id`, `schema_type`, `schema_data` |
157
+ | `sd_list_schemas` | List Schema.org types present across the site with counts | `schema_type?` |
158
+
159
+ ### Skill: `wp-structured-data`
160
+
161
+ - **Triggers:** "structured data", "Schema.org", "JSON-LD", "rich snippet", "schema markup", "dati strutturati"
162
+ - **Sections:** Validate existing → Inject new → Audit site-wide
163
+ - **Schema types covered:** Article, Product, LocalBusiness, Event, FAQ, HowTo, Organization, BreadcrumbList
164
+ - **References:** `schema-types.md`, `validation-guide.md`, `injection-patterns.md`
165
+ - **Detection:** `schema_inspect.mjs` (checks for existing schema plugins like Yoast, Rank Math)
166
+ - **Agent:** `wp-content-strategist`
167
+
168
+ ### Router v18
169
+
170
+ Add 2 categories to `decision-tree.md` Step 2b:
171
+
172
+ ```
173
+ - genera contenuto / scrivi post / AI content / content brief / crea articolo / draft post / genera bozza
174
+ → `wp-content-generation` skill + `wp-content-strategist` agent
175
+ - structured data / Schema.org / JSON-LD / rich snippet / schema markup / dati strutturati
176
+ → `wp-structured-data` skill + `wp-content-strategist` agent
177
+ ```
178
+
179
+ Keywords in Step 0 operations block: `genera contenuto, scrivi post, AI content, content brief, crea articolo, draft post, genera bozza, structured data, Schema.org, JSON-LD, rich snippet, schema markup, dati strutturati`
180
+
181
+ ### Agent Update: `wp-content-strategist`
182
+
183
+ Add to agent description: "Guides AI-driven content generation workflows and manages structured data markup for SEO-rich content."
184
+
185
+ Add related skills: `wp-content-generation`, `wp-structured-data`.
186
+
187
+ ---
188
+
189
+ ## WCOP Score Impact
190
+
191
+ | Layer | v2.9.1 | v2.12.0 | Delta |
192
+ |-------|--------|---------|-------|
193
+ | Content Factory | 9/10 | **10/10** | +1 (AI generation + structured data) |
194
+ | Quality Assurance | 9/10 | 9/10 | — |
195
+ | Distribution | 8/10 | **9/10** | +1 (direct social + auto-transform) |
196
+ | Observability | 9/10 | 9/10 | — |
197
+ | Automation | 9/10 | 9/10 | — |
198
+ | **TOTAL** | **8.8** | **9.2** | **+0.4** |
199
+
200
+ ---
201
+
202
+ ## SiteConfig Extensions
203
+
204
+ ### v2.10.0
205
+ ```json
206
+ {
207
+ "linkedin_access_token": "...",
208
+ "twitter_bearer_token": "...",
209
+ "twitter_api_key": "...",
210
+ "twitter_api_secret": "..."
211
+ }
212
+ ```
213
+
214
+ ### v2.12.0
215
+ No new SiteConfig keys — `sd_*` tools operate via existing WordPress REST API credentials.
216
+
217
+ ---
218
+
219
+ ## Files Created/Modified Summary
220
+
221
+ ### v2.10.0
222
+ - **Create:** `servers/wp-rest-bridge/build/tools/linkedin.{ts,js,d.ts}`
223
+ - **Create:** `servers/wp-rest-bridge/build/tools/twitter.{ts,js,d.ts}`
224
+ - **Create:** `skills/wp-linkedin/` (SKILL.md + references/ + scripts/)
225
+ - **Create:** `skills/wp-twitter/` (SKILL.md + references/ + scripts/)
226
+ - **Modify:** `skills/wordpress-router/references/decision-tree.md` → v17
227
+ - **Modify:** `hooks/hooks.json` → +2 hooks
228
+ - **Modify:** `agents/wp-distribution-manager.md` → updated duties
229
+ - **Modify:** `package.json` → v2.10.0
230
+ - **Modify:** `CHANGELOG.md` → v2.10.0 entry
231
+
232
+ ### v2.11.0
233
+ - **Modify:** `skills/wp-content-repurposing/SKILL.md` → +1 section
234
+ - **Create:** `skills/wp-content-repurposing/references/auto-transform-pipeline.md`
235
+ - **Create:** `skills/wp-content-repurposing/references/transform-templates.md`
236
+ - **Modify:** `package.json` → v2.11.0
237
+ - **Modify:** `CHANGELOG.md` → v2.11.0 entry
238
+
239
+ ### v2.12.0
240
+ - **Create:** `servers/wp-rest-bridge/build/tools/schema.{ts,js,d.ts}`
241
+ - **Create:** `skills/wp-content-generation/` (SKILL.md + references/ + scripts/)
242
+ - **Create:** `skills/wp-structured-data/` (SKILL.md + references/ + scripts/)
243
+ - **Modify:** `skills/wordpress-router/references/decision-tree.md` → v18
244
+ - **Modify:** `agents/wp-content-strategist.md` → updated duties
245
+ - **Modify:** `package.json` → v2.12.0
246
+ - **Modify:** `CHANGELOG.md` → v2.12.0 entry