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?”