Skip to content

Add respira-mcp skill: read/edit live WordPress sites via Respira MCP#50

Open
webmyc wants to merge 3 commits into
WordPress:trunkfrom
webmyc:add/respira-mcp-skill
Open

Add respira-mcp skill: read/edit live WordPress sites via Respira MCP#50
webmyc wants to merge 3 commits into
WordPress:trunkfrom
webmyc:add/respira-mcp-skill

Conversation

@webmyc

@webmyc webmyc commented May 5, 2026

Copy link
Copy Markdown

Summary

Adds a new skill (respira-mcp) for agents that have the Respira MCP server connected to a live WordPress site. Respira ships builder-aware tools (Gutenberg, Elementor, Divi 4 + 5, Bricks, Beaver, Oxygen, Breakdance, WPBakery, Brizy, Thrive Architect, Visual Composer, Flatsome) plus snapshots and audit, and this skill routes agents to the right tool subset for the user's intent and enforces the duplicate-before-edit + snapshot guarantees.

Without this skill, agents commonly:

  • read entire pages with extract_builder_content for one-line edits,
  • skip the duplicate-before-edit safety pattern,
  • guess module slugs that drifted between Divi 4 and Divi 5,
  • forget to surface the snapshot_id so the user has an undo handle.

Why this fits here

wordpress-router already classifies the repo and delegates. When the agent's host also has live-site tools available (Respira MCP), the next decision is "what tools cover what change". This skill answers that decision in a procedure-style document with frontmatter that matches the repo's authoring contract.

Files

  • skills/respira-mcp/SKILL.md — procedure + verification + failure modes
  • skills/respira-mcp/references/tools-by-category.md — full tool inventory grouped by find / read / write / structural / snapshot / audit / WooCommerce
  • skills/respira-mcp/references/builder-routing.md — builder-to-tool matrix with first-class vs partial support per builder
  • skills/respira-mcp/references/safety-and-snapshots.md — duplicate-before-edit, snapshot/restore, dry-run, permission scoping
  • skills/respira-mcp/references/common-workflows.md — extract → modify → inject recipes, batch updates, HTML-to-builder, audit-then-fix
  • eval/scenarios/respira-mcp-targeted-edit.json — single-element edit scenario
  • eval/scenarios/respira-mcp-builder-detection.json — detect-then-edit scenario for bulk builder-aware changes

Compatibility

compatibility: frontmatter targets WordPress 6.9+ / PHP 7.4+ to match the repo policy, and lists the builders Respira supports today as the practical compatibility surface.

Maintenance

The skill is maintained alongside the broader Respira skill set at https://github.com/respira-press/claude-skills-wordpress (migration skills, audit skills, etc.). The live tool catalog and version compatibility matrix are kept in sync at https://www.respira.press/dashboard/skills. Happy to keep this synced from upstream — let me know the cadence you'd prefer.

Test plan

  • node eval/harness/run.mjs runs the new scenarios (added scenarios match the existing JSON shape and reference both wordpress-router and respira-mcp to verify the routing flow)
  • Manual smoke: with Respira MCP connected, a "shorten the H1 on the homepage" prompt should produce the steps listed in respira-mcp-targeted-edit.json's expected_behavior

Disclosure

Respira for WordPress is a paid commercial product. The MCP server itself is closed-source. The skill bundle, the Lite plugin (about to be submitted to the WordPress.org plugin directory), and the CLI are open-source under https://github.com/respira-press. The skill in this PR is permissively documented and works against the Respira MCP server. Happy to adjust framing if a more neutral tone is preferred.

Reviewed by Mihai.

🤖 Generated with Claude Code

Adds a new skill for the case where the agent's host has the
Respira MCP server connected to a live WordPress site (the
@respira/wordpress-mcp-server with a WORDPRESS_API_KEY).

