wp-playground
Use for WordPress Playground workflows: fast disposable WP instances in the browser or locally via @wp-playground/cli (server, run-blueprint, build-snapshot), auto-mounting plugins/themes, switching WP/PHP versions, blueprints, and debugging (Xdebug).
Best use case
wp-playground is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use for WordPress Playground workflows: fast disposable WP instances in the browser or locally via @wp-playground/cli (server, run-blueprint, build-snapshot), auto-mounting plugins/themes, switching WP/PHP versions, blueprints, and debugging (Xdebug).
Teams using wp-playground should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/wp-playground/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How wp-playground Compares
| Feature / Agent | wp-playground | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use for WordPress Playground workflows: fast disposable WP instances in the browser or locally via @wp-playground/cli (server, run-blueprint, build-snapshot), auto-mounting plugins/themes, switching WP/PHP versions, blueprints, and debugging (Xdebug).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# WordPress Playground ## When to use - Spin up a disposable WordPress to test a plugin/theme without full stack setup. - Run or iterate on Playground Blueprints (JSON) locally. - Build a reproducible snapshot of a site for sharing or CI. - Switch WP/PHP versions quickly to reproduce issues. - Debug plugin/theme code with Xdebug in an isolated Playground. ## Inputs required - Host machine readiness: Node.js ≥ 20.18, `npm`/`npx` available. - Project path to mount (`--auto-mount` or explicit mount mapping). - Desired WP version/PHP version (optional; defaults to latest WP, PHP 8.3). - Blueprint location/URL if running a blueprint. - Port preference if 9400 conflicts. - Whether Xdebug is needed. ## Procedure ### 0) Guardrails - Playground instances are ephemeral and SQLite-backed; **never** point at production data. - Confirm Node ≥ 20.18 (`node -v`) before running CLI. - If mounting local code, ensure it is clean of secrets; Playground copies files into an in-memory FS. ### 1) Quick local spin-up (auto-mount) ```bash cd <plugin-or-theme-root> npx @wp-playground/cli@latest server --auto-mount ``` - Opens on http://localhost:9400 by default. Auto-detects plugin/theme and installs it. - Add `--wp=<version>` / `--php=<version>` as needed. - For classic full installs already present, add `--skip-wordpress-setup` and mount the whole tree. ### 2) Manual mounts or multiple mounts - Use `--mount=/host/path:/vfs/path` (repeatable) when auto-mount is insufficient (multi-plugin, mu-plugins, custom content). - Mount before install with `--mount-before-install` for bootstrapping installer flows. - Reference: `references/cli-commands.md` ### 3) Run a Blueprint (no server needed) ```bash npx @wp-playground/cli@latest run-blueprint --blueprint=<file-or-url> ``` - Use for scripted setup/CI validation. Supports remote URLs and local files. - Allow bundled assets in local blueprints with `--blueprint-may-read-adjacent-files` when required. - See `references/blueprints.md` for structure and common flags. ### 4) Build a snapshot for sharing ```bash npx @wp-playground/cli@latest build-snapshot --blueprint=<file> --outfile=./site.zip ``` - Produces a ZIP you can load in Playground or attach to bug reports. ### 5) Debugging with Xdebug - Start with `--xdebug` (or `--enable-xdebug` depending on CLI release) to expose an IDE key, then connect VS Code/PhpStorm to the host/port shown in CLI output. - Combine with `--auto-mount` for plugin/theme debugging. - Checklist: `references/debugging.md` ### 6) Version switching - Use `--wp=` to pin WP (e.g., 6.9.0) and `--php=` to test compatibility. - If feature depends on Gutenberg trunk, prefer the latest WP release plus plugin if available; Playground images track stable WP plus bundled Gutenberg. ### 7) Browser-only workflows (no CLI) - Launch quick previews with URL fragments or query params: - Fragment: `https://playground.wordpress.net/#<base64-or-json-blueprint>` - Query: `https://playground.wordpress.net/?blueprint-url=<public-url-or-zip>` - Use the live Blueprint Editor (playground.wordpress.net) to author blueprints with schema help; paste JSON and copy a shareable link. ## Verification - Verify mounted code is active (plugin listed/active; theme selected). - For blueprints/snapshots, re-run with `--verbosity=debug` to confirm steps executed. - Run targeted smoke (e.g., `wp plugin list` inside Playground shell via browser terminal if exposed) or UI click-path. ## Failure modes / debugging - **CLI exits complaining about Node**: upgrade to ≥ 20.18. - **Mount not applied**: check path, use absolute path, add `--verbosity=debug`. - **Blueprint cannot read local assets**: add `--blueprint-may-read-adjacent-files`. - **Port already used**: `--port=<free-port>`. - **Slow/locked UI**: disable `--experimental-multi-worker` if enabled; or enable it to improve throughput on CPU-bound runs. ## Escalation - If PHP extensions or native DB access are required, Playground may be unsuitable; fall back to full WP stack or wp-env/Docker. - For browser-only embedding or VS Code extension specifics, consult the upstream docs: https://wordpress.github.io/wordpress-playground/
Related Skills
use-zod
Answer questions about the Zod schema validation library and help build schemas, parsers, refinements, transforms, codecs, and error formatters. Use when developers: (1) ask about Zod APIs like `z.object`, `z.string`, `z.array`, `z.union`, `z.discriminatedUnion`, `parse`, `safeParse`, `z.infer`; (2) define request/response/form schemas in TypeScript; (3) handle `ZodError` or customize error messages; (4) migrate between Zod v3 and v4 (entry-point split, `formatError` → `treeifyError`/`prettifyError`, unified `error` param replacing `message`/`errorMap`). Triggers on: "zod", "z.object", "z.string", "z.array", "z.union", "z.infer", "z.input", "z.output", "ZodError", "$ZodError", "safeParse", "parseAsync", "z.codec", "treeifyError", "prettifyError", "flattenError", "discriminatedUnion", "zod/v4", "zod/v3", "zod/mini", "z.coerce", "superRefine".
workflow
Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.
wpds
Use when building UIs leveraging the WordPress Design System (WPDS) and its components, tokens, patterns, etc.
wp-wpcli-and-ops
Use when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export/import, plugin/theme/user/content management, cron, cache flushing, multisite, and scripting/automation with wp-cli.yml.
wp-rest-api
Use when building, extending, or debugging WordPress REST API endpoints/routes: register_rest_route, WP_REST_Controller/controller classes, schema/argument validation, permission_callback/authentication, response shaping, register_rest_field/register_meta, or exposing CPTs/taxonomies via show_in_rest.
wp-project-triage
Use when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a structured JSON report to guide workflows and guardrails.
wp-plugin-development
Use when developing WordPress plugins: architecture and hooks, activation/deactivation/uninstall, admin UI and Settings API, data storage, cron/tasks, security (nonces/capabilities/sanitization/escaping), and release packaging.
wp-phpstan
Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.
wp-performance
Use when investigating or improving WordPress performance (backend-only agent): profiling and measurement (WP-CLI profile/doctor, Server-Timing, Query Monitor via REST headers), database/query optimization, autoloaded options, object caching, cron, HTTP API calls, and safe verification.
wp-block-development
Use when developing WordPress (Gutenberg) blocks: block.json metadata, register_block_type(_from_metadata), attributes/serialization, supports, dynamic rendering (render.php/render_callback), deprecations/migrations, viewScript vs viewScriptModule, and @wordpress/scripts/@wordpress/create-block build and test workflows.
wp-abilities-api
Use when working with the WordPress Abilities API (wp_register_ability, wp_register_ability_category, /wp-json/wp-abilities/v1/*, @wordpress/abilities) including defining abilities, categories, meta, REST exposure, and permissions checks for clients.
wordpress-router
Use when the user asks about WordPress codebases (plugins, themes, block themes, Gutenberg blocks, WP core checkouts) and you need to quickly classify the repo and route to the correct workflow/skill (blocks, theme.json, REST API, WP-CLI, performance, security, testing, release packaging).