wordpress-router
wordpress/agent-skills
Classify WordPress codebases and route to the correct workflow for plugins, themes, blocks, and core.
What is wordpress-router?
Identifies the type of WordPress project (plugin, theme, block theme, Gutenberg blocks, or WP core) and routes you to the appropriate domain skill. Use this at the start of most WordPress tasks to pick the right workflow and guardrails.
- Runs automated project triage to detect WordPress project kind and structure
- Identifies available tooling (PHP/Composer, Node, @wordpress/scripts, WP-CLI)
- Detects test frameworks present (PHPUnit, Playwright, wp-env)
- Extracts version hints and constraints from the codebase
- Routes to domain-specific workflows based on project type and user intent
- Applies guardrails to confirm version constraints before making changes
How to install wordpress-router
npx skills add https://github.com/wordpress/agent-skills --skill wordpress-router- Node.js available in the environment
- Bash shell access
- WP-CLI (required for some workflows, optional for triage)
- Repo root accessible as current working directory
How to use wordpress-router
- 1.Run the project triage script: `node skills/wp-project-triage/scripts/detect_wp_project.mjs`
- 2.Review the triage output to identify project kind, tooling, and tests
- 3.Consult the decision tree at `skills/wordpress-router/references/decision-tree.md` based on user intent and repo kind
- 4.Confirm any version constraints or WP.com specifics with the user if unclear
- 5.Delegate to the appropriate domain skill or workflow
Use cases
- Starting a plugin modification task to determine build and test setup
- Analyzing a theme repo to identify if it's classic or block-based before making changes
- Routing a Gutenberg block development task to the correct workflow
- Classifying a WP core checkout to apply appropriate guardrails
- Disambiguating a mixed or unclear WordPress project structure
- WordPress plugin developers
- Theme developers (classic and block themes)
- Gutenberg block developers
- WordPress core contributors
- Full-site editing specialists
wordpress-router FAQ
Inspect the root directory for composer.json, package.json, style.css, block.json, theme.json, or wp-content/ folders. If still unclear, ask the user: 'Is this intended to be a WordPress plugin, a theme (classic/block), or a full site repo?'
WP-CLI is required for some workflows but optional for the initial triage. The triage output will indicate if WP-CLI is needed for your specific task.
Re-run the triage script if you create or restructure significant files, and run the repo's lint/test/build commands that the triage output recommends.
Targets WordPress 6.9+ with PHP 7.2.24+. The triage script will extract version hints from the codebase.
Yes, but for very large repos consider narrowing the scanning scope or adding ignore rules to the triage script to improve performance.
Full instructions (SKILL.md)
Source of truth, from wordpress/agent-skills.
name: wordpress-router description: "Use when the user asks about WordPress codebases (plugins, themes, block themes, Gutenberg blocks, WP core checkouts) and you need to quickly classify the repo and route to the correct workflow/skill (blocks, theme.json, REST API, WP-CLI, performance, security, testing, release packaging)." compatibility: "Targets WordPress 6.9+ (PHP 7.2.24+). Filesystem-based agent with bash + node. Some workflows require WP-CLI."
WordPress Router
When to use
Use this skill at the start of most WordPress tasks to:
- identify what kind of WordPress codebase this is (plugin vs theme vs block theme vs WP core checkout vs full site),
- pick the right workflow and guardrails,
- delegate to the most relevant domain skill(s).
Inputs required
- Repo root (current working directory).
- The user’s intent (what they want changed) and any constraints (WP version targets, WP.com specifics, release requirements).
Procedure
- Run the project triage script:
node skills/wp-project-triage/scripts/detect_wp_project.mjs
- Read the triage output and classify:
- primary project kind(s),
- tooling available (PHP/Composer, Node, @wordpress/scripts),
- tests present (PHPUnit, Playwright, wp-env),
- any version hints.
- Route to domain workflows based on user intent + repo kind:
- For the decision tree, read:
skills/wordpress-router/references/decision-tree.md.
- For the decision tree, read:
- Apply guardrails before making changes:
- Confirm any version constraints if unclear.
- Prefer the repo’s existing tooling and conventions for builds/tests.
Verification
- Re-run the triage script if you create or restructure significant files.
- Run the repo’s lint/test/build commands that the triage output recommends (if available).
Failure modes / debugging
- If triage reports
kind: unknown, inspect:- root
composer.json,package.json,style.css,block.json,theme.json,wp-content/.
- root
- If the repo is huge, consider narrowing scanning scope or adding ignore rules to the triage script.
Escalation
- If routing is ambiguous, ask one question:
- “Is this intended to be a WordPress plugin, a theme (classic/block), or a full site repo?”
Related skills
More from wordpress/agent-skills and the wider catalog.

wp-plugin-development
Develop WordPress plugins with architecture, hooks, security, and release guidance.

wp-rest-api
Build, extend, and debug WordPress REST API endpoints with schema validation, authentication, and custom fields.

wp-block-themes
Develop WordPress block themes with theme.json, templates, patterns, and Site Editor debugging.

wp-performance
Diagnose and optimize WordPress performance using WP-CLI profiling, Query Monitor, and targeted fixes.

wp-block-development
Develop WordPress Gutenberg blocks with block.json, registration, rendering, and deprecation workflows.

wp-project-triage
Deterministic inspection of WordPress repositories with structured JSON reports for workflow guidance.