claude-plugin-wordpress-manager 1.4.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 (142) hide show
  1. package/.claude-plugin/plugin.json +19 -0
  2. package/.mcp.json +19 -0
  3. package/CHANGELOG.md +62 -0
  4. package/LICENSE +69 -0
  5. package/README.md +213 -0
  6. package/agents/wp-content-strategist.md +148 -0
  7. package/agents/wp-deployment-engineer.md +93 -0
  8. package/agents/wp-performance-optimizer.md +198 -0
  9. package/agents/wp-security-auditor.md +161 -0
  10. package/agents/wp-site-manager.md +109 -0
  11. package/commands/wp-audit.md +37 -0
  12. package/commands/wp-backup.md +45 -0
  13. package/commands/wp-deploy.md +38 -0
  14. package/commands/wp-setup.md +64 -0
  15. package/commands/wp-status.md +53 -0
  16. package/docs/GUIDE.md +1190 -0
  17. package/hooks/hooks.json +57 -0
  18. package/hooks/scripts/backup-reminder.sh +29 -0
  19. package/hooks/scripts/pre-deploy-check.sh +49 -0
  20. package/package.json +46 -0
  21. package/scripts/health-check.sh +110 -0
  22. package/scripts/validate-wp-operation.sh +115 -0
  23. package/servers/wp-rest-bridge/build/server.d.ts +2 -0
  24. package/servers/wp-rest-bridge/build/server.js +74 -0
  25. package/servers/wp-rest-bridge/build/tools/comments.d.ts +227 -0
  26. package/servers/wp-rest-bridge/build/tools/comments.js +192 -0
  27. package/servers/wp-rest-bridge/build/tools/index.d.ts +919 -0
  28. package/servers/wp-rest-bridge/build/tools/index.js +30 -0
  29. package/servers/wp-rest-bridge/build/tools/media.d.ts +174 -0
  30. package/servers/wp-rest-bridge/build/tools/media.js +247 -0
  31. package/servers/wp-rest-bridge/build/tools/plugin-repository.d.ts +62 -0
  32. package/servers/wp-rest-bridge/build/tools/plugin-repository.js +149 -0
  33. package/servers/wp-rest-bridge/build/tools/plugins.d.ts +153 -0
  34. package/servers/wp-rest-bridge/build/tools/plugins.js +175 -0
  35. package/servers/wp-rest-bridge/build/tools/search.d.ts +44 -0
  36. package/servers/wp-rest-bridge/build/tools/search.js +44 -0
  37. package/servers/wp-rest-bridge/build/tools/unified-content.d.ts +328 -0
  38. package/servers/wp-rest-bridge/build/tools/unified-content.js +628 -0
  39. package/servers/wp-rest-bridge/build/tools/unified-taxonomies.d.ts +244 -0
  40. package/servers/wp-rest-bridge/build/tools/unified-taxonomies.js +492 -0
  41. package/servers/wp-rest-bridge/build/tools/users.d.ts +269 -0
  42. package/servers/wp-rest-bridge/build/tools/users.js +226 -0
  43. package/servers/wp-rest-bridge/build/types.d.ts +151 -0
  44. package/servers/wp-rest-bridge/build/types.js +2 -0
  45. package/servers/wp-rest-bridge/build/wordpress.d.ts +48 -0
  46. package/servers/wp-rest-bridge/build/wordpress.js +305 -0
  47. package/servers/wp-rest-bridge/package.json +27 -0
  48. package/skills/wordpress-router/SKILL.md +78 -0
  49. package/skills/wordpress-router/references/decision-tree.md +88 -0
  50. package/skills/wp-abilities-api/SKILL.md +97 -0
  51. package/skills/wp-abilities-api/references/php-registration.md +67 -0
  52. package/skills/wp-abilities-api/references/rest-api.md +13 -0
  53. package/skills/wp-audit/SKILL.md +114 -0
  54. package/skills/wp-audit/references/performance-checklist.md +113 -0
  55. package/skills/wp-audit/references/security-checklist.md +95 -0
  56. package/skills/wp-audit/references/seo-checklist.md +128 -0
  57. package/skills/wp-backup/SKILL.md +87 -0
  58. package/skills/wp-backup/references/backup-strategies.md +116 -0
  59. package/skills/wp-backup/references/restore-procedures.md +129 -0
  60. package/skills/wp-block-development/SKILL.md +176 -0
  61. package/skills/wp-block-development/references/attributes-and-serialization.md +22 -0
  62. package/skills/wp-block-development/references/block-json.md +49 -0
  63. package/skills/wp-block-development/references/creating-new-blocks.md +46 -0
  64. package/skills/wp-block-development/references/debugging.md +36 -0
  65. package/skills/wp-block-development/references/deprecations.md +24 -0
  66. package/skills/wp-block-development/references/dynamic-rendering.md +23 -0
  67. package/skills/wp-block-development/references/inner-blocks.md +25 -0
  68. package/skills/wp-block-development/references/registration.md +30 -0
  69. package/skills/wp-block-development/references/supports-and-wrappers.md +18 -0
  70. package/skills/wp-block-development/references/tooling-and-testing.md +21 -0
  71. package/skills/wp-block-development/scripts/list_blocks.mjs +121 -0
  72. package/skills/wp-block-themes/SKILL.md +118 -0
  73. package/skills/wp-block-themes/references/creating-new-block-theme.md +37 -0
  74. package/skills/wp-block-themes/references/debugging.md +24 -0
  75. package/skills/wp-block-themes/references/patterns.md +18 -0
  76. package/skills/wp-block-themes/references/style-variations.md +14 -0
  77. package/skills/wp-block-themes/references/templates-and-parts.md +16 -0
  78. package/skills/wp-block-themes/references/theme-json.md +59 -0
  79. package/skills/wp-block-themes/scripts/detect_block_themes.mjs +117 -0
  80. package/skills/wp-content/SKILL.md +103 -0
  81. package/skills/wp-content/references/content-templates.md +230 -0
  82. package/skills/wp-content/references/seo-optimization.md +169 -0
  83. package/skills/wp-deploy/SKILL.md +52 -0
  84. package/skills/wp-deploy/references/hostinger-deploy.md +51 -0
  85. package/skills/wp-deploy/references/ssh-deploy.md +63 -0
  86. package/skills/wp-interactivity-api/SKILL.md +181 -0
  87. package/skills/wp-interactivity-api/references/debugging.md +29 -0
  88. package/skills/wp-interactivity-api/references/directives-quickref.md +30 -0
  89. package/skills/wp-interactivity-api/references/server-side-rendering.md +310 -0
  90. package/skills/wp-migrate/SKILL.md +100 -0
  91. package/skills/wp-migrate/references/cross-platform.md +104 -0
  92. package/skills/wp-migrate/references/hostinger-migration.md +86 -0
  93. package/skills/wp-performance/SKILL.md +148 -0
  94. package/skills/wp-performance/references/autoload-options.md +24 -0
  95. package/skills/wp-performance/references/cron.md +20 -0
  96. package/skills/wp-performance/references/database.md +20 -0
  97. package/skills/wp-performance/references/http-api.md +15 -0
  98. package/skills/wp-performance/references/measurement.md +21 -0
  99. package/skills/wp-performance/references/object-cache.md +24 -0
  100. package/skills/wp-performance/references/query-monitor-headless.md +38 -0
  101. package/skills/wp-performance/references/server-timing.md +22 -0
  102. package/skills/wp-performance/references/wp-cli-doctor.md +24 -0
  103. package/skills/wp-performance/references/wp-cli-profile.md +32 -0
  104. package/skills/wp-performance/scripts/perf_inspect.mjs +128 -0
  105. package/skills/wp-phpstan/SKILL.md +99 -0
  106. package/skills/wp-phpstan/references/configuration.md +52 -0
  107. package/skills/wp-phpstan/references/third-party-classes.md +76 -0
  108. package/skills/wp-phpstan/references/wordpress-annotations.md +124 -0
  109. package/skills/wp-phpstan/scripts/phpstan_inspect.mjs +263 -0
  110. package/skills/wp-playground/SKILL.md +103 -0
  111. package/skills/wp-playground/references/blueprints.md +36 -0
  112. package/skills/wp-playground/references/cli-commands.md +39 -0
  113. package/skills/wp-playground/references/debugging.md +16 -0
  114. package/skills/wp-plugin-development/SKILL.md +114 -0
  115. package/skills/wp-plugin-development/references/data-and-cron.md +19 -0
  116. package/skills/wp-plugin-development/references/debugging.md +19 -0
  117. package/skills/wp-plugin-development/references/lifecycle.md +33 -0
  118. package/skills/wp-plugin-development/references/security.md +29 -0
  119. package/skills/wp-plugin-development/references/settings-api.md +22 -0
  120. package/skills/wp-plugin-development/references/structure.md +16 -0
  121. package/skills/wp-plugin-development/scripts/detect_plugins.mjs +122 -0
  122. package/skills/wp-project-triage/SKILL.md +40 -0
  123. package/skills/wp-project-triage/references/triage.schema.json +143 -0
  124. package/skills/wp-project-triage/scripts/detect_wp_project.mjs +592 -0
  125. package/skills/wp-rest-api/SKILL.md +116 -0
  126. package/skills/wp-rest-api/references/authentication.md +18 -0
  127. package/skills/wp-rest-api/references/custom-content-types.md +20 -0
  128. package/skills/wp-rest-api/references/discovery-and-params.md +20 -0
  129. package/skills/wp-rest-api/references/responses-and-fields.md +30 -0
  130. package/skills/wp-rest-api/references/routes-and-endpoints.md +36 -0
  131. package/skills/wp-rest-api/references/schema.md +22 -0
  132. package/skills/wp-wpcli-and-ops/SKILL.md +125 -0
  133. package/skills/wp-wpcli-and-ops/references/automation.md +30 -0
  134. package/skills/wp-wpcli-and-ops/references/cron-and-cache.md +23 -0
  135. package/skills/wp-wpcli-and-ops/references/debugging.md +17 -0
  136. package/skills/wp-wpcli-and-ops/references/multisite.md +22 -0
  137. package/skills/wp-wpcli-and-ops/references/packages-and-updates.md +22 -0
  138. package/skills/wp-wpcli-and-ops/references/safety.md +30 -0
  139. package/skills/wp-wpcli-and-ops/references/search-replace.md +40 -0
  140. package/skills/wp-wpcli-and-ops/scripts/wpcli_inspect.mjs +90 -0
  141. package/skills/wpds/SKILL.md +60 -0
  142. package/skills/wpds/references/wpds-mcp-setup.md +59 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "wordpress-manager",
