Enseña a tu agente de programación a escribir Blueprints de WordPress Playground


La nueva habilidad de agente para blueprints enseña a tu agente de programación el esquema de Playground Blueprint, que define nombres de propiedades válidos, tipos de recursos y secuenciación de pasos. Se acabó usar pluginZipFile en lugar de pluginData. Se acabaron los pasos runPHP a los que les falta require '/wordpress/wp-load.php'.

Instálala una vez y tu agente generará JSONJSON JSON, o JavaScript Object Notation, es un formato mínimo y legible para estructurar datos. Se utiliza principalmente para transmitir datos entre un servidor y una aplicación web, como alternativa a XML. de Blueprint válido con un alto índice de éxito y, lo mejor de todo, mediante lenguaje natural. Es perfecto para probar ideas nuevas, encontrar casos límite en tus plugins y temas, y crear demostraciones a partir de tus proyectos.

Qué hace la habilidad de Blueprint

La habilidad es una referencia estructurada en Markdown que tu agente de programación carga en su contexto. Incluye:

  • Cada propiedad de nivel superior: landingPage, preferredVersions, features, steps, abreviaturas (login, plugins, siteOptions, constants)
  • Todos los tipos de recursos: wordpress.org/plugins, wordpress.org/themes, url, git:directory, literal:directory, bundled
  • Referencia de pasos: installPlugin, writeFile, writeFiles, runPHP, wp-cli, runSql y más
  • Errores comunes: una tabla de dificultades con las que el agente compara el resultado antes de generarlo
  • Paquetes de Blueprint: paquetes independientes con recursos incluidos

El agente lee esta referencia antes de escribir cualquier Blueprint. En lugar de adivinar los nombres de las propiedades, sigue el esquema documentado.

Cómo instalar la habilidad

Para instalarla rápidamente, usa la CLICLI Interfaz de línea de comandos. Terminal (Bash) en Mac, Símbolo del sistema en Windows o WP-CLI para WordPress. de npx skills para añadir la habilidad de Blueprint a tu proyecto:

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

También puedes instalarla manualmente clonando el repositorio agent-skills y ejecutando el script de compilación:

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 habilidad funciona con Claude Code, Gemini CLI, GitHubGitHub GitHub es un sitio web que ofrece una implementación en línea de repositorios git que otros desarrolladores pueden compartir, copiar y modificar fácilmente. Los repositorios públicos son gratuitos; los privados requieren una suscripción de pago. GitHub introdujo el concepto de «pull request», mediante el cual los cambios de código realizados en ramas por colaboradores pueden revisarse y debatirse antes de que el propietario del repositorio los fusione. https://github.com/ Copilot, Cursor y Codex.

Cinco ejemplos

Cada ejemplo muestra una indicación que das a tu agente y el Blueprint que produce. Son situaciones del mundo real en las que la habilidad de Blueprint evita errores comunes.

1. Entorno de desarrollo rápido

Indicación:

Create a Blueprint that sets up a development environment with
debug mode, the Developer plugin, and landing on the admin dashboard.

Blueprint generado:

{
  "$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": []
}

Observa cómo el agente usa la abreviatura constants en lugar de un paso defineWpConfigConsts, y login: true en lugar de un paso de inicio de sesión independiente. La habilidad enseña a los agentes a elegir abreviaturas para casos sencillos y pasos explícitos cuando el orden importa.

WordPress Admin panel showing the Developer plugin enabled via blueprint

2. PluginPlugin Un plugin es un componente de software que contiene un grupo de funciones que se pueden añadir a un sitio web de WordPress. Pueden ampliar la funcionalidad o añadir nuevas características a tus sitios web de WordPress. Los plugins de WordPress están escritos en el lenguaje de programación PHP y se integran perfectamente con WordPress. Pueden ser gratuitos en el directorio de plugins de WordPress.org https://wordpress.org/plugins/ o ser plugins de pago de terceros. desde una rama de GitHub

