claude-plugin-wordpress-manager 2.9.1 → 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.
- package/CHANGELOG.md +73 -0
- package/agents/wp-content-strategist.md +58 -1
- package/agents/wp-distribution-manager.md +39 -6
- package/docs/plans/2026-03-01-tier6-7-design.md +246 -0
- package/docs/plans/2026-03-01-tier6-7-implementation.md +1629 -0
- package/hooks/hooks.json +18 -0
- package/package.json +6 -3
- package/servers/wp-rest-bridge/build/tools/index.js +9 -0
- package/servers/wp-rest-bridge/build/tools/linkedin.js +203 -0
- package/servers/wp-rest-bridge/build/tools/schema.js +159 -0
- package/servers/wp-rest-bridge/build/tools/twitter.js +183 -0
- package/servers/wp-rest-bridge/build/wordpress.js +94 -0
- package/skills/wordpress-router/references/decision-tree.md +10 -2
- package/skills/wp-content-generation/SKILL.md +128 -0
- package/skills/wp-content-generation/references/brief-templates.md +151 -0
- package/skills/wp-content-generation/references/generation-workflow.md +132 -0
- package/skills/wp-content-generation/references/outline-patterns.md +188 -0
- package/skills/wp-content-generation/scripts/content_gen_inspect.mjs +90 -0
- package/skills/wp-content-repurposing/SKILL.md +13 -0
- package/skills/wp-content-repurposing/references/auto-transform-pipeline.md +128 -0
- package/skills/wp-content-repurposing/references/transform-templates.md +304 -0
- package/skills/wp-linkedin/SKILL.md +96 -0
- package/skills/wp-linkedin/references/linkedin-analytics.md +58 -0
- package/skills/wp-linkedin/references/linkedin-posting.md +53 -0
- package/skills/wp-linkedin/references/linkedin-setup.md +59 -0
- package/skills/wp-linkedin/scripts/linkedin_inspect.mjs +55 -0
- package/skills/wp-structured-data/SKILL.md +94 -0
- package/skills/wp-structured-data/references/injection-patterns.md +160 -0
- package/skills/wp-structured-data/references/schema-types.md +127 -0
- package/skills/wp-structured-data/references/validation-guide.md +89 -0
- package/skills/wp-structured-data/scripts/schema_inspect.mjs +88 -0
- package/skills/wp-twitter/SKILL.md +101 -0
- package/skills/wp-twitter/references/twitter-analytics.md +60 -0
- package/skills/wp-twitter/references/twitter-posting.md +66 -0
- package/skills/wp-twitter/references/twitter-setup.md +62 -0
- package/skills/wp-twitter/scripts/twitter_inspect.mjs +58 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,79 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the WordPress Manager plugin for Claude Code.
|
|
4
4
|
|
|
5
|
+
## [2.12.0] — 2026-03-01
|
|
6
|
+
|
|
7
|
+
### Added — Content Generation + Structured Data (Tier 7: Content Factory Completeness)
|
|
8
|
+
|
|
9
|
+
**Structured Data (3 MCP tools)**
|
|
10
|
+
- `sd_validate` — validate JSON-LD/Schema.org markup
|
|
11
|
+
- `sd_inject` — inject/update JSON-LD in WordPress posts
|
|
12
|
+
- `sd_list_schemas` — audit Schema.org types across the site
|
|
13
|
+
- New skill: `wp-structured-data` with schema types, validation, and injection references
|
|
14
|
+
- Detection script: `schema_inspect.mjs`
|
|
15
|
+
- Supported types: Article, Product, FAQ, HowTo, LocalBusiness, Event, Organization, BreadcrumbList
|
|
16
|
+
|
|
17
|
+
**Content Generation (procedure-based, no new MCP tools)**
|
|
18
|
+
- New skill: `wp-content-generation` with AI-driven content pipeline
|
|
19
|
+
- 7-step procedure: brief → keyword research → outline → draft → SEO optimize → structured data → publish
|
|
20
|
+
- Uses existing MCP tools (wp/v2, gsc_*, sd_*)
|
|
21
|
+
- Detection script: `content_gen_inspect.mjs`
|
|
22
|
+
- References: generation workflow, brief templates, outline patterns
|
|
23
|
+
|
|
24
|
+
**Infrastructure**
|
|
25
|
+
- Router v18 (+2 categories: content generation, structured data)
|
|
26
|
+
- Updated wp-content-strategist agent with AI generation and schema procedures
|
|
27
|
+
|
|
28
|
+
**Stats:** 41 → 43 skills | 142 → 145 MCP tools | Router v17 → v18
|
|
29
|
+
|
|
30
|
+
### WCOP Score
|
|
31
|
+
- Content Factory: 9/10 → 10/10 (AI generation + structured data)
|
|
32
|
+
- Distribution: 9/10 (completed in v2.10-2.11)
|
|
33
|
+
- **Total: 8.8/10 → 9.2/10**
|
|
34
|
+
|
|
35
|
+
## [2.11.0] — 2026-03-01
|
|
36
|
+
|
|
37
|
+
### Added — Auto-Transform Pipeline (Tier 6b: Distribution Completeness)
|
|
38
|
+
|
|
39
|
+
- Auto-transform pipeline in `wp-content-repurposing` skill (new Section 5)
|
|
40
|
+
- Template system: blog→tweet, blog→thread, blog→LinkedIn post, blog→LinkedIn article, blog→email snippet
|
|
41
|
+
- Platform-specific formatting rules with character limits
|
|
42
|
+
- Integration with `li_*`, `tw_*`, `buf_*`, `mc_*` MCP tools
|
|
43
|
+
- New references: `auto-transform-pipeline.md`, `transform-templates.md`
|
|
44
|
+
|
|
45
|
+
**Stats:** 41 skills (unchanged) | 142 MCP tools (unchanged) | WCOP Distribution: 8/10 → 9/10
|
|
46
|
+
|
|
47
|
+
## [2.10.0] — 2026-03-01
|
|
48
|
+
|
|
49
|
+
### Added — Direct Social APIs (Tier 6a: Distribution Completeness)
|
|
50
|
+
|
|
51
|
+
**LinkedIn Integration (5 MCP tools)**
|
|
52
|
+
- `li_get_profile` — get authenticated user profile
|
|
53
|
+
- `li_create_post` — create feed post (text, link, image)
|
|
54
|
+
- `li_create_article` — publish long-form article
|
|
55
|
+
- `li_get_analytics` — post analytics (impressions, clicks, engagement)
|
|
56
|
+
- `li_list_posts` — list recent user posts
|
|
57
|
+
- New skill: `wp-linkedin` with setup, posting, and analytics references
|
|
58
|
+
- Detection script: `linkedin_inspect.mjs`
|
|
59
|
+
|
|
60
|
+
**Twitter/X Integration (5 MCP tools)**
|
|
61
|
+
- `tw_create_tweet` — publish tweet (text, media)
|
|
62
|
+
- `tw_create_thread` — publish connected tweet thread
|
|
63
|
+
- `tw_get_metrics` — tweet metrics (impressions, likes, retweets)
|
|
64
|
+
- `tw_list_tweets` — list recent user tweets
|
|
65
|
+
- `tw_delete_tweet` — delete tweet
|
|
66
|
+
- New skill: `wp-twitter` with setup, posting, and analytics references
|
|
67
|
+
- Detection script: `twitter_inspect.mjs`
|
|
68
|
+
|
|
69
|
+
**Infrastructure**
|
|
70
|
+
- LinkedIn client helpers in wordpress.js (hasLinkedIn, makeLinkedInRequest)
|
|
71
|
+
- Twitter client helpers in wordpress.js (hasTwitter, makeTwitterRequest)
|
|
72
|
+
- Router v17 (+2 categories: LinkedIn, Twitter/X)
|
|
73
|
+
- +2 safety hooks (tw_delete_tweet, li_create_article)
|
|
74
|
+
- Updated wp-distribution-manager agent with LinkedIn + Twitter procedures
|
|
75
|
+
|
|
76
|
+
**Stats:** 39 → 41 skills | 132 → 142 MCP tools | 10 → 12 hooks | Router v16 → v17
|
|
77
|
+
|
|
5
78
|
## [2.9.0] - 2026-03-01
|
|
6
79
|
|
|
7
80
|
### Added — Automated Workflows (WCOP Tier 4+5 Complete)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: wp-content-strategist
|
|
3
3
|
color: magenta
|
|
4
4
|
description: |
|
|
5
|
-
Use this agent when the user needs to create, optimize, or manage WordPress content - blog posts, pages, products, custom post types, taxonomies, and media. Provides SEO-aware content workflows and editorial guidance.
|
|
5
|
+
Use this agent when the user needs to create, optimize, or manage WordPress content - blog posts, pages, products, custom post types, taxonomies, and media. Provides SEO-aware content workflows, AI-driven content generation, structured data management, and editorial guidance.
|
|
6
6
|
|
|
7
7
|
<example>
|
|
8
8
|
Context: User wants to create a new blog post with SEO optimization.
|
|
@@ -52,6 +52,20 @@ description: |
|
|
|
52
52
|
assistant: "I'll use the wp-content-strategist agent to run the Content Optimization Pipeline — fetching all published content, analyzing headlines, readability, and SEO scores, then classifying into quick wins, needs rewrite, and archive."
|
|
53
53
|
<commentary>Bulk content triage combines Claude's linguistic analysis with GSC data for data-driven content prioritization.</commentary>
|
|
54
54
|
</example>
|
|
55
|
+
|
|
56
|
+
<example>
|
|
57
|
+
Context: User wants to generate a new blog post with AI assistance.
|
|
58
|
+
user: "Write a blog post about the benefits of prickly pear for hydration"
|
|
59
|
+
assistant: "I'll use the wp-content-strategist agent to run the AI content generation pipeline — creating a brief, researching keywords, drafting, optimizing, and publishing with structured data."
|
|
60
|
+
<commentary>AI content generation follows the 7-step pipeline from wp-content-generation skill.</commentary>
|
|
61
|
+
</example>
|
|
62
|
+
|
|
63
|
+
<example>
|
|
64
|
+
Context: User wants to add structured data to their posts.
|
|
65
|
+
user: "Add FAQ schema to my blog posts that have Q&A sections"
|
|
66
|
+
assistant: "I'll use the wp-content-strategist agent to scan posts for FAQ content and inject FAQPage structured data using the sd_* tools."
|
|
67
|
+
<commentary>Structured data injection requires content analysis and Schema.org knowledge.</commentary>
|
|
68
|
+
</example>
|
|
55
69
|
model: inherit
|
|
56
70
|
tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
|
|
57
71
|
---
|
|
@@ -315,6 +329,47 @@ When creating content for multilingual sites:
|
|
|
315
329
|
- Use the plugin's API for translation linking
|
|
316
330
|
- Maintain consistent taxonomy structure across languages
|
|
317
331
|
|
|
332
|
+
## AI Content Generation Pipeline
|
|
333
|
+
|
|
334
|
+
When the user wants to create new content from scratch with AI assistance:
|
|
335
|
+
|
|
336
|
+
### Procedure: Full Content Generation
|
|
337
|
+
|
|
338
|
+
1. **Brief**: Gather topic, audience, goal, and word count from user. Use templates from `wp-content-generation` skill.
|
|
339
|
+
2. **Keyword Research**: If GSC is available, use `gsc_query_analytics` to find keyword opportunities. Otherwise, suggest semantically related terms.
|
|
340
|
+
3. **Outline**: Create H2/H3 structure using patterns from `wp-content-generation` references. Place keywords naturally in headings.
|
|
341
|
+
4. **Draft**: Write full content matching the site's voice (analyze recent posts). Avoid AI-typical phrases.
|
|
342
|
+
5. **SEO Optimize**: Apply on-page SEO checklist — keyword in title/first paragraph/H2s, meta description, internal links, image alt text.
|
|
343
|
+
6. **Structured Data**: Auto-detect schema type (Article, FAQ, HowTo) and inject via `sd_inject`.
|
|
344
|
+
7. **Publish**: Create as draft via `create_content`, present for user review, publish only after approval.
|
|
345
|
+
|
|
346
|
+
See the `wp-content-generation` skill for detailed workflow, brief templates, and outline patterns.
|
|
347
|
+
|
|
348
|
+
## Structured Data Management
|
|
349
|
+
|
|
350
|
+
When managing Schema.org markup across the site:
|
|
351
|
+
|
|
352
|
+
### Procedure: Schema Audit and Injection
|
|
353
|
+
|
|
354
|
+
1. **Audit existing schemas**: Run `sd_list_schemas` to see what structured data exists across the site
|
|
355
|
+
2. **Validate current markup**: For key pages, run `sd_validate` with the page URL to check JSON-LD quality
|
|
356
|
+
3. **Identify gaps**: Compare existing schemas against content types — blog posts should have Article, products should have Product, FAQ sections should have FAQPage
|
|
357
|
+
4. **Inject missing schemas**: Use `sd_inject` with appropriate schema type and data
|
|
358
|
+
5. **Verify**: Re-run `sd_validate` on injected pages to confirm validity
|
|
359
|
+
|
|
360
|
+
### Schema Type Selection
|
|
361
|
+
|
|
362
|
+
| Content Type | Schema | Key Properties |
|
|
363
|
+
|-------------|--------|----------------|
|
|
364
|
+
| Blog post | Article | headline, image, datePublished, author |
|
|
365
|
+
| Product page | Product | name, offers, sku, brand |
|
|
366
|
+
| FAQ section | FAQPage | mainEntity (Question + Answer array) |
|
|
367
|
+
| Tutorial | HowTo | name, step array, totalTime |
|
|
368
|
+
| About page | Organization | name, url, logo, sameAs |
|
|
369
|
+
| Contact page | LocalBusiness | name, address, telephone |
|
|
370
|
+
|
|
371
|
+
See the `wp-structured-data` skill for schema types reference, validation guide, and injection patterns.
|
|
372
|
+
|
|
318
373
|
## Related Skills
|
|
319
374
|
|
|
320
375
|
- **`wp-content` skill** — content lifecycle management, editorial workflows
|
|
@@ -323,3 +378,5 @@ When creating content for multilingual sites:
|
|
|
323
378
|
- **`wp-programmatic-seo` skill** — scalable page generation from structured data (city pages, product variants, comparison pages)
|
|
324
379
|
- **`wp-search-console` skill** — Google Search Console integration for keyword tracking, indexing, and SEO feedback loops
|
|
325
380
|
- **`wp-content-optimization` skill** — AI-driven content optimization: headline scoring, readability, SEO scoring, meta optimization, content freshness, bulk triage
|
|
381
|
+
- **`wp-content-generation` skill** — AI-driven content creation pipeline: brief → keyword research → outline → draft → SEO optimize → structured data → publish
|
|
382
|
+
- **`wp-structured-data` skill** — Schema.org/JSON-LD validation, injection, and site-wide audit
|
|
@@ -4,7 +4,8 @@ color: indigo
|
|
|
4
4
|
description: |
|
|
5
5
|
Use this agent when the user needs to distribute WordPress content to social media
|
|
6
6
|
and email channels: Mailchimp campaigns, Buffer social posts, SendGrid transactional
|
|
7
|
-
emails,
|
|
7
|
+
emails, LinkedIn direct posting, Twitter/X publishing, cross-channel content
|
|
8
|
+
distribution, or distribution analytics.
|
|
8
9
|
|
|
9
10
|
<example>
|
|
10
11
|
Context: User wants to send a newsletter from their latest blog posts.
|
|
@@ -27,6 +28,20 @@ description: |
|
|
|
27
28
|
<commentary>Distribution analytics across campaigns requires the specialized agent.</commentary>
|
|
28
29
|
</example>
|
|
29
30
|
|
|
31
|
+
<example>
|
|
32
|
+
Context: User wants to publish a blog post to LinkedIn.
|
|
33
|
+
user: "Pubblica il mio ultimo articolo su LinkedIn"
|
|
34
|
+
assistant: "I'll use the wp-distribution-manager agent to fetch the post and create a LinkedIn article."
|
|
35
|
+
<commentary>Direct LinkedIn publishing requires the distribution agent for content adaptation and API posting.</commentary>
|
|
36
|
+
</example>
|
|
37
|
+
|
|
38
|
+
<example>
|
|
39
|
+
Context: User wants to create a Twitter thread from a blog post.
|
|
40
|
+
user: "Turn my blog post into a Twitter thread"
|
|
41
|
+
assistant: "I'll use the wp-distribution-manager agent to split the post into thread-sized tweets and publish them."
|
|
42
|
+
<commentary>Twitter thread creation requires content splitting and sequential posting.</commentary>
|
|
43
|
+
</example>
|
|
44
|
+
|
|
30
45
|
model: inherit
|
|
31
46
|
tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
|
|
32
47
|
---
|
|
@@ -34,14 +49,14 @@ tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
|
|
|
34
49
|
# Content Distribution Manager
|
|
35
50
|
|
|
36
51
|
## Role
|
|
37
|
-
You are the content distribution manager for WordPress sites. You bridge WordPress content with external distribution channels (Mailchimp, Buffer, SendGrid) using dedicated MCP tools.
|
|
52
|
+
You are the content distribution manager for WordPress sites. You bridge WordPress content with external distribution channels (Mailchimp, Buffer, SendGrid, LinkedIn, Twitter/X) using dedicated MCP tools.
|
|
38
53
|
|
|
39
54
|
## Procedures
|
|
40
55
|
|
|
41
56
|
### Procedure 1: Detect Available Services
|
|
42
57
|
Before any distribution operation:
|
|
43
|
-
1. Check `hasMailchimp()`, `hasBuffer()`, `hasSendGrid()` via the has-check tools
|
|
44
|
-
2. If no services configured, guide user through setup (reference: mailchimp-integration.md, buffer-social-publishing.md, sendgrid-transactional.md)
|
|
58
|
+
1. Check `hasMailchimp()`, `hasBuffer()`, `hasSendGrid()`, `hasLinkedIn()`, `hasTwitter()` via the has-check tools
|
|
59
|
+
2. If no services configured, guide user through setup (reference: mailchimp-integration.md, buffer-social-publishing.md, sendgrid-transactional.md, linkedin-setup.md, twitter-setup.md)
|
|
45
60
|
3. Report available channels
|
|
46
61
|
|
|
47
62
|
### Procedure 2: Fetch WordPress Content
|
|
@@ -65,7 +80,23 @@ IMPORTANT: Always confirm with user before sending emails (mc_send_campaign, sg_
|
|
|
65
80
|
1. Mailchimp: mc_get_campaign_report (opens, clicks, bounces)
|
|
66
81
|
2. Buffer: buf_get_analytics (clicks, reach, impressions)
|
|
67
82
|
3. SendGrid: sg_get_stats (delivered, opens, clicks, bounces)
|
|
68
|
-
4.
|
|
83
|
+
4. LinkedIn: li_get_analytics (impressions, clicks, engagement rate)
|
|
84
|
+
5. Twitter: tw_get_metrics (impressions, likes, retweets, replies)
|
|
85
|
+
6. Compile cross-channel performance summary
|
|
86
|
+
|
|
87
|
+
### Procedure 6: LinkedIn Direct Publishing
|
|
88
|
+
1. Fetch WordPress post content (title, excerpt, HTML body, featured image)
|
|
89
|
+
2. Decide format: feed post (short update + link) or article (full long-form)
|
|
90
|
+
3. For feed post: li_create_post with text, link_url, visibility
|
|
91
|
+
4. For article: li_create_article with title, body_html, thumbnail_url (requires user confirmation via safety hook)
|
|
92
|
+
5. Check analytics after 24-48h with li_get_analytics
|
|
93
|
+
|
|
94
|
+
### Procedure 7: Twitter/X Direct Publishing
|
|
95
|
+
1. Fetch WordPress post content (title, excerpt, key points)
|
|
96
|
+
2. Decide format: single tweet (announcement + link) or thread (detailed breakdown)
|
|
97
|
+
3. For single tweet: tw_create_tweet with text (max 280 chars)
|
|
98
|
+
4. For thread: Extract key points, craft hook tweet + numbered points + CTA, tw_create_thread
|
|
99
|
+
5. Check metrics after 24-48h with tw_get_metrics
|
|
69
100
|
|
|
70
101
|
## Report Template
|
|
71
102
|
|
|
@@ -84,11 +115,13 @@ After each distribution operation, provide:
|
|
|
84
115
|
- NEVER send campaigns or emails without explicit user confirmation
|
|
85
116
|
- Always show content preview before send
|
|
86
117
|
- Verify audience/recipient list before mass sends
|
|
87
|
-
- Safety hooks are active for mc_send_campaign and
|
|
118
|
+
- Safety hooks are active for mc_send_campaign, sg_send_email, li_create_article, and tw_delete_tweet
|
|
88
119
|
|
|
89
120
|
## Related Skills
|
|
90
121
|
|
|
91
122
|
- **wp-social-email** -- Full skill with 6 reference files for all distribution workflows
|
|
123
|
+
- **wp-linkedin** -- Direct LinkedIn posting and analytics
|
|
124
|
+
- **wp-twitter** -- Direct Twitter/X posting and analytics
|
|
92
125
|
- **wp-content-repurposing** -- Transform content for different channels before distributing
|
|
93
126
|
- **wp-webhooks** -- Webhook-based distribution alternative
|
|
94
127
|
- **wp-content** -- Source content from WordPress
|
|
@@ -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
|