wordpress-router

Classify WordPress codebases and route to the correct workflow for plugins, themes, blocks, and core checkouts. Runs automated project triage to identify repo type (plugin, theme, block theme, Gutenberg blocks, WP core) and available tooling Outputs classification results and decision tree routing to domain-specific skills based on user intent and project kind Requires repo root access and bash/Node filesystem operations; some workflows need WP-CLI Targets WordPress 6.9+ with PHP 7.2.24+;...

npx skills add https://github.com/wordpress/agent-skills --skill wordpress-router

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

More skills from wordpress

blueprint
wordpress
Use when creating, editing, or reviewing WordPress Playground blueprint JSON files. Triggers on mentions of blueprints, playground configuration, or requests…
official
wp-abilities-api
wordpress
WordPress Abilities API registration, REST exposure, and client-side consumption for WordPress 6.9+. Register abilities and categories in PHP using wp_register_ability() and wp_register_ability_category() with stable IDs, labels, and metadata Expose abilities to clients via the /wp-json/wp-abilities/v1/ REST endpoints by setting meta.show_in_rest: true Consume abilities in JavaScript using the @wordpress/abilities package for client-side access and permission checks Requires WordPress 6.9+...
official
wp-abilities-audit
wordpress
Audit a WordPress plugin's REST surface and produce a standardized audit document proposing Abilities API registrations. Produces a markdown doc with a YAML…
official
wp-abilities-verify
wordpress
Verify a WordPress plugin's Abilities API registrations: enumerate abilities, check that callback behavior matches each annotation's claim (the adversarial…
official
wp-block-development
wordpress
WordPress block development for Gutenberg: metadata, registration, rendering, and build workflows. Covers block creation, block.json configuration, static vs. dynamic rendering, and server-side PHP registration with register_block_type_from_metadata() Enforces apiVersion: 3 for WordPress 6.9+ compatibility, including iframe editor support and style isolation Handles attribute serialization, deprecations/migrations to prevent "Invalid block" errors, and inner blocks composition Includes...
official
wp-block-themes
wordpress
WordPress block theme development: theme.json, templates, patterns, and Site Editor troubleshooting. Covers theme.json editing (presets, settings, per-block styles), templates and template parts, patterns, and style variations across WordPress 6.9+ Includes triage scripts to detect theme roots and block theme structure, plus guided procedures for creating new themes or converting classic themes Provides debugging workflows for style hierarchy issues, user customization overrides, and Site...
official
wp-interactivity-api
wordpress
Use when building or debugging WordPress Interactivity API features (data-wp-* directives, @wordpress/interactivity store/state/actions, block viewScriptModule…
official
wp-patterns
wordpress
Generate technically correct, design-distinctive WordPress block patterns. Use when creating block patterns, starter page patterns, template patterns, template…
official