Indicación:

Write a Blueprint that installs my plugin from the feature/checkout-v2
branch on GitHub and activates it.

Blueprint generado:

{
  "$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 }
    }
  ]
}

Sin la habilidad, los agentes suelen omitir refType, lo que hace que git:directory falle con nombres de ramas. La tabla de errores comunes de la habilidad lo señala explícitamente: «Omitir refType con ref de rama/etiqueta: es obligatorio; sin él solo funciona HEAD».

3. Tienda WooCommerce con productos de muestra

Indicación:

Create a Blueprint for a WooCommerce store with 5 sample products
across 2 categories, running on PHP 8.2.

Blueprint generado:

{
  "$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 habilidad garantiza que el agente incluya require '/wordpress/wp-load.php' al principio de cada paso runPHP. Sin esta línea, todas las funciones de WordPress fallan silenciosamente, un error que los agentes cometen con frecuencia sin la referencia de la habilidad.

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

4. Plugin mu integrado para comportamiento personalizado

Indicación:

Write a Blueprint that disables the admin bar and adds a custom
dashboard widget showing the server's PHP version.

Blueprint generado:

{
  "$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});"
    }
  ]
}

El agente usa writeFile para crear un mu-plugin, que se carga automáticamente sin activación. La habilidad documenta explícitamente este patrón y advierte a los agentes que no añadan require wp-load.php dentro del código del plugin mu (esa línea solo se necesita en los pasos runPHP).

5. Paquete de Blueprint con un plugin personalizado

Indicación:

Create a Blueprint bundle that installs a custom analytics plugin
from a local zip file.

Estructura del paquete generado:

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 }
    }
  ]
}

Ejecutarlo localmente:

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

La opción --blueprint-may-read-adjacent-files es obligatoria para los paquetes en directorios. Sin ella, cualquier referencia a un recurso bundled falla con un error de «Archivo no encontrado». La habilidad documenta este detalle, por lo que los agentes incluyen la opción automáticamente.

Cómo encaja la habilidad de Blueprint con otras herramientas

La habilidad de Blueprint funciona junto con otras dos herramientas de Playground para agentes de IA:

Herramienta Qué hace Cuándo usarla
Habilidad de Blueprint Genera JSON de Blueprint válido Cuando necesitas un archivo Blueprint para compartirlo, controlar sus versiones o usarlo en CI
Habilidad de wp-playground Ejecuta comandos de CLI, administra servidores y depura instancias Cuando necesitas una instancia de Playground en ejecución con interacción en directo
Servidor MCP Conecta los agentes directamente con un Playground en el navegador Cuando necesitas ejecución de PHPPHP PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de scripting de código abierto y propósito general muy utilizado, especialmente adecuado para el desarrollo web y que puede integrarse en HTML. https://www.php.net/manual/en/index.php y manipulación de archivos en tiempo real

Usa la habilidad de Blueprint cuando quieras una configuración portátil y reproducible. Usa la habilidad de wp-playground cuando necesites un servidor en ejecución. Combínalas: genera un Blueprint con la habilidad de Blueprint y, después, ejecútalo con los comandos de CLI de la habilidad de wp-playground.

Prueba tus Blueprints

URLURL Una dirección web específica de un sitio o página web en Internet, como la URL de un sitio web: www.wordpress.org integrada (prueba rápida)

Minifica el JSON del Blueprint y añádelo a la URL de Playground:

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

CLI local (prueba completa)

# 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

Empieza

Instala la habilidad de Blueprint en tu proyecto:

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

Después, pídele a tu agente que escriba un Blueprint. Describe lo que necesitas: plugins, temas, contenido y configuración; el agente producirá JSON válido que se ejecutará al primer intento.

Comparte lo que crees en el canal #playground de Making WordPress Slack o abre un issue en GitHub.

#agent-skills, #ai