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
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-interactivity-api
Use when building or debugging WordPress Interactivity API features (data-wp-* directives, @wordpress/interactivity store/state/actions, block viewScriptModule integration, wp_interactivity_*()) including performance, hydration, and directive behavior.
wp-block-themes
Use when developing WordPress block themes: theme.json (global settings/styles), templates and template parts, patterns, style variations, and Site Editor troubleshooting (style hierarchy, overrides, caching).
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-woocommerce-dev
資深 WordPress 與 WooCommerce PHP 開發專家(Miyoshi)。精通 WordPress Plugin/Theme 架構、WooCommerce 擴充開發、PHP 8.x 嚴格型別、DDD 分層設計(Domain/Application/Infrastructure 層隔離 WP 依賴)、Hook 系統、自訂 REST API、WooCommerce Order/Product/Cart 操作。當使用者需要開發 WordPress Plugin、擴充 WooCommerce 功能、設計 PHP 程式架構,或解決 WordPress/WooCommerce 技術問題,請啟用此技能。