Wp Abilities API
Use when working with the WordPress Abilities API (wp_register_ability...
Install
npx skills add WordPress/agent-skills --skill wp-abilities-api -g -a claude-code -y- Repository
- WordPress/agent-skills2.3k
- Category
- Engineering
- Updated
- 10d ago
- License
- See repository
- Context cost
- Lightabout 1,210 tokens
- Runs scripts
- No, instructions only
What it does
Use when working with the WordPress Abilities API (wp_register_ability, wp_register_ability_category, /wp-json/wp-abilities/v1/*, @wordpress/abilities) including defining abilities, categories, meta, REST exposure, and permissions checks for clients.
WP Abilities API
When to use
Use this skill when the task involves:
- registering abilities or ability categories in PHP,
- exposing abilities to clients via REST (
wp-abilities/v1), - consuming abilities in JS (notably
@wordpress/abilities), - diagnosing “ability doesn’t show up” / “client can’t see ability” / “REST returns empty”.
Inputs required
- Repo root (run
wp-project-triagefirst if you haven’t). - Target WordPress version(s) and whether this is WP core or a plugin/theme.
- Where the change should live (plugin vs theme vs mu-plugin).
Procedure
Before deciding what to register, read references/domain-vs-projection.md, abilities live at the domain capability layer; MCP / Command Palette / REST exposure is a projection. Registration shape and exposure shape are different decisions, and conflating them forces re-registration every time a consumer's constraints change.
1) Confirm availability and version constraints
- If this is WP core work, check
signals.isWpCoreCheckoutandversions.wordpress.core. - If the project targets WP < 6.9, you may need the Abilities API plugin/package rather than relying on core.
2) Find existing Abilities usage
Search for these in the repo:
wp_register_ability(wp_register_ability_category(wp_abilities_api_initwp_abilities_api_categories_initwp-abilities/v1@wordpress/abilities
If none exist, decide whether you’re introducing Abilities API fresh (new registrations + client consumption) or only consuming.
3) Register categories (optional)
If you need a logical grouping, register an ability category early (see references/php-registration.md).
4) Register abilities (PHP)
For grouping decisions (how many abilities to register, and where to put filters vs. new ability names), read references/grouping-heuristic.md first, it keeps you from shipping one atomic ability per REST operation.
