mcpField
W
wp-abilities-api

wp-abilities-api

github.com/automattic開発211299 回インストール39 週間前に更新
リポジトリ

wp-abilities-api について

wp-abilities-api は、WordPress の PHP、REST、JavaScript で Abilities API を実装・調査する開発者向けスキルです。登録、クライアントからの可視性、バージョン制約を扱います。

主な機能

  1. 01PHP でアビリティとカテゴリを登録
  2. 02REST 経由でアビリティを公開
  3. 03@wordpress/abilities でアビリティを利用
  4. 04登録や可視性の問題を調査
  5. 05WordPress のバージョン制約を確認

活用シーン

  1. 01プラグインやテーマにアビリティを追加
  2. 02REST クライアントにアビリティを公開
  3. 03REST や JavaScript での表示問題を調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/automattic/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_init
  • wp_abilities_api_categories_init
  • wp-abilities/v1
  • @wordpress/abilities

見つからない場合は、Abilities API を新たに導入する(新規登録とクライアント側での利用)か、利用のみを行うかを判断します。

3) カテゴリーを登録する(任意)

論理的なグループ分けが必要な場合は、アビリティカテゴリーを早い段階で登録します(references/php-registration.md を参照)。

4) アビリティを登録する(PHP)

PHP の登録処理でアビリティを実装し、次を設定します。

  • 安定した id(名前空間付き)
  • label/description
  • category
  • meta:
    • アビリティが情報提供のみの場合は、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.md
    • references/php-registration.md

コメント