wp-abilities-api
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.
Best use case
wp-abilities-api is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using wp-abilities-api should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/wp-abilities-api/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How wp-abilities-api Compares
| Feature / Agent | wp-abilities-api | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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-triage` first 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 ### 1) Confirm availability and version constraints - If this is WP core work, check `signals.isWpCoreCheckout` and `versions.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_init` - `wp_abilities_api_categories_init` - `wp-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) Implement the ability in PHP registration with: - stable `id` (namespaced), - `label`/`description`, - `category`, - `meta`: - add `readonly: true` when the ability is informational, - set `show_in_rest: true` for abilities you want visible to clients. Use the documented init hooks for Abilities API registration so they load at the right time (see `references/php-registration.md`). ### 5) Confirm REST exposure - Verify the REST endpoints exist and return expected results (see `references/rest-api.md`). - If the client still can’t see the ability, confirm `meta.show_in_rest` is enabled and you’re querying the right endpoint. ### 6) Consume from JS (if needed) - Prefer `@wordpress/abilities` APIs for client-side access and checks. - Ensure build tooling includes the dependency and the project’s build pipeline bundles it. ## Verification - `wp-project-triage` indicates `signals.usesAbilitiesApi: true` after your change (if applicable). - REST check (in a WP environment): endpoints under `wp-abilities/v1` return your ability and category when expected. - If the repo has tests, add/update coverage near: - PHP: ability registration and meta exposure - JS: ability consumption and UI gating ## Failure modes / debugging - Ability never appears: - registration code not running (wrong hook / file not loaded), - missing `meta.show_in_rest`, - incorrect category/ID mismatch. - REST shows ability but JS doesn’t: - wrong REST base/namespace, - JS dependency not bundled, - caching (object/page caches) masking changes. ## Escalation - If you’re uncertain about version support, confirm target WP core versions and whether Abilities API is expected from core or as a plugin. - For canonical details, consult: - `references/rest-api.md` - `references/php-registration.md`
Related Skills
wpds
Use when building UIs leveraging the WordPress Design System (WPDS) and its components, tokens, patterns, etc.
wp-wpcli-and-ops
Use when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export/import, plugin/theme/user/content management, cron, cache flushing, multisite, and scripting/automation with wp-cli.yml.
wp-rest-api
Use when building, extending, or debugging WordPress REST API endpoints/routes: register_rest_route, WP_REST_Controller/controller classes, schema/argument validation, permission_callback/authentication, response shaping, register_rest_field/register_meta, or exposing CPTs/taxonomies via show_in_rest.
wp-project-triage
Use when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a structured JSON report to guide workflows and guardrails.
wp-plugin-development
Use when developing WordPress plugins: architecture and hooks, activation/deactivation/uninstall, admin UI and Settings API, data storage, cron/tasks, security (nonces/capabilities/sanitization/escaping), and release packaging.
wp-playground
Use for WordPress Playground workflows: fast disposable WP instances in the browser or locally via @wp-playground/cli (server, run-blueprint, build-snapshot), auto-mounting plugins/themes, switching WP/PHP versions, blueprints, and debugging (Xdebug).
wp-phpstan
Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.
wp-performance
Use when investigating or improving WordPress performance (backend-only agent): profiling and measurement (WP-CLI profile/doctor, Server-Timing, Query Monitor via REST headers), database/query optimization, autoloaded options, object caching, cron, HTTP API calls, and safe verification.
wp-interactivity-api
Use when building or debugging WordPress Interactivity API features (data-wp-* directives, @wordpress/interactivity store/state/actions, block viewScriptModule integration, wp_interactivity_*()) including performance, hydration, and directive behavior.
wp-block-themes
Use when developing WordPress block themes: theme.json (global settings/styles), templates and template parts, patterns, style variations, and Site Editor troubleshooting (style hierarchy, overrides, caching).
wp-block-development
Use when developing WordPress (Gutenberg) blocks: block.json metadata, register_block_type(_from_metadata), attributes/serialization, supports, dynamic rendering (render.php/render_callback), deprecations/migrations, viewScript vs viewScriptModule, and @wordpress/scripts/@wordpress/create-block build and test workflows.
wordpress-woocommerce-dev
資深 WordPress 與 WooCommerce PHP 開發專家(Miyoshi)。精通 WordPress Plugin/Theme 架構、WooCommerce 擴充開發、PHP 8.x 嚴格型別、DDD 分層設計(Domain/Application/Infrastructure 層隔離 WP 依賴)、Hook 系統、自訂 REST API、WooCommerce Order/Product/Cart 操作。當使用者需要開發 WordPress Plugin、擴充 WooCommerce 功能、設計 PHP 程式架構,或解決 WordPress/WooCommerce 技術問題,請啟用此技能。