
Wordpress Router
- 3.2k installs
- 1.9k repo stars
- Updated July 27, 2026
- wordpress/agent-skills
wordpress-router is a WordPress agent skill that triages repositories with detect_wp_project.mjs and routes tasks to the appropriate plugin, theme, or site workflow.
About
WordPress Router is the entry skill for WordPress agent tasks on repositories running WordPress 6.9 or newer with PHP 7.2.24 plus, using a filesystem-based agent with bash and node tooling. The procedure runs node skills/wp-project-triage/scripts/detect_wp_project.mjs from the repo root, reads the triage JSON to classify project kind, available PHP Composer and Node tooling, PHPUnit or Playwright or wp-env tests, and version hints, then delegates to domain skills via the decision-tree reference based on user intent. Guardrails require confirming version constraints when unclear and preferring existing repo conventions for builds and tests before making changes. Verification re-runs triage after significant file creation or restructure and executes lint, test, and build commands recommended in triage output when present. Failure modes cover unknown kind when composer.json, package.json, style.css, block.json, theme.json, or wp-content signals are missing, with escalation to ask whether the target is a plugin, classic or block theme, or full site repo. Some workflows depend on WP-CLI availability noted in compatibility metadata.
- Entry router skill that triages WordPress repos before domain-specific work begins.
- Runs detect_wp_project.mjs to classify plugin, theme, block theme, or site checkout.
- Reads decision-tree.md to delegate intent to the correct WordPress domain skill.
- Detects PHPUnit, Playwright, wp-env, Composer, and Node tooling from triage output.
- Re-runs triage and repo lint or test commands after structural changes.
Wordpress Router by the numbers
- 3,171 all-time installs (skills.sh)
- +199 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #6 of 65 PHP & Laravel skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
wordpress-router capabilities & compatibility
- Capabilities
- automated wordpress project kind detection via d · tooling inventory for composer, node, phpunit, p · decision tree delegation to domain specific word · version constraint guardrails and convention fol · post change triage re run and recommended test e
- Use cases
- orchestration · testing · documentation
npx skills add https://github.com/wordpress/agent-skills --skill wordpress-routerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.2k |
|---|---|
| repo stars | ★ 1.9k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | wordpress/agent-skills ↗ |
What kind of WordPress codebase is this and which specialized skill should handle my plugin, theme, or block editing task?
Triage WordPress repos with detect_wp_project.mjs and route agent tasks to the correct plugin, theme, or block-theme workflow skills.
Who is it for?
Agents starting WordPress tasks who need automatic repo classification before plugin, theme, or block development work.
Skip if: Skip when the repo is not WordPress or the domain-specific skill is already known and triage is complete.
When should I use this skill?
User starts a WordPress task, needs project triage, or asks whether the repo is a plugin, theme, or full site.
What you get
Classified project kind with tooling inventory and delegation to the correct domain workflow plus recommended lint and test commands.
- triage classification JSON
- delegated domain skill routing
- recommended lint and test command list
By the numbers
- Targets WordPress 6.9+
- Requires PHP 7.2.24+
Files
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
1. Run the project triage script:
node skills/wp-project-triage/scripts/detect_wp_project.mjs
2. 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.
3. Route to domain workflows based on user intent + repo kind:
- For the decision tree, read:
skills/wordpress-router/references/decision-tree.md.
4. 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/. - 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?”
Router decision tree (v1)
This is a lightweight routing guide. It assumes you can run wp-project-triage first.
Step 1: classify repo kind (from triage)
Use triage.project.kind and the strongest signals:
wp-core→ treat as WordPress core checkout work (core patches, PHPUnit, build tools).wp-site→ treat as a full site repo (wp-content present; changes might be theme + plugins).wp-block-theme→ theme.json/templates/patterns workflows.wp-theme→ classic theme workflows (templates PHP,functions.php,style.css).wp-block-plugin→ Gutenberg block development in a plugin (block.json, build pipeline).wp-plugin/wp-mu-plugin→ plugin workflows (hooks, admin, settings, cron, REST, security).gutenberg→ Gutenberg monorepo workflows (packages, tooling, docs).
If multiple kinds match, prefer the most specific: gutenberg > wp-core > wp-site > wp-block-theme > wp-block-plugin > wp-theme > wp-plugin.
Step 2: route by user intent (keywords)
Route by intent even if repo kind is broad (like wp-site):
- *Interactivity API / data-wp- directives / @wordpress/interactivity / viewScriptModule**
- Route →
wp-interactivity-api. - Abilities API / wp_register_ability / wp-abilities/v1 / @wordpress/abilities
- Route →
wp-abilities-api. - Playground / run-blueprint / build-snapshot / @wp-playground/cli / playground.wordpress.net
- Route →
wp-playground. - Blocks / block.json / registerBlockType / attributes / save serialization
- Route →
wp-block-development. - *theme.json / Global Styles / templates/.html / patterns/**
- Route →
wp-block-themes. - Plugins / hooks / activation hook / uninstall / Settings API / admin pages
- Route →
wp-plugin-development. - REST endpoint / register_rest_route / permission_callback
- Route →
wp-rest-api. - WP-CLI / wp-cli.yml / commands
- Route →
wp-wpcli-and-ops. - Build tooling / @wordpress/scripts / webpack / Vite / npm scripts
- Route →
wp-build-tooling(planned). - Testing / PHPUnit / wp-env / Playwright
- Route →
wp-testing(planned). - PHPStan / static analysis / phpstan.neon / phpstan-baseline.neon
- Route →
wp-phpstan. - Performance / caching / query profiling / editor slowness
- Route →
wp-performance. - Security / nonces / capabilities / sanitization/escaping / uploads
- Route →
wp-security(planned).
Step 3: guardrails checklist (always)
- Verify detected tooling before suggesting commands (Composer vs npm/yarn/pnpm).
- Prefer existing lint/test scripts if present.
- If version constraints aren’t detectable, ask for target WP core and PHP versions.
Related skills
How it compares
Pick wordpress-router first for unknown WordPress repos; jump directly to specialist block, theme, or security skills once classification is settled.
FAQ
What script performs triage?
node skills/wp-project-triage/scripts/detect_wp_project.mjs run from the repository root.
What if triage reports kind unknown?
Inspect root composer.json, package.json, style.css, block.json, theme.json, and wp-content, or ask the user to clarify plugin versus theme intent.
What WordPress version does it target?
WordPress 6.9 or newer with PHP 7.2.24 or newer per the skill compatibility metadata.
Is Wordpress Router safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.