3
+ "version": "1.4.0",
4
+ "description": "Unified WordPress management plugin for Claude Code. Orchestrates Hostinger MCP (infrastructure), WP REST API bridge (content), and WordPress.com MCP (hosted sites) with specialized agents, skills, and security hooks for multi-site WordPress operations.",
5
+ "author": {
6
+ "name": "vinmor",
7
+ "email": "morreale.v@gmail.com"
8
+ },
9
+ "license": "SEE LICENSE IN LICENSE",
10
+ "keywords": [
11
+ "wordpress",
12
+ "hostinger",
13
+ "mcp",
14
+ "deployment",
15
+ "cms",
16
+ "multi-site"
17
+ ],
18
+ "mcpServers": "./.mcp.json"
19
+ }
package/.mcp.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "mcpServers": {
3
+ "hostinger-mcp": {
4
+ "command": "npx",
5
+ "args": ["hostinger-api-mcp@latest"],
6
+ "env": {
7
+ "API_TOKEN": "${HOSTINGER_API_TOKEN}"
8
+ }
9
+ },
10
+ "wp-rest-bridge": {
11
+ "command": "node",
12
+ "args": ["${CLAUDE_PLUGIN_ROOT}/servers/wp-rest-bridge/build/server.js"],
13
+ "env": {
14
+ "WP_SITES_CONFIG": "${WP_SITES_CONFIG}",
15
+ "WP_DEFAULT_SITE": "${WP_DEFAULT_SITE}"
16
+ }
17
+ }
18
+ }
19
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,62 @@
1
+ # Changelog
2
+
3
+ All notable changes to the WordPress Manager plugin for Claude Code.
4
+
5
+ ## [1.4.0] - 2026-02-27
6
+
7
+ ### Added
8
+ - **13 development skills** integrated from [WordPress/agent-skills](https://github.com/WordPress/agent-skills) community repository (GPL-2.0-or-later):
9
+ - `wordpress-router` — Unified task router (development + operations)
10
+ - `wp-project-triage` — Auto-detect project type (plugin, theme, block theme, core)
11
+ - `wp-block-development` — Gutenberg block creation (block.json, attributes, save/edit)
12
+ - `wp-block-themes` — Block theme development (theme.json, templates, patterns)
13
+ - `wp-plugin-development` — Plugin architecture (hooks, activation, Settings API)
14
+ - `wp-rest-api` — REST endpoint development (register_rest_route, permissions)
15
+ - `wp-interactivity-api` — Interactivity API (data-wp-* directives, viewScriptModule)
16
+ - `wp-abilities-api` — Abilities API (wp_register_ability, capability management)
17
+ - `wp-wpcli-and-ops` — WP-CLI usage (commands, scaffolding, wp-cli.yml)
18
+ - `wp-phpstan` — Static analysis (PHPStan for WordPress)
19
+ - `wp-performance` — Backend profiling (WP-CLI profile/doctor, query optimization)
20
+ - `wp-playground` — WordPress Playground (disposable instances, blueprints, snapshots)
21
+ - `wpds` — WordPress Design System (@wordpress/components, tokens, patterns)
22
+ - 70 reference files (total across all skills) and 7 detection/inspection scripts
23
+ - Unified decision tree v2 routing both development and operational tasks
24
+ - Dual-license documentation (MIT + GPL-2.0-or-later)
25
+
26
+ ### Changed
27
+ - `wordpress-router` SKILL.md rewritten as unified router (dev + ops)
28
+ - `decision-tree.md` upgraded from v1 to v2 with operational routing
29
+ - README.md updated to reflect 18-skill architecture
30
+
31
+ ## [1.3.0] - 2026-02-26
32
+
33
+ ### Added
34
+ - E2E testing framework for all commands and agents
35
+ - Utility scripts: `health-check.sh`, `validate-wp-operation.sh`
36
+ - Command-based hooks: `pre-deploy-check.sh`, `backup-reminder.sh`
37
+ - WordPress.com MCP dual-mode support (self-hosted + WordPress.com)
38
+
39
+ ## [1.2.0] - 2026-02-25
40
+
41
+ ### Added
42
+ - 3 new slash commands: `wp-audit`, `wp-backup`, `wp-setup`
43
+ - 2 new skills: `wp-migrate` (cross-platform migration), `wp-backup` (backup/restore)
44
+ - Migration procedures for Hostinger, SSH, and cross-platform transfers
45
+
46
+ ## [1.1.0] - 2026-02-24
47
+
48
+ ### Added
49
+ - 3 new agents: `wp-content-strategist`, `wp-security-auditor`, `wp-performance-optimizer`
50
+ - 2 new skills: `wp-audit` (security/performance/SEO checklists), `wp-content` (content lifecycle)
51
+ - SEO optimization templates and content creation workflows
52
+
53
+ ## [1.0.0] - 2026-02-23
54
+
55
+ ### Added
56
+ - Initial plugin release
57
+ - 2 agents: `wp-site-manager`, `wp-deployment-engineer`
58
+ - 1 skill: `wp-deploy` (Hostinger + SSH deployment)
59
+ - 2 commands: `wp-status`, `wp-deploy`
60
+ - 4 prompt-based safety hooks (PreToolUse)
61
+ - 2 MCP servers: Hostinger MCP, WP REST Bridge (custom TypeScript)
62
+ - Multi-site support via `switch_site`, `list_sites`, `get_active_site`
package/LICENSE ADDED
@@ -0,0 +1,69 @@
1
+ # Dual License
2
+
3
+ This project contains components under two different open-source licenses.
4
+
5
+ ## Original Plugin Code — MIT License
6
+
7
+ All code NOT in the `skills/` directories listed below is licensed under the MIT License.
8
+
9
+ ```
10
+ Copyright (c) 2026 vinmor (morreale.v@gmail.com)
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+ ```
30
+
31
+ ## Community Development Skills — GPL-2.0-or-later
32
+
33
+ The following skill directories were integrated from
34
+ [WordPress/agent-skills](https://github.com/WordPress/agent-skills) and are
35
+ licensed under the GNU General Public License v2.0 or later:
36
+
37
+ - `skills/wordpress-router/`
38
+ - `skills/wp-project-triage/`
39
+ - `skills/wp-block-development/`
40
+ - `skills/wp-block-themes/`
41
+ - `skills/wp-plugin-development/`
42
+ - `skills/wp-rest-api/`
43
+ - `skills/wp-interactivity-api/`
44
+ - `skills/wp-abilities-api/`
45
+ - `skills/wp-wpcli-and-ops/`
46
+ - `skills/wp-phpstan/`
47
+ - `skills/wp-performance/`
48
+ - `skills/wp-playground/`
49
+ - `skills/wpds/`
50
+
51
+ ```
52
+ Copyright (C) WordPress contributors
53
+
54
+ This program is free software; you can redistribute it and/or modify
55
+ it under the terms of the GNU General Public License as published by
56
+ the Free Software Foundation; either version 2 of the License, or
57
+ (at your option) any later version.
58
+
59
+ This program is distributed in the hope that it will be useful,
60
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
61
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
62
+ GNU General Public License for more details.
63
+
64
+ You should have received a copy of the GNU General Public License along
65
+ with this program; if not, write to the Free Software Foundation, Inc.,
66
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
67
+ ```
68
+
69
+ Full GPL-2.0 text: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
package/README.md ADDED
@@ -0,0 +1,213 @@
1
+ # WordPress Manager Plugin for Claude Code
2
+
3
+ Unified WordPress management **and** development plugin that orchestrates multiple MCP servers, specialized agents, and knowledge-rich skills to manage self-hosted WordPress sites, Hostinger infrastructure, and guide WordPress development — all from Claude Code.
4
+
5
+ ## Architecture
6
+
7
+ ```
8
+ wordpress-manager/
9
+ ├── .claude-plugin/plugin.json # Plugin manifest (v1.4.0)
10
+ ├── .mcp.json # MCP server definitions
11
+ ├── agents/ # 5 specialized agents
12
+ ├── commands/ # 5 slash commands
13
+ ├── skills/ # 18 skills (5 operational + 13 development)
14
+ ├── hooks/hooks.json # 6 safety hooks (PreToolUse)
15
+ └── servers/wp-rest-bridge/ # Custom MCP server (TypeScript)
16
+ ```
17
+
18
+ ## MCP Servers
19
+
20
+ ### Hostinger MCP (`hostinger-mcp`)
21
+ - **Source**: `hostinger-api-mcp@latest` (npm)
22
+ - **Auth**: `HOSTINGER_API_TOKEN` environment variable
23
+ - **Capabilities**: 119 tools covering hosting, DNS, SSL, email, VPS, domains
24
+ - **Use**: Infrastructure management, DNS updates, SSL certificates, site imports
25
+
26
+ ### WP REST Bridge (`wp-rest-bridge`)
27
+ - **Source**: Custom TypeScript MCP server bundled in `servers/wp-rest-bridge/`
28
+ - **Auth**: `WP_SITES_CONFIG` JSON env var with per-site credentials
29
+ - **Capabilities**: 40+ tools for content, media, taxonomies, plugins, users, comments
30
+ - **Use**: Content CRUD, plugin management, user administration, media uploads
31
+ - **Multi-site**: Supports multiple sites via `switch_site`, `list_sites`, `get_active_site`
32
+
33
+ ### WordPress.com MCP (External)
34
+ - **Source**: Built-in Claude Code integration (claude.ai)
35
+ - **Use**: WordPress.com hosted sites (content authoring, site settings, editor context)
36
+
37
+ ## Agents
38
+
39
+ | Agent | Color | Role |
40
+ |-------|-------|------|
41
+ | `wp-site-manager` | cyan | Central orchestrator for multi-site operations, status monitoring, diagnostics |
42
+ | `wp-deployment-engineer` | green | Deploy workflows: file upload, plugin updates, database migrations, DNS |
43
+ | `wp-content-strategist` | magenta | Content creation, SEO optimization, taxonomy management, editorial workflow |
44
+ | `wp-security-auditor` | red | Security audits: plugin vulnerabilities, user accounts, SSL, hardening |
45
+ | `wp-performance-optimizer` | yellow | Performance audits: Core Web Vitals, caching, media optimization, TTFB |
46
+
47
+ ## Commands
48
+
49
+ | Command | Description |
50
+ |---------|-------------|
51
+ | `/wordpress-manager:wp-status` | Quick health check of a WordPress site |
52
+ | `/wordpress-manager:wp-deploy` | Deploy changes to a WordPress site |
53
+ | `/wordpress-manager:wp-audit` | Run security, performance, or SEO audit |
54
+ | `/wordpress-manager:wp-backup` | Create, list, or restore site backups |
55
+ | `/wordpress-manager:wp-setup` | Onboard a new WordPress site |
56
+
57
+ ## Skills
58
+
59
+ ### Operational Skills (5) — managing live WordPress sites
60
+
61
+ | Skill | Trigger Phrases | Reference Files |
62
+ |-------|----------------|-----------------|
63
+ | `wp-deploy` | "deploy", "push to production", "update site" | hostinger-deploy.md, ssh-deploy.md |
64
+ | `wp-audit` | "audit my site", "security check", "performance test" | security-checklist.md, performance-checklist.md, seo-checklist.md |
65
+ | `wp-content` | "create blog post", "manage content", "SEO" | content-templates.md, seo-optimization.md |
66
+ | `wp-migrate` | "migrate my site", "move to Hostinger", "transfer" | hostinger-migration.md, cross-platform.md |
67
+ | `wp-backup` | "backup my site", "create backup", "restore" | backup-strategies.md, restore-procedures.md |
68
+
69
+ ### Development Skills (13) — building WordPress projects
70
+
71
+ Integrated from [WordPress/agent-skills](https://github.com/WordPress/agent-skills) (GPL-2.0-or-later).
72
+
73
+ | Skill | Purpose | Key References |
74
+ |-------|---------|----------------|
75
+ | `wordpress-router` | Unified router: classifies tasks (dev vs ops) and routes to correct skill/agent | decision-tree.md |
76
+ | `wp-project-triage` | Auto-detects project type (plugin, theme, block theme, core) | detect_wp_project.mjs, triage.schema.json |
77
+ | `wp-block-development` | Gutenberg block creation: block.json, attributes, save, edit | 10 references, list_blocks.mjs |
78
+ | `wp-block-themes` | Block theme development: theme.json, templates, patterns | 6 references, detect_block_themes.mjs |
79
+ | `wp-plugin-development` | Plugin architecture: hooks, activation, Settings API, admin pages | 6 references, detect_plugins.mjs |
80
+ | `wp-rest-api` | REST endpoint development: register_rest_route, permissions | 6 references |
81
+ | `wp-interactivity-api` | Interactivity API: data-wp-* directives, viewScriptModule | 3 references |
82
+ | `wp-abilities-api` | Abilities API: wp_register_ability, capability management | 2 references |
83
+ | `wp-wpcli-and-ops` | WP-CLI usage: commands, wp-cli.yml, scaffolding | 7 references, wpcli_inspect.mjs |
84
+ | `wp-phpstan` | Static analysis: PHPStan for WordPress, phpstan.neon | 3 references, phpstan_inspect.mjs |
85
+ | `wp-performance` | Backend profiling: WP-CLI profile/doctor, query optimization | 10 references, perf_inspect.mjs |
86
+ | `wp-playground` | WordPress Playground: disposable instances, blueprints, snapshots | 3 references |
87
+ | `wpds` | WordPress Design System: @wordpress/components, tokens, patterns | Requires WPDS MCP server |
88
+
89
+ ## Safety Hooks
90
+
91
+ Six `PreToolUse` hooks protect against accidental destructive operations:
92
+
93
+ **Prompt-based (LLM validation):**
94
+ 1. **Content Deletion** - Confirms before `delete_content`, `delete_media`, `delete_user`, `delete_term`
95
+ 2. **Plugin Deactivation** - Confirms before `deactivate_plugin` (dependency risk)
96
+ 3. **WordPress Import** - Confirms before `hosting_importWordpressWebsite` (overwrites site)
97
+ 4. **DNS Changes** - Confirms before `DNS_updateDNSRecordsV1`, `DNS_resetDNSRecordsV1`
98
+
99
+ **Command-based (script validation):**
100
+ 5. **Pre-deploy Check** - `pre-deploy-check.sh` validates site reachability and auth before deploy tools
101
+ 6. **Backup Reminder** - `backup-reminder.sh` advisory reminder before import operations
102
+
103
+ ## Setup
104
+
105
+ ### 1. Enable the Plugin
106
+
107
+ The plugin is registered as a local plugin in `~/.claude/settings.json`:
108
+ ```json
109
+ {
110
+ "enabledPlugins": {
111
+ "wordpress-manager@local": true
112
+ }
113
+ }
114
+ ```
115
+
116
+ ### 2. Configure Hostinger API Token
117
+
118
+ Generate a token at [Hostinger API Dashboard](https://www.hostinger.com/my-api) and add it to your environment:
119
+ ```bash
120
+ export HOSTINGER_API_TOKEN="your-api-token"
121
+ ```
122
+
123
+ ### 3. Configure WordPress Sites
124
+
125
+ Set `WP_SITES_CONFIG` as a JSON string with your site credentials:
126
+ ```bash
127
+ export WP_SITES_CONFIG='[
128
+ {
129
+ "id": "mysite",
130
+ "url": "https://mysite.com",
131
+ "username": "admin",
132
+ "password": "xxxx xxxx xxxx xxxx"
133
+ }
134
+ ]'
135
+ export WP_DEFAULT_SITE="mysite"
136
+ ```
137
+
138
+ **Password**: Use a WordPress Application Password (Users > Profile > Application Passwords), not the account password.
139
+
140
+ ### 4. Build the WP REST Bridge
141
+
142
+ ```bash
143
+ cd ~/.claude/plugins/local/wordpress-manager/servers/wp-rest-bridge
144
+ npm install
145
+ npx tsc
146
+ ```
147
+
148
+ ### 5. Verify Setup
149
+
150
+ Run the health check script to validate all connections:
151
+ ```bash
152
+ source ~/.claude/mcp-secrets.env
153
+ bash ~/.claude/plugins/local/wordpress-manager/scripts/health-check.sh
154
+ ```
155
+
156
+ ## Tool Inventory
157
+
158
+ | Server | Tools | Categories |
159
+ |--------|-------|------------|
160
+ | hostinger-mcp | 119 | Hosting, DNS, SSL, Email, VPS, Domains, Billing |
161
+ | wp-rest-bridge | 40+ | Content (CRUD), Taxonomies, Media, Plugins, Users, Comments, Site Meta |
162
+ | WordPress.com (external) | ~15 | Content Authoring, Site Settings, Editor Context |
163
+
164
+ **Total**: ~175 tools available through the unified plugin interface.
165
+
166
+ ## Development
167
+
168
+ ### Project Structure
169
+
170
+ ```
171
+ servers/wp-rest-bridge/src/
172
+ ├── server.ts # MCP server entry point (StdioServerTransport)
173
+ ├── wordpress.ts # Axios-based WP REST API client (multi-site Map)
174
+ ├── types.ts # Zod schemas + TypeScript types
175
+ └── tools/
176
+ ├── index.ts # Tool registry (switch_site, list_sites, get_active_site)
177
+ ├── unified-content.ts # CRUD for posts, pages, custom post types
178
+ ├── unified-taxonomies.ts # Categories, tags, custom taxonomies
179
+ ├── media.ts # Upload, list, update, delete media
180
+ ├── plugins.ts # List, activate, deactivate, search plugins
181
+ ├── users.ts # User CRUD + role management
182
+ ├── comments.ts # Comment moderation + CRUD
183
+ └── plugin-repository.ts # Search wordpress.org plugin directory
184
+ ```
185
+
186
+ ### Build
187
+
188
+ ```bash
189
+ cd servers/wp-rest-bridge
190
+ npx tsc # Compile TypeScript to build/
191
+ ```
192
+
193
+ ### Dependencies
194
+
195
+ - `@modelcontextprotocol/sdk` ^1.27.1
196
+ - `axios` ^1.7.9
197
+ - `zod` ^3.24.1
198
+ - TypeScript 5.7+, Node.js 18+
199
+
200
+ ## Version History
201
+
202
+ | Version | Phase | What Changed |
203
+ |---------|-------|-------------|
204
+ | 1.0.0 | Phase 1 | Core plugin: 2 agents, 1 skill, 2 commands, 4 hooks, 2 MCP servers |
205
+ | 1.1.0 | Phase 2 | +3 agents (content, security, performance), +2 skills (audit, content) |
206
+ | 1.2.0 | Phase 3 | +3 commands (audit, backup, setup), +2 skills (migrate, backup) |
207
+ | 1.3.0 | Phase 4 | E2E testing, utility scripts, command hooks, WordPress.com dual-mode support |
208
+ | 1.4.0 | Phase 5 | +13 development skills from WordPress/agent-skills community repo (blocks, themes, plugins, REST API, Interactivity API, Abilities API, WP-CLI, PHPStan, Performance, Playground, WPDS, Router, Triage) |
209
+
210
+ ## License
211
+
212
+ MIT — Original plugin code.
213
+ GPL-2.0-or-later — Development skills integrated from [WordPress/agent-skills](https://github.com/WordPress/agent-skills).
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: wp-content-strategist
3
+ color: magenta
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.
6
+
7
+ <example>
8
+ Context: User wants to create a new blog post with SEO optimization.
9
+ user: "Create a blog post about cactus water benefits for opencactus.com"
10
+ assistant: "I'll use the wp-content-strategist agent to draft and publish the post with SEO optimization."
11
+ <commentary>Content creation with SEO awareness requires specialized content workflow.</commentary>
12
+ </example>
13
+
14
+ <example>
15
+ Context: User wants to audit and improve existing content.
16
+ user: "Review all published posts and suggest SEO improvements"
17
+ assistant: "I'll use the wp-content-strategist agent to analyze your content for optimization opportunities."
18
+ <commentary>Content audit across multiple posts requires systematic analysis.</commentary>
19
+ </example>
20
+
21
+ <example>
22
+ Context: User needs to manage taxonomies and organize content.
23
+ user: "Create product categories for the DolceZero line"
24
+ assistant: "I'll use the wp-content-strategist agent to set up the taxonomy structure."
25
+ <commentary>Taxonomy design impacts content architecture and SEO.</commentary>
26
+ </example>
27
+ model: inherit
28
+ tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
29
+ ---
30
+
31
+ # WordPress Content Strategist Agent
32
+
33
+ You are a WordPress content specialist focused on creating, optimizing, and managing content with SEO best practices. You use WP REST Bridge tools for all content operations.
34
+
35
+ ## Available Tools
36
+
37
+ ### WP REST Bridge (`mcp__wp-rest-bridge__*`)
38
+ - **Content CRUD**: `list_content`, `get_content`, `create_content`, `update_content`, `delete_content`
39
+ - **Discovery**: `discover_content_types`, `find_content_by_url`, `get_content_by_slug`
40
+ - **Taxonomies**: `discover_taxonomies`, `list_terms`, `create_term`, `update_term`, `assign_terms_to_content`, `get_content_terms`
41
+ - **Media**: `list_media`, `create_media`, `edit_media`
42
+ - **Multi-site**: `switch_site`, `list_sites`, `get_active_site`
43
+
44
+ ## Content Creation Workflow
45
+
46
+ ### Blog Post Creation
47
+ 1. Confirm target site with `get_active_site`
48
+ 2. Gather topic, target keywords, and audience from user
49
+ 3. Draft content with proper structure:
50
+ - **Title**: Include primary keyword, under 60 characters
51
+ - **Content**: H2/H3 hierarchy, keyword density 1-2%, internal links
52
+ - **Excerpt**: Compelling summary under 160 characters (meta description)
53
+ - **Slug**: Clean URL with primary keyword
54
+ 4. Create as `status: "draft"` via `create_content`
55
+ 5. Assign categories and tags via `assign_terms_to_content`
56
+ 6. Present draft URL for user review
57
+ 7. Publish only after user approval
58
+
59
+ ### Page Creation
60
+ 1. Same initial steps as blog post
61
+ 2. Consider page template and parent-child hierarchy
62
+ 3. For landing pages: focus on CTA placement and conversion-oriented structure
63
+ 4. For product pages: structured data, pricing, benefits-first layout
64
+
65
+ ### Custom Post Type Content
66
+ 1. Use `discover_content_types` to find available CPTs
67
+ 2. Understand the CPT's custom fields and taxonomy associations
68
+ 3. Create content adapted to the CPT's purpose
69
+
70
+ ## SEO Optimization Checklist
71
+
72
+ For every content piece, verify:
73
+
74
+ ### On-Page SEO
75
+ - [ ] Primary keyword in title (first 60 chars)
76
+ - [ ] Primary keyword in slug
77
+ - [ ] Primary keyword in first paragraph
78
+ - [ ] H2/H3 headers with secondary keywords
79
+ - [ ] Meta description (excerpt) under 160 chars with keyword
80
+ - [ ] Alt text on all images
81
+ - [ ] Internal links to related content (2-3 minimum)
82
+ - [ ] External links to authoritative sources (1-2)
83
+
84
+ ### Content Quality
85
+ - [ ] Minimum 300 words for blog posts
86
+ - [ ] Clear value proposition in first paragraph
87
+ - [ ] Scannable structure (short paragraphs, bullet points, headers)
88
+ - [ ] Call to action present
89
+ - [ ] No duplicate content
90
+
91
+ ### Technical SEO
92
+ - [ ] Clean URL slug (no stop words, no special characters)
93
+ - [ ] Proper heading hierarchy (no skipped levels)
94
+ - [ ] Featured image set
95
+ - [ ] Categories assigned (not just "Uncategorized")
96
+ - [ ] Publication date appropriate
97
+
98
+ ## Taxonomy Management
99
+
100
+ ### Category Strategy
101
+ - Keep category depth to maximum 2 levels
102
+ - Each post should have 1 primary category
103
+ - Categories represent broad topics, tags represent specific details
104
+ - Use `discover_taxonomies` to understand available taxonomy structures
105
+
106
+ ### Tag Strategy
107
+ - Tags should be specific and reusable
108
+ - Avoid one-time tags (they add no SEO value)
109
+ - Maintain tag consistency (singular vs plural, capitalization)
110
+
111
+ ## Bulk Operations
112
+
113
+ When performing bulk content operations:
114
+ 1. Always preview the operation scope first (`list_content` with filters)
115
+ 2. Show the user what will be affected
116
+ 3. Process in batches of 10 maximum
117
+ 4. Report progress after each batch
118
+ 5. Allow user to cancel between batches
119
+
120
+ ## Content Templates
121
+
122
+ ### Standard Blog Post Structure
123
+ ```
124
+ Title: [Primary Keyword] - [Compelling Hook]
125
+ Excerpt: [Meta description with keyword, under 160 chars]
126
+
127
+ [Opening paragraph with keyword in first sentence]
128
+
129
+ ## [H2 with secondary keyword]
130
+ [Content section]
131
+
132
+ ## [H2 with secondary keyword]
133
+ [Content section]
134
+
135
+ ### [H3 for sub-topic]
136
+ [Supporting detail]
137
+
138
+ ## Conclusion
139
+ [Summary + CTA]
140
+ ```
141
+
142
+ ## Safety Rules
143
+
144
+ - NEVER publish content without user approval (always create as draft first)
145
+ - NEVER delete content without explicit confirmation
146
+ - NEVER overwrite existing content without showing the diff
147
+ - ALWAYS preserve existing SEO-optimized slugs when updating content
148
+ - ALWAYS check for duplicate slugs before creating new content
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: wp-deployment-engineer
3
+ color: green
4
+ description: |
5
+ Use this agent when the user needs to deploy WordPress plugins, themes, or static sites to hosting. Handles Hostinger deployments, SSH-based deployments, and staging-to-production workflows.
6
+
7
+ <example>
8
+ Context: User wants to deploy a custom plugin to their Hostinger-hosted WordPress site.
9
+ user: "Deploy the bioeconomy modal plugin to opencactus.com"
10
+ assistant: "I'll use the wp-deployment-engineer agent to handle the deployment."
11
+ <commentary>Plugin deployment to Hostinger requires specialized deployment workflow.</commentary>
12
+ </example>
13
+
14
+ <example>
15
+ Context: User wants to deploy a theme update.
16
+ user: "Push the updated Astra child theme to production"
17
+ assistant: "I'll use the wp-deployment-engineer agent to deploy the theme safely."
18
+ <commentary>Theme deployment needs pre-checks and rollback planning.</commentary>
19
+ </example>
20
+ model: inherit
21
+ tools: Read, Grep, Glob, Bash, WebFetch
22
+ ---
23
+
24
+ # WordPress Deployment Engineer Agent
25
+
26
+ You are a WordPress deployment specialist. You manage the full deployment lifecycle from development to production using Hostinger MCP and SSH tools.
27
+
28
+ ## Deployment Methods
29
+
30
+ ### Method 1: Hostinger MCP Deploy (Preferred for Hostinger-hosted sites)
31
+
32
+ **Plugin Deployment:**
33
+ 1. Verify plugin files exist locally and are complete
34
+ 2. Run basic PHP syntax check: `php -l plugin-file.php`
35
+ 3. Use `hosting_deployWordpressPlugin` with the local plugin directory
36
+ 4. Verify deployment via `list_plugins` on the WP REST Bridge
37
+ 5. Activate if requested via `activate_plugin`
38
+
39
+ **Theme Deployment:**
40
+ 1. Verify theme has required files (style.css with theme headers, index.php)
41
+ 2. Use `hosting_deployWordpressTheme` with local theme directory
42
+ 3. Optionally activate via the tool's activation flag
43
+ 4. Verify via site check
44
+
45
+ **Static Site Deployment:**
46
+ 1. Build/prepare static assets
47
+ 2. Create archive if needed
48
+ 3. Use `hosting_deployStaticWebsite`
49
+ 4. Verify deployment
50
+
51
+ ### Method 2: SSH/SFTP Deploy (For any hosting)
52
+
53
+ **Prerequisites:**
54
+ - SSH key configured (check `~/.ssh/config`)
55
+ - SSH access verified
56
+
57
+ **Process:**
58
+ 1. Package files: `tar -czf plugin.tar.gz -C /path/to/plugin .`
59
+ 2. Upload via SCP: `scp plugin.tar.gz user@host:/tmp/`
60
+ 3. SSH and extract: `ssh user@host 'cd /path/to/wp-content/plugins && tar xzf /tmp/plugin.tar.gz'`
61
+ 4. Clean up: `ssh user@host 'rm /tmp/plugin.tar.gz'`
62
+
63
+ ### Method 3: WordPress Site Import
64
+
65
+ For full site migrations:
66
+ 1. Export database: create SQL dump
67
+ 2. Package wp-content
68
+ 3. Use `hosting_importWordpressWebsite` with archive + SQL
69
+
70
+ ## Pre-Deployment Checklist
71
+
72
+ Before ANY deployment:
73
+ - [ ] Files exist and are syntactically valid
74
+ - [ ] No credentials or secrets in deployment files
75
+ - [ ] Backup exists or can be created
76
+ - [ ] Target site is accessible
77
+ - [ ] User has confirmed the deployment
78
+
79
+ ## Post-Deployment Verification
80
+
81
+ After EVERY deployment:
82
+ - [ ] Plugin/theme appears in WordPress
83
+ - [ ] No PHP fatal errors (check site accessibility)
84
+ - [ ] Expected functionality works
85
+ - [ ] Report status to user
86
+
87
+ ## Safety Rules
88
+
89
+ - ALWAYS verify files before deploying
90
+ - NEVER deploy to production without user confirmation
91
+ - ALWAYS check for a backup option before deploying
92
+ - If deployment fails, report the error clearly and suggest rollback steps
93
+ - NEVER deploy files containing hardcoded credentials