La nouvelle compétence blueprint agent enseigne à votre agent de codage le schéma Blueprint de Playground, qui définit les noms de propriétés valides, les types de ressources et l’ordre des étapes. Fini les pluginZipFile à la place de pluginData. Fini les étapes runPHP auxquelles il manque require '/wordpress/wp-load.php'.
Installez-la une fois, et votre agent génère du JSONJSON JSON, ou JavaScript Object Notation, est un format minimal et lisible permettant de structurer les données. Il est principalement utilisé pour transmettre des données entre un serveur et une application web, comme alternative à XML. Blueprint valide avec un taux de réussite élevé, et surtout en langage naturel. C’est idéal pour tester de nouvelles idées, trouver des cas limites dans vos extensions et thèmes, et créer des démonstrations à partir de vos projets.
Ce que fait la compétence blueprint
La compétence est une référence Markdown structurée que votre agent de codage charge dans son contexte. Elle couvre :
- Chaque propriété de niveau supérieur :
landingPage,preferredVersions,features,steps, les raccourcis (login,plugins,siteOptions,constants) - Tous les types de ressources :
wordpress.org/plugins,wordpress.org/themes,url,git:directory,literal:directory,bundled - Référence des étapes :
installPlugin,writeFile,writeFiles,runPHP,wp-cli,runSql, et bien plus - Erreurs courantes : un tableau des pièges que l’agent vérifie avant de générer la sortie
- Bundles Blueprint : des packages autonomes contenant des ressources intégrées
L’agent lit cette référence avant d’écrire un Blueprint. Au lieu de deviner les noms de propriétés, il suit le schéma documenté.
Comment installer la compétence
Pour une installation rapide, utilisez le CLICLI Interface de ligne de commande. Terminal (Bash) sur Mac, Invite de commandes sur Windows ou WP-CLI pour WordPress. npx skills pour ajouter la compétence blueprint à votre projet :
npx skills add wordpress/agent-skills --skill blueprint
Vous pouvez aussi l’installer manuellement en clonant le dépôt agent-skills et en exécutant le script de compilation :
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
La compétence fonctionne avec Claude Code, Gemini CLI, GitHubGitHub GitHub est un site web qui permet d’héberger des dépôts git en ligne, lesquels peuvent facilement être partagés, copiés et modifiés par d’autres développeurs. Les dépôts publics sont hébergés gratuitement ; les dépôts privés nécessitent un abonnement payant. GitHub a introduit le concept de « pull request », grâce auquel les modifications de code effectuées dans des branches par des contributeurs peuvent être examinées et discutées avant leur fusion par le propriétaire du dépôt. https://github.com/ Copilot, Cursor et Codex.
Cinq exemples
Chaque exemple ci-dessous présente une invite que vous donnez à votre agent et le Blueprint qu’il produit. Il s’agit de scénarios réels dans lesquels la compétence blueprint évite les erreurs courantes.
1. Environnement de développement rapide
Invite :
Create a Blueprint that sets up a development environment with
debug mode, the Developer plugin, and landing on the admin dashboard.
Blueprint généré :
{
"$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": []
}
Remarquez comment l’agent utilise le raccourci constants au lieu d’une étape defineWpConfigConsts, ainsi que login: true au lieu d’une étape de connexion distincte. La compétence apprend aux agents à choisir les raccourcis pour les cas simples et les étapes explicites lorsque l’ordre est important.

2. ExtensionExtension Une extension est un logiciel contenant un ensemble de fonctions qui peuvent être ajoutées à un site web WordPress. Elle peut étendre les fonctionnalités ou en ajouter de nouvelles à vos sites web WordPress. Les extensions WordPress sont écrites dans le langage de programmation PHP et s’intègrent parfaitement à WordPress. Elles peuvent être gratuites dans le répertoire des extensions WordPress.org https://wordpress.org/plugins/ ou être proposées par un tiers contre paiement. depuis une branche GitHub
Invite :
Write a Blueprint that installs my plugin from the feature/checkout-v2
branch on GitHub and activates it.
Blueprint généré :
{
"$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 }
}
]
}
Sans cette compétence, les agents omettent souvent refType, ce qui provoque l’échec de git:directory avec les noms de branches. Le tableau des erreurs courantes de la compétence le signale explicitement : « Omettre refType avec ref de branche/tag — obligatoire ; seul HEAD fonctionne sans cette propriété. »
3. Boutique WooCommerce avec des produits d’exemple
Invite :
Create a Blueprint for a WooCommerce store with 5 sample products
across 2 categories, running on PHP 8.2.
Blueprint généré :
{
"$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"
}
]
}
La compétence garantit que l’agent inclut require '/wordpress/wp-load.php' au début de chaque étape runPHP. Sans cette ligne, toutes les fonctions WordPress échouent silencieusement — une erreur que les agents commettent fréquemment sans la référence de la compétence.

