wp-abilities-api について
WordPress 開発者向けの Abilities API スキルです。PHP での登録、REST への公開、JavaScript からの利用、問題の切り分けを扱います。
主な機能
- 01アビリティとカテゴリの登録
- 02REST 経由でアビリティを公開
- 03JavaScript からアビリティを利用
- 04公開状態や REST の問題を調査
活用シーン
- 01プラグインやテーマへのアビリティ追加
- 02REST クライアントへのアビリティ公開
- 03REST や JS で見つからない問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ firecrawl/ agent-skills --skill wp-abilities-apiインストール後、Claude Code で/wp-abilities-apiを入力して読み込まれたか確認します。
同梱ファイルreferences/php-registration.mdreferences/rest-api.md
詳細
WP Abilities API
使用する場面
次のようなタスクでは、このスキルを使用します。
- PHP でアビリティまたはアビリティカテゴリーを登録する
- REST(
wp-abilities/v1)経由でクライアントにアビリティを公開する - JS(特に
@wordpress/abilities)でアビリティを利用する - 「アビリティが表示されない」「クライアントからアビリティが見えない」「REST の応答が空になる」といった問題を診断する
必要な入力
- リポジトリのルート(まだ実行していない場合は、先に
wp-project-triageを実行します)。 - 対象となる WordPress のバージョンと、WP コアまたはプラグイン/テーマのどちらに関する作業か。
- 変更を配置する場所(プラグイン、テーマ、mu-plugin のいずれか)。
手順
1) 利用可能かどうかとバージョンの制約を確認する
- WP コアに関する作業の場合は、
signals.isWpCoreCheckoutとversions.wordpress.coreを確認します。 - プロジェクトが WP < 6.9 を対象としている場合、コアに依存するのではなく、Abilities API プラグイン/パッケージが必要になることがあります。
2) 既存の Abilities の使用箇所を探す
リポジトリ内で次を検索します。
wp_register_ability(wp_register_ability_category(wp_abilities_api_initwp_abilities_api_categories_initwp-abilities/v1@wordpress/abilities
見つからない場合は、Abilities API を新たに導入する(新規登録とクライアント側での利用)か、利用のみを行うかを判断します。
3) カテゴリーを登録する(任意)
論理的なグループ分けが必要な場合は、アビリティカテゴリーを早い段階で登録します(references/php-registration.md を参照)。
4) アビリティを登録する(PHP)
PHP の登録処理でアビリティを実装し、次を設定します。
- 安定した
id(名前空間付き) label/descriptioncategorymeta:- アビリティが情報提供のみの場合は、
readonly: trueを追加します。 - クライアントから見えるようにするアビリティでは、
show_in_rest: trueを設定します。
- アビリティが情報提供のみの場合は、
Abilities API の登録には、ドキュメントに記載された init フックを使用し、適切なタイミングで読み込まれるようにします(references/php-registration.md を参照)。
5) REST で公開されていることを確認する
- REST エンドポイントが存在し、期待した結果を返すことを確認します(
references/rest-api.mdを参照)。 - それでもクライアントからアビリティが見えない場合は、
meta.show_in_restが有効になっていることと、正しいエンドポイントを問い合わせていることを確認します。
6) JS から利用する(必要な場合)
- クライアント側でのアクセスと確認には、
@wordpress/abilitiesの API を優先して使用します。 - ビルドツールに依存関係が含まれ、プロジェクトのビルドパイプラインでバンドルされることを確認します。
検証
- 変更後、該当する場合は
wp-project-triageにsignals.usesAbilitiesApi: trueが表示されること。 - REST の確認(WP 環境内):期待どおり、
wp-abilities/v1配下のエンドポイントがアビリティとカテゴリーを返すこと。 - リポジトリにテストがある場合は、次の箇所に近いテストを追加または更新します。
- PHP:アビリティの登録とメタデータの公開
- JS:アビリティの利用と UI の表示制御
失敗パターン/デバッグ
- アビリティがまったく表示されない:
- 登録コードが実行されていない(フックが間違っている/ファイルが読み込まれていない)
meta.show_in_restが設定されていない- カテゴリーまたは ID が一致していない
- REST ではアビリティが表示されるが、JS では表示されない:
- REST のベース URL/名前空間が間違っている
- JS の依存関係がバンドルされていない
- キャッシュ(オブジェクトキャッシュ/ページキャッシュ)が変更を隠している
エスカレーション
- バージョンのサポートが不明な場合は、対象となる WP コアのバージョンと、Abilities API がコアから提供される想定か、プラグインとして提供される想定かを確認します。
- 正式な詳細については、次を参照してください。
references/rest-api.mdreferences/php-registration.md
コメント
Markdown 対応