/ Directory / Playground / claude-wordpress-skills
● Community elvismdev ⚡ Instant

claude-wordpress-skills

by elvismdev · elvismdev/claude-wordpress-skills

Make Claude a senior WordPress engineer — security, performance, Gutenberg blocks, theme and plugin discipline.

claude-wordpress-skills is a professional skills pack for WordPress work: security auditing (nonces, capabilities, escaping), performance optimization (caching, query tuning), Gutenberg block development (modern JS + block.json), and theme/plugin best practices (i18n, accessibility, WP Coding Standards). Load it once and Claude stops writing 2015-era WordPress code.

Why use it

Key features

Live Demo

What it looks like in practice

claude-wordpress-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "claude-wordpress-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/elvismdev/claude-wordpress-skills",
        "~/.claude/skills/claude-wordpress-skills"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "claude-wordpress-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/elvismdev/claude-wordpress-skills",
        "~/.claude/skills/claude-wordpress-skills"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "claude-wordpress-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/elvismdev/claude-wordpress-skills",
        "~/.claude/skills/claude-wordpress-skills"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "claude-wordpress-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/elvismdev/claude-wordpress-skills",
        "~/.claude/skills/claude-wordpress-skills"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "claude-wordpress-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/elvismdev/claude-wordpress-skills",
        "~/.claude/skills/claude-wordpress-skills"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "claude-wordpress-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/elvismdev/claude-wordpress-skills",
          "~/.claude/skills/claude-wordpress-skills"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add claude-wordpress-skill -- git clone https://github.com/elvismdev/claude-wordpress-skills ~/.claude/skills/claude-wordpress-skills

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use claude-wordpress-skills

How to build a Gutenberg block the modern way

👤 WordPress developers building custom blocks ⏱ ~45 min intermediate

When to use: You need a custom editor block and don't want to hand-roll outdated ESNext + webpack scaffolding.

Prerequisites
  • Node 18+ and WordPress 6.3+ — nvm install 18; wp-env or local install
  • Skill cloned — git clone https://github.com/elvismdev/claude-wordpress-skills ~/.claude/skills/claude-wordpress-skills
Flow
  1. Describe the block
    Build a Testimonial block: quote text, author name, author photo — edit and save views.✓ Copied
    → block.json + edit.js + save.js scaffolded, @wordpress/scripts build setup
  2. Add attributes and controls
    Add an alignment control and a color picker.✓ Copied
    → BlockControls / InspectorControls added correctly
  3. Bundle and register
    Write the PHP that registers the block from block.json.✓ Copied
    → register_block_type( __DIR__ . '/build/block.json' )

Outcome: A working modern Gutenberg block with proper packaging.

Pitfalls
  • Missing i18n wrappers — Skill reminds Claude to wrap strings with __() and _x()
Combine with: filesystem

Audit a plugin for common WordPress security issues

👤 Plugin maintainers, site owners ⏱ ~60 min advanced

When to use: Before shipping a plugin or inheriting one.

Flow
  1. Scope the audit
    Audit this plugin for: nonce usage on every form, capability checks on every action, output escaping, SQL prep.✓ Copied
    → Per-category findings with file:line
  2. Fix the highest-risk ones
    Apply the top 3 fixes — nonces on the admin form, esc_html on the dashboard widget, $wpdb->prepare on the custom query.✓ Copied
    → Diffs to the plugin files
  3. Regression test
    List what to manually test to confirm the fixes don't break anything.✓ Copied
    → Short manual test checklist

Outcome: A more secure plugin with documented fixes.

Pitfalls
  • False positives on nonces where a REST permission callback is already in place — Provide context: REST routes with permission callbacks don't need form nonces
Combine with: github

Do a performance pass on a slow WordPress site

👤 Developers responsible for WordPress site perf ⏱ ~60 min advanced

When to use: TTFB is bad, dashboard is slow, or a specific template is dragging.

Flow
  1. Identify the bottleneck
    Walk me through common WordPress perf bottlenecks and which log/profiling tool to start with.✓ Copied
    → Query Monitor, debug.log, object cache check
  2. Query tuning
    Here are the top 5 slow queries. Suggest indexes or query rewrites.✓ Copied
    → Per-query recommendations
  3. Cache strategy
    Which caching layers should be active here? Object cache, page cache, fragment caching — suggest a stack.✓ Copied
    → Concrete cache plan with plugins/services

Outcome: Concrete perf wins you can measure on the next deploy.

Pitfalls
  • Adding a caching plugin without fixing the underlying slow query — Always measure before and after each change

Combinations

Pair with other MCPs for X10 leverage

claude-wordpress-skill + filesystem

Operate across a plugin/theme directory for audits and refactors

Audit wp-content/plugins/my-plugin/ for security issues and apply the top 5 fixes.✓ Copied
claude-wordpress-skill + github

Open PRs for security fixes with proper descriptions

Open a PR titled 'Security: nonces on admin forms' with the patches.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
gutenberg-block-authoring block intent + attributes Any custom block work 0
wp-security-audit plugin/theme path Pre-ship or inheritance review 0
wp-performance-review slow endpoints + config When speed matters 0
wp-coding-standards any PHP/JS code Auto-applied during authoring 0

Cost & Limits

What this costs to run

API quota
none
Tokens per call
5–20k per audit or block
Monetary
free
Tip
Scope by file or feature; don't feed Claude 100 plugins at once

Security

Permissions, secrets, blast radius

Credential storage: none at the skill level; WP admin creds if you also use a deploy/REST tool
Data egress: none

Troubleshooting

Common errors and fixes

Block build fails with @wordpress/scripts

Verify Node version and that @wordpress/scripts is in devDependencies; rebuild.

Verify: node -v && npx wp-scripts --version
Claude suggests outdated enqueue patterns

Specify the WordPress version you target and prefer register_block_type_from_metadata.

Alternatives

claude-wordpress-skills vs others

AlternativeWhen to use it insteadTradeoff
claude-code-owasp-skillYou need general web app security, not WordPress-specificBroader but misses WP idioms
symfony-ux-skillYou're in Symfony instead of WordPressDifferent stack

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills