Ensine seu agente de codificação a escrever Blueprints do WordPress Playground


A nova habilidade de agente para blueprints ensina ao seu agente de programação o esquema Blueprint do Playground, que define nomes de propriedades válidos, tipos de recursos e sequenciamento de etapas. Chega de usar pluginZipFile em vez de pluginData. Chega de etapas runPHP sem require '/wordpress/wp-load.php'.

Instale uma vez, e seu agente gerará JSONJSON JSON, ou JavaScript Object Notation, é um formato mínimo e legível para estruturar dados. É usado principalmente para transmitir dados entre um servidor e uma aplicação web, como alternativa ao XML. de Blueprint válido com uma alta taxa de sucesso e, o melhor de tudo, usando linguagem natural. Isso é perfeito para testar novas ideias, encontrar casos extremos nos seus Plugins e Temas e criar demonstrações a partir dos seus projetos.

O que a habilidade de blueprint faz

A habilidade é uma referência estruturada em Markdown que seu agente de programação carrega no contexto. Ela abrange:

  • Todas as propriedades de nível superior: landingPage, preferredVersions, features, steps, abreviações (login, plugins, siteOptions, constants)
  • Todos os tipos de recursos: wordpress.org/plugins, wordpress.org/themes, url, git:directory, literal:directory, bundled
  • Referência de etapas: installPlugin, writeFile, writeFiles, runPHP, wp-cli, runSql e outras
  • Erros comuns: uma tabela de armadilhas que o agente verifica antes de gerar a saída
  • Pacotes Blueprint: pacotes independentes com recursos incluídos

O agente lê esta referência antes de escrever qualquer Blueprint. Em vez de adivinhar nomes de propriedades, ele segue o esquema documentado.

Como instalar a habilidade

Para uma instalação rápida, use a npx skills CLICLI Interface de Linha de Comando. Terminal (Bash) no Mac, Prompt de Comando no Windows ou WP-CLI para WordPress. para adicionar a habilidade de blueprint ao seu projeto:

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

Ou instale manualmente clonando o repositório agent-skills e executando o script de compilação:

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

A habilidade funciona com Claude Code, Gemini CLI, GitHubGitHub GitHub é um site que oferece hospedagem on-line de repositórios git que podem ser facilmente compartilhados, copiados e modificados por outros desenvolvedores. Repositórios públicos são gratuitos para hospedar; repositórios privados exigem uma assinatura paga. O GitHub introduziu o conceito de ‘pull request’, no qual alterações de código feitas em branches por colaboradores podem ser revisadas e discutidas antes de serem mescladas pelo proprietário do repositório. https://github.com/ Copilot, Cursor e Codex.

Cinco exemplos

Cada exemplo abaixo mostra um prompt que você fornece ao seu agente e o Blueprint que ele produz. São cenários do mundo real nos quais a habilidade de blueprint evita erros comuns.

1. Ambiente de desenvolvimento rápido

Prompt:

Crie um Blueprint que configure um ambiente de desenvolvimento com
modo de depuração, o plugin Developer e acesso ao painel de administração.

Blueprint gerado:

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

Observe como o agente usa a abreviação constants em vez de uma etapa defineWpConfigConsts, e login: true em vez de uma etapa de login separada. A habilidade ensina os agentes a escolher abreviações para casos simples e etapas explícitas quando a ordem é importante.

WordPress Admin panel showing the Developer plugin enabled via blueprint

2. PluginPlugin Um plugin é um software que contém um conjunto de funções que podem ser adicionadas a um site WordPress. Eles podem ampliar funcionalidades ou adicionar novos recursos aos seus sites WordPress. Os plugins do WordPress são escritos na linguagem de programação PHP e se integram perfeitamente ao WordPress. Eles podem ser gratuitos no Diretório de Plugins do WordPress.org https://wordpress.org/plugins/ ou podem ser plugins pagos de terceiros. a partir de um branch do GitHub

Prompt:

Escreva um Blueprint que instale meu plugin a partir do branch feature/checkout-v2
no GitHub e o ative.

Blueprint gerado:

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

Sem a habilidade, os agentes costumam omitir refType, o que faz git:directory falhar para nomes de branches. A tabela de erros comuns da habilidade sinaliza isso explicitamente: “Omitir refType com ref de branch/tag — obrigatório; somente HEAD funciona sem ele.”

3. Loja WooCommerce com produtos de exemplo

Prompt:

Crie um Blueprint para uma loja WooCommerce com 5 produtos de exemplo
em 2 categorias, executada em PHP 8.2.

Blueprint gerado:

{
  "$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// Criar categorias\n$cat_clothing = wp_insert_term('Roupas', 'product_cat');\n$cat_accessories = wp_insert_term('Acessórios', 'product_cat');\n\n$products = [\n  ['Camiseta', 29.99, $cat_clothing['term_id']],\n  ['Moletom', 59.99, $cat_clothing['term_id']],\n  ['Calça jeans', 49.99, $cat_clothing['term_id']],\n  ['Relógio', 89.99, $cat_accessories['term_id']],\n  ['Mochila', 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"
    }
  ]
}

A habilidade garante que o agente inclua require '/wordpress/wp-load.php' no início de cada etapa runPHP. Sem essa linha, todas as funções do WordPress falham silenciosamente — um erro que os agentes cometem frequentemente sem a referência da habilidade.

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

4. mu-plugin embutido para comportamento personalizado

Prompt:

Escreva um Blueprint que desative a barra de administração e adicione um widget personalizado ao
painel, mostrando a versão do PHP do servidor.

Blueprint gerado:

{
  "$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    'Versão do PHP',\n    function() {\n      echo '<p>Executando PHP ' . phpversion() . '</p>';\n    }\n  );\n});"
    }
  ]
}

O agente usa writeFile para criar um mu-plugin, que é carregado automaticamente sem ativação. A habilidade documenta explicitamente esse padrão e alerta os agentes para não adicionar require wp-load.php dentro do código do mu-plugin (essa linha só é necessária nas etapas runPHP).

5. Pacote Blueprint com um plugin personalizado

Prompt:

Crie um pacote Blueprint que instale um plugin de análise personalizado
a partir de um arquivo zip local.

Estrutura do pacote gerado:

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

Execute localmente:

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

A flag --blueprint-may-read-adjacent-files é necessária para pacotes em diretórios. Sem ela, qualquer referência a um recurso bundled falha com um erro “Arquivo não encontrado”. A habilidade documenta esse detalhe, portanto os agentes incluem a flag automaticamente.

Como a habilidade de blueprint se integra a outras ferramentas

A habilidade de blueprint funciona em conjunto com outras duas ferramentas do Playground para agentes de IA:

Ferramenta O que ela faz Quando usar
Habilidade de blueprint Gera JSON de Blueprint válido Quando você precisa de um arquivo Blueprint para compartilhar, controlar versões ou usar em CI
habilidade wp-playground Executa comandos da CLI, gerencia servidores e depura instâncias Quando você precisa de uma instância do Playground em execução com interação ao vivo
servidor MCP Conecta os agentes diretamente a um Playground no navegador Quando você precisa de execução de PHPPHP PHP (acrônimo recursivo de PHP: Hypertext Preprocessor) é uma linguagem de script de código aberto e uso geral amplamente utilizada, especialmente adequada para desenvolvimento web e que pode ser incorporada ao HTML. https://www.php.net/manual/en/index.php e manipulação de arquivos em tempo real

Use a habilidade de blueprint quando quiser uma configuração portátil e reproduzível. Use a habilidade wp-playground quando precisar de um servidor em execução. Combine-as: gere um Blueprint com a habilidade de blueprint e depois inicie-o com os comandos da CLI da habilidade wp-playground.

Teste seus Blueprints

URLURL Um endereço web específico de um site ou página da web na Internet, como a URL de um site www.wordpress.org em linha (teste rápido)

Minifique o JSON do Blueprint e anexe-o à URL do Playground:

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

CLI local (teste completo)

# Inicie um servidor com seu Blueprint
npx @wp-playground/cli server --blueprint=./blueprint.json

# Validação sem interface (executa e encerra)
npx @wp-playground/cli run-blueprint --blueprint=./blueprint.json

Comece agora

Instale a habilidade de blueprint no seu projeto:

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

Depois, peça ao seu agente para escrever um Blueprint. Descreva o que você precisa: plugins, temas, conteúdo, configuração, e o agente produzirá um JSON válido que será executado na primeira tentativa.

Compartilhe o que você criar no canal #playground do Slack Making WordPress ou abra uma issue no GitHub.

#agent-skills, #ai