4. Extension mu intégrée pour un comportement personnalisé
Invite :
Write a Blueprint that disables the admin bar and adds a custom
dashboard widget showing the server's PHP version.
Blueprint généré :
{
"$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});"
}
]
}
L’agent utilise writeFile pour créer une mu-plugin, qui se charge automatiquement sans activation. La compétence documente explicitement ce modèle et avertit les agents de ne pas ajouter require wp-load.php dans le code de l’extension mu (cette ligne est uniquement nécessaire dans les étapes runPHP).
5. Bundle Blueprint avec une extension personnalisée
Invite :
Create a Blueprint bundle that installs a custom analytics plugin
from a local zip file.
Structure du bundle généré :
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 }
}
]
}
Exécutez-le localement :
npx @wp-playground/cli server --blueprint=./analytics-bundle/ --blueprint-may-read-adjacent-files
L’option --blueprint-may-read-adjacent-files est obligatoire pour les bundles sous forme de répertoire. Sans elle, toute référence à une ressource bundled échoue avec une erreur « File not found ». La compétence documente ce piège, de sorte que les agents incluent automatiquement l’option.
Comment la compétence blueprint s’intègre aux autres outils
La compétence blueprint fonctionne avec deux autres outils Playground destinés aux agents d’IA :
| Outil | Ce qu’il fait | Quand l’utiliser |
|---|---|---|
| Compétence blueprint | Génère un JSON Blueprint valide | Lorsque vous avez besoin d’un fichier Blueprint à partager, à versionner ou à utiliser en CI |
| compétence wp-playground | Exécute des commandes CLI, gère des serveurs et débogue des instances | Lorsque vous avez besoin d’une instance Playground en cours d’exécution avec interaction en direct |
| Serveur MCP | Connecte directement les agents à un Playground dans le navigateur | Lorsque vous avez besoin d’une exécution PHPPHP PHP (acronyme récursif de PHP: Hypertext Preprocessor) est un langage de script généraliste open source très répandu, particulièrement adapté au développement web, qui peut être intégré au HTML. https://www.php.net/manual/en/index.php et d’une manipulation de fichiers en temps réel |
Utilisez la compétence blueprint lorsque vous souhaitez une configuration portable et reproductible. Utilisez la compétence wp-playground lorsque vous avez besoin d’un serveur en cours d’exécution. Combinez-les : générez un Blueprint avec la compétence blueprint, puis lancez-le avec les commandes CLI de la compétence wp-playground.
Testez vos Blueprints
URLURL Adresse web spécifique d’un site ou d’une page web sur Internet, telle que l’URL d’un site web www.wordpress.org intégrée (test rapide)
Minifiez le JSON du Blueprint et ajoutez-le à l’URL de Playground :
https://playground.wordpress.net/#{"preferredVersions":{"php":"8.3","wp":"latest"},"steps":[{"step":"login"}]}
CLI local (test complet)
# Start a server with your Blueprint
npx @wp-playground/cli server --blueprint=./blueprint.json
# Headless validation (runs and exits)
npx @wp-playground/cli run-blueprint --blueprint=./blueprint.json
Commencer
Installez la compétence blueprint dans votre projet :
npx skills add wordpress/agent-skills --skill blueprint
Demandez ensuite à votre agent d’écrire un Blueprint. Décrivez ce dont vous avez besoin : extensions, thèmes, contenu, configuration, et l’agent produira un JSON valide qui s’exécutera du premier coup.
Partagez ce que vous avez créé dans le canal #playground sur Making WordPress Slack ou ouvrez un ticket sur GitHub.