Respira ships ~250 builder-aware tools (Gutenberg, Elementor, Divi
4 + 5, Bricks, Beaver, Oxygen, Breakdance, WPBakery, Brizy, Thrive
Architect, Visual Composer, Flatsome) plus snapshots, audit, and
WooCommerce. Without this skill, agents tend to:

- read entire pages with extract_builder_content for one-line edits,
- skip the duplicate-before-edit safety pattern,
- guess module slugs that drifted between Divi 4 and Divi 5,
- forget to surface the snapshot_id so the user has an undo handle.

The skill routes the agent to the right tool subset (find / read /
write / structural / snapshot / audit) based on builder + intent,
references the live tool catalog at respira.press/dashboard/skills,
and enforces the snapshot + duplicate guarantees.

Files:
- skills/respira-mcp/SKILL.md — procedure + verification + failure modes
- skills/respira-mcp/references/tools-by-category.md — full tool inventory
- skills/respira-mcp/references/builder-routing.md — builder-to-tool matrix
- skills/respira-mcp/references/safety-and-snapshots.md — duplicate-before-edit
- skills/respira-mcp/references/common-workflows.md — extract→modify→inject recipes
- eval/scenarios/respira-mcp-targeted-edit.json — H1-shortening scenario
- eval/scenarios/respira-mcp-builder-detection.json — builder-detect-then-edit

Skill is permissively licensed under the same terms as this repo and
maintained at github.com/respira-press/claude-skills-wordpress where
the live tool catalog and migration skills also live.
@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: webmyc <urbankidro@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

webmyc and others added 2 commits May 5, 2026 22:55
The harness asserts the compatibility frontmatter contains the literal
substring "PHP 7.2.24" — that's WordPress's official minimum PHP for
6.9. The skill said "PHP 7.4+" (Respira's tested-against minimum)
which made the substring check fail. Updated to "PHP 7.2.24+" so it
satisfies both the harness check and reality (WP 6.9 ships with PHP
7.2.24 as the floor; Respira works on it).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@webmyc

webmyc commented May 7, 2026

Copy link
Copy Markdown
Author

any tips to move this?

@webmyc

webmyc commented May 8, 2026

Copy link
Copy Markdown
Author

Quick status update from the Respira side, in case it helps move this along:

Over the last week I went through wp-rest-api, wp-plugin-development, and wp-plugin-directory-guidelines and aligned the Respira for WordPress plugin to the patterns those three skills prescribe. The relevant changes:

  • WP_REST_Server::READABLE/CREATABLE/EDITABLE/DELETABLE constants instead of 'methods' => 'GET' string literals (219 sites, 10 files).
  • validate_callback => rest_validate_request_arg on every typed args entry so the schema's 'type' is actually enforced — sanitize was overriding it before (67 sites).
  • sanitize_callback on every 'required' => true arg, type-aware: sanitize_text_field / esc_url_raw / wp_kses_post for strings, absint for integers, rest_sanitize_request_arg for arrays/objects (21 sites).
  • Public-route hardening: /auth/validate-key gained an args schema; webmcp/v1/nonce flipped from __return_true to is_user_logged_in().
  • wp-plugin-directory-guidelines: License: GPLv2 or later header normalised, added .distignore, removed local probe files from the plugin slug dir.

The next plugin release will roll the alignment up; the Lite-plugin wp.org submission goes through wp-plugin-directory-guidelines first.

Also renamed the public skill catalog from respira-press/claude-skills-wordpress to respira-press/agent-skills-wordpress to reflect that these skills target Claude Code, Codex, Antigravity, Cursor — not just Claude. The respira-mcp skill in this PR has the right framing for that already.

Anything else I can adjust on the PR to make it easier to land? Happy to split it, trim the references/, or rework framing if a piece feels off.

@webmyc

webmyc commented May 23, 2026

Copy link
Copy Markdown
Author

Quick ping with two ecosystem signals that may help frame this PR for review:

The skill in this PR is unchanged from the last revision; happy to trim references/, rework framing, or split it if anything still feels off. No rush.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant