コーディングエージェントにWordPress Playgroundのブループリントの書き方を教える


新しいBlueprintエージェントスキルは、コーディングエージェントにPlayground Blueprintスキーマを教えます。このスキーマは、有効なプロパティ名、リソースタイプ、ステップの順序を定義します。pluginDataの代わりにpluginZipFileを使うことはもうありません。require '/wordpress/wp-load.php'がないrunPHPステップもなくなります。

一度インストールすれば、エージェントは自然言語で、成功率の高い有効なBlueprint JSONJSON JSON(JavaScript Object Notation)は、データを構造化するための、最小限で読みやすい形式です。主にサーバーとウェブアプリケーション間でデータを送信するために、XMLの代替として使用されます。を生成します。しかも最大のメリットは、すべて自然言語で行えることです。これは、新しいアイデアのテスト、プラグインやテーマのエッジケースの発見、プロジェクトからのデモ作成に最適です。

Blueprintスキルが行うこと

このスキルは、コーディングエージェントがコンテキストに読み込む、構造化されたMarkdownリファレンスです。次の内容を扱います。

  • すべてのトップレベルプロパティlandingPagepreferredVersionsfeaturessteps、短縮形(loginpluginssiteOptionsconstants
  • すべてのリソースタイプwordpress.org/pluginswordpress.org/themesurlgit:directoryliteral:directorybundled
  • ステップリファレンスinstallPluginwriteFilewriteFilesrunPHPwp-clirunSqlなど
  • よくある間違い:出力を生成する前にエージェントが照合する、落とし穴の一覧表
  • Blueprintバンドル:バンドルされたリソースを含む自己完結型パッケージ

エージェントはBlueprintを書く前に、このリファレンスを読み込みます。プロパティ名を推測するのではなく、文書化されたスキーマに従います。

スキルのインストール方法

すばやくインストールするには、npx skills CLICLI コマンドラインインターフェース。Macのターミナル(Bash)、Windowsのコマンドプロンプト、またはWordPress用のWP-CLIを指します。を使って、プロジェクトにBlueprintスキルを追加します。

npx skills add wordpress/agent-skills --skill blueprint

または、agent-skillsリポジトリをクローンし、ビルドスクリプトを実行して手動でインストールします。

git clone https://github.com/WordPress/agent-skills.git
cd agent-skills
node shared/scripts/skillpack-build.mjs --clean
node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=claude,gemini,codex,cursor,vscode

このスキルは、Claude Code、Gemini CLI、GitHubGitHub GitHubは、gitリポジトリをオンラインで実装できるウェブサイトです。リポジトリは他の開発者と簡単に共有、コピー、変更できます。公開リポジトリは無料でホスティングでき、非公開リポジトリには有料サブスクリプションが必要です。GitHubは、コントリビューターがブランチで行ったコード変更をリポジトリ所有者がマージする前にレビューし、議論できる「プルリクエスト」の概念を導入しました。https://github.com/ Copilot、Cursor、Codexで動作します。

5つの例

以下の各例では、エージェントに与えるプロンプトと、エージェントが生成するBlueprintを示します。Blueprintスキルによってよくあるエラーを防げる、実際のユースケースです。

1. すばやい開発環境

プロンプト:

デバッグモード、Developerプラグイン、そして管理ダッシュボードをランディング先とする開発環境をセットアップするBlueprintを作成してください。

生成されたBlueprint:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/wp-admin/",
  "preferredVersions": { "php": "8.3", "wp": "latest" },
  "features": { "networking": true },
  "constants": {
    "WP_DEBUG": true,
    "WP_DEBUG_LOG": true
  },
  "login": true,
  "plugins": ["developer"],
  "steps": []
}

エージェントがdefineWpConfigConstsステップの代わりにconstants短縮形を使い、個別のログインステップの代わりにlogin: trueを使っていることに注目してください。このスキルは、単純なケースでは短縮形を、順序が重要な場合には明示的なステップを選ぶようエージェントに教えます。

WordPress Admin panel showing the Developer plugin enabled via blueprint

2. GitHubブランチからのプラグインPlugin プラグインとは、WordPressウェブサイトに追加できる一連の機能を含むソフトウェアです。WordPressサイトの機能を拡張したり、新しい機能を追加したりできます。WordPressプラグインはPHPプログラミング言語で記述され、WordPressとシームレスに統合されます。WordPress.orgのプラグインディレクトリhttps://wordpress.org/plugins/で無料提供されているものや、第三者が有料で提供するものがあります。

プロンプト:

GitHubのfeature/checkout-v2
ブランチから自分のプラグインをインストールし、有効化するBlueprintを書いてください。

生成されたBlueprint:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/wp-admin/plugins.php",
  "preferredVersions": { "php": "8.3", "wp": "latest" },
  "steps": [
    { "step": "login" },
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "git:directory",
        "url": "https://github.com/your-org/your-plugin",
        "ref": "feature/checkout-v2",
        "refType": "branch",
        "path": "/"
      },
      "options": { "activate": true }
    }
  ]
}

このスキルがない場合、エージェントはrefTypeを省略することが多く、ブランチ名ではgit:directoryが失敗します。このスキルの「よくある間違い」表では、これを明確に指摘しています。「ブランチ/タグのrefrefTypeを省略する — 必須。これがなくても機能するのはHEADのみ。」

3. サンプル商品付きWooCommerceストア

プロンプト:

2つのカテゴリーにまたがる5つのサンプル商品を含み、PHP 8.2で動作するWooCommerceストア用のBlueprintを作成してください。

生成されたBlueprint:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/shop/",
  "preferredVersions": { "php": "8.2", "wp": "latest" },
  "features": { "networking": true },
  "steps": [
    { "step": "login" },
    {
      "step": "installPlugin",
      "pluginData": { "resource": "wordpress.org/plugins", "slug": "woocommerce" },
      "options": { "activate": true }
    },
    {
      "step": "runPHP",
      "code": "<?php\nrequire '/wordpress/wp-load.php';\n\n// Create categories\n$cat_clothing = wp_insert_term('Clothing', 'product_cat');\n$cat_accessories = wp_insert_term('Accessories', 'product_cat');\n\n$products = [\n  ['T-Shirt', 29.99, $cat_clothing['term_id']],\n  ['Hoodie', 59.99, $cat_clothing['term_id']],\n  ['Jeans', 49.99, $cat_clothing['term_id']],\n  ['Watch', 89.99, $cat_accessories['term_id']],\n  ['Backpack', 39.99, $cat_accessories['term_id']]\n];\n\nforeach ($products as [$title, $price, $cat_id]) {\n  $post_id = wp_insert_post([\n    'post_title' => $title,\n    'post_type' => 'product',\n    'post_status' => 'publish'\n  ]);\n  update_post_meta($post_id, '_regular_price', $price);\n  update_post_meta($post_id, '_price', $price);\n  wp_set_object_terms($post_id, [$cat_id], 'product_cat');\n}\n"
    }
  ]
}

このスキルにより、エージェントはすべてのrunPHPステップの先頭にrequire '/wordpress/wp-load.php'を含めます。この行がないと、すべてのWordPress関数が黙って失敗します。これは、スキルのリファレンスがない場合にエージェントが頻繁に犯すミスです。

WordPress Playground Loading a store with 5 products in a woo store.

4. カスタム動作用のインラインmu-plugin

プロンプト:

管理バーを無効にし、サーバーのPHPバージョンを表示するカスタムダッシュボードウィジェットを追加するBlueprintを書いてください。

生成されたBlueprint:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/wp-admin/",
  "preferredVersions": { "php": "8.3", "wp": "latest" },
  "steps": [
    { "step": "login" },
    {
      "step": "writeFile",
      "path": "/wordpress/wp-content/mu-plugins/custom-dashboard.php",
      "data": "<?php\nadd_filter('show_admin_bar', '__return_false');\n\nadd_action('wp_dashboard_setup', function() {\n  wp_add_dashboard_widget(\n    'php_version_widget',\n    'PHP Version',\n    function() {\n      echo '<p>Running PHP ' . phpversion() . '</p>';\n    }\n  );\n});"
    }
  ]
}

エージェントはwriteFileを使ってmu-pluginを作成します。これは有効化しなくても自動的に読み込まれます。このスキルではこのパターンを明確に文書化し、エージェントにmu-pluginコード内へrequire wp-load.phpを追加しないよう警告しています(この行が必要なのはrunPHPステップだけです)。

5. カスタムプラグイン付きBlueprintバンドル

プロンプト:

ローカルのzipファイルからカスタム分析プラグインをインストールするBlueprintバンドルを作成してください。

生成されたバンドル構造:

analytics-bundle/
├── blueprint.json
└── analytics-plugin.zip

blueprint.json:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/wp-admin/plugins.php",
  "preferredVersions": { "php": "8.3", "wp": "latest" },
  "steps": [
    { "step": "login" },
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "bundled",
        "path": "/analytics-plugin.zip"
      },
      "options": { "activate": true }
    }
  ]
}

ローカルで実行:

npx @wp-playground/cli server --blueprint=./analytics-bundle/ --blueprint-may-read-adjacent-files

ディレクトリバンドルには--blueprint-may-read-adjacent-filesフラグが必要です。これがないと、bundledリソースへの参照は「File not found」エラーで失敗します。このスキルではこの注意点を文書化しているため、エージェントは自動的にフラグを含めます。

Blueprintスキルと他のツールの連携

Blueprintスキルは、AIエージェント向けの他の2つのPlaygroundツールと連携します。

ツール 機能 使用するタイミング
Blueprintスキル 有効なBlueprint JSONを生成 共有、バージョン管理、CI用のBlueprintファイルが必要な場合
wp-playgroundスキル CLIコマンドの実行、サーバーの管理、インスタンスのデバッグ ライブ操作可能な実行中のPlaygroundインスタンスが必要な場合
MCPサーバー エージェントをブラウザーのPlaygroundに直接接続 リアルタイムのPHPPHP PHP(PHP: Hypertext Preprocessorの再帰的頭字語)は、広く使われているオープンソースの汎用スクリプト言語です。特にウェブ開発に適しており、HTMLに埋め込むことができます。https://www.php.net/manual/en/index.php実行とファイル操作が必要な場合

移植可能で再現性のある設定が必要な場合はBlueprintスキルを使います。実行中のサーバーが必要な場合はwp-playgroundスキルを使います。両方を組み合わせることもできます。BlueprintスキルでBlueprintを生成し、wp-playgroundスキルのCLIコマンドで起動します。

Blueprintをテストする

インラインURLURL インターネット上のウェブサイトやウェブページの特定のアドレス。たとえばウェブサイトのURL www.wordpress.org(クイックテスト)

Blueprint JSONを最小化し、Playground URLに追加します。

https://playground.wordpress.net/#{"preferredVersions":{"php":"8.3","wp":"latest"},"steps":[{"step":"login"}]}

ローカルCLI(完全テスト)

# Blueprintでサーバーを起動
npx @wp-playground/cli server --blueprint=./blueprint.json

# ヘッドレス検証(実行して終了)
npx @wp-playground/cli run-blueprint --blueprint=./blueprint.json

始める

プロジェクトにBlueprintスキルをインストールします。

npx skills add wordpress/agent-skills --skill blueprint

次に、エージェントへBlueprintの作成を依頼します。必要なもの(プラグイン、テーマ、コンテンツ、設定)を説明すれば、エージェントが初回から実行できる有効なJSONを生成します。

作成したものを#playgroundチャンネル(Making WordPress Slack)で共有するか、GitHubで課題を開いてください。

#agent-skills#ai