Wp Playground
WordPressOfficialPublished by WordPress
- Skill
- Tool integration
- Software development
- GPL-2.0-or-later
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
WordPress Playground is a routing skill designed to help developers select the appropriate workflow for their WordPress environment needs. It acts as a central hub for managing WordPress instances running in WebAssembly with SQLite. Whether you are performing local development via the CLI, debugging with Xdebug, or configuring browser-based shareable links, this skill directs you to the correct reference material while ensuring that specialized tasks like Blueprint JSON authoring are handled by the dedicated blueprint skill.
What it does
- Routes users to the correct Playground workflow based on their specific development needs.
- Provides guidance for local CLI operations including server management and file mounting.
- Facilitates debugging sessions using Xdebug and runtime log inspection.
- Supports version switching for both WordPress and PHP to test compatibility.
- Assists in creating snapshots for shareable reproduction cases and CI artifacts.
- Integrates with browser-based Playground website workflows for quick site previews.
When to use it
- When you need to set up a local WordPress environment for plugin or theme development.
- When you need to reproduce a bug using specific WordPress or PHP versions.
- When you need to debug a WordPress instance running in a WebAssembly environment.
- When you need to create a shareable link or snapshot of a WordPress site configuration.
- When you are unsure which specific Playground tool or reference to use for a task.
Advantages
- Provides a unified interface for diverse Playground tasks.
- Ensures consistent handling of disposable, SQLite-backed WordPress environments.
- Simplifies complex tasks like local file mounting and version pinning.
- Prevents configuration errors by routing specialized tasks to dedicated skills.
- Enables efficient debugging of WebAssembly-based WordPress instances.
Usage examples
- “How do I start a local WordPress server for my plugin development?”
- The agent will guide you to use the CLI start command, ensuring your plugin is correctly mounted and the environment is persisted.
- “I need to debug a site running in Playground with Xdebug.”
- The agent will provide instructions on using the --xdebug flag with the CLI and configuring your IDE path mappings.
- “How can I test my theme against WordPress 6.5 and PHP 8.2?”
- The agent will show you how to use the server command with explicit --wp and --php version flags.
- “Create a snapshot of my current site for a bug report.”
- The agent will walk you through the build-snapshot command to generate a shareable ZIP file of your current site state.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/wordpress/wp-playground/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip wp-playground.zip -d .agents/skills
Documentation by WordPress
WordPress Playground
This is a thin routing wrapper. Use it to pick the right Playground workflow, then load only the focused reference or skill needed for the task.
Procedure
Identify the user intent: Blueprint authoring/review, local CLI execution, browser-only website/share link workflow, Xdebug/stuck CLI run, or a mixed Playground request.
Route to the focused source below, loading more than one only when the request has multiple distinct parts.
For mixed requests, delegate Blueprint JSON work to
blueprint, then return here for runtime, CLI, debugging, or sharing guidance.
Blueprint JSON, schema, steps, resources, bundles, or Blueprint review: use the
blueprintskill directly. Do not duplicate Blueprint schema details here.Local CLI execution: read
references/cli.mdfor@wp-playground/cliserver,run-blueprint,build-snapshot, mounts, version switching, and local validation.Xdebug or stuck CLI runs: read
references/debugging.mdfor Xdebug, runtime logs, worker flags, and stuck CLI runs.Browser-only Playground website workflows: read
references/website.mdfor Query API and Blueprint URL setup, share links, and browser limitations. It routes existing-site operations to separate WebMCP, Playground MCP, and Sites API references; load only the selected method. Unless the user requests a specific connection method, prefer available WebMCP tools for supported browser operations.
Inputs required
The intended workflow: Blueprint authoring, local CLI run, website/share link, snapshot, or debugging.
Project or bundle path if local code must be mounted or packaged.
Desired WordPress/PHP versions if compatibility matters.
Port preference if a local server is needed.
Whether browser-only sharing or local filesystem access is required.
Guardrails
Playground instances are disposable, SQLite-backed environments; never point them at production data.
Keep Blueprint JSON guidance in
blueprintso the schema and examples have one source of truth.For local CLI work, verify Node.js 20.18+ and
npm/npxbefore running commands.Browser-only Playground cannot read local filesystem paths; use public URLs, hosted ZIP bundles, or inline Blueprint JSON.
Verification
For Blueprint content, validate against the published schema and follow the
blueprintskill verification.For local CLI runs, verify the mounted plugin/theme or Blueprint side effects in the Playground instance.
For share links, open the generated URL and confirm the expected landing page and installed assets load.
Failure modes
Blueprint work routed here: stop and use the
blueprintskill for schema keys, steps, resources, bundles, validation, or Blueprint review.Local filesystem needed in a browser-only workflow: use
references/cli.md;playground.wordpress.netcannot read local filesystem paths.Shareable browser link requested from a local CLI workflow: use
references/website.md; local server URLs are not portable share links.Debugging treated as a second-hop reference: read
references/debugging.mddirectly for Xdebug, logs, worker flags, and stuck CLI runs.
Escalation
If the task needs PHP extensions, native database access, persistence, or production-like infrastructure that Playground cannot provide, use a full WordPress stack such as wp-env, Docker, or the project-provided environment.
Files
- ATTRIBUTION.mdAdded by AutoGineer890 B
- LICENSELicence file added by AutoGineer750 B
- SKILL.md3.8 KiB
- references/cli.md4.5 KiB
- references/debugging.md975 B
- references/mcp.md1.5 KiB
- references/sites-api.md5.1 KiB
- references/webmcp.md2.3 KiB
- references/website.md6.3 KiB
references/website.md
Playground website workflows
Use this reference for https://playground.wordpress.net/ setup and sharing, and to choose how to interact with an existing browser site.
Route first
For Blueprint JSON structure, schema, resources, steps, or bundles, use the
blueprintskill; it is the source of truth for Blueprint details.For local filesystem mounts, snapshots, Xdebug, or headless validation, return to the
wp-playgroundrouting procedure and select the local CLI or debugging workflow.For a new site or share link, use the Query API and Blueprint URL setup below. Setup URLs apply at page load; do not reload an existing site just to perform a runtime operation.
Choose an interaction method
Respect a connection method explicitly requested by the user. Otherwise, prefer available WebMCP tools for supported operations. Availability means tools are exposed and callable in this session, not merely that the browser can open Playground.
Read only the reference needed for the selected method:
| Method | When to use | Reference |
|---|---|---|
| WebMCP | Default for supported operations through the open page's site tools. | WebMCP |
| Playground MCP | The user requests it, or WebMCP is unavailable or lacks an operation and a suitable MCP connection is available. | Playground MCP |
| Sites API and active site client | The user requests browser JavaScript APIs, or available site tools/MCP do not support the operation. | Sites API |
Fall back per operation, loading the fallback reference only when needed. Keep the intended site when changing methods: do not create a replacement site or reload away the user's current work. Confirm the target with a harmless information/read operation before making changes, and verify the result in that same site.
Create or open a site with a URL
For a blank disposable Playground site, use https://playground.wordpress.net/ with no query parameters.
Use Query API URLs when the setup is simple enough to express as URL parameters:
https://playground.wordpress.net/?php=8.4&wp=latest&plugin=gutenberg&networking=yes&url=/wp-admin/post-new.phpPractical URL parameters for agents:
php=<version>andwp=<version>: choose runtime versions.plugin=<slug>andtheme=<slug>: install WordPress.org assets; repeat the parameter for multiple assets, such as?plugin=gutenberg&plugin=woocommerce&networking=yes.networking=yes|no: allow or block downloads for plugins, themes, translations, imports, and PR builds. Usenetworking=noor omit networking for offline/simple tests.login=yes|no: control admin auto-login. Uselogin=noto prevent automatic admin login; admin pages will require manual login.multisite=yes|no: choose single-site or multisite mode at boot.url=/path/: choose the first page to show. Use/wp-admin/for the dashboard or/wp-admin/site-editor.phpfor the Site Editor.language=<locale>: set a WordPress locale such asde_DE; pair withnetworking=yesso translations can download.import-site=<zip-url>: import a public, URL-encoded, CORS-enabled site ZIP.import-wxr=<wxr-url>: import a public, URL-encoded, CORS-enabled WordPress export XML/WXR file.site-slug=<slug>: select a saved browser site by slug. Use the selected interaction method to discover existing slugs first.if-stored-site-missing=prompt: ask the user whether to save a new site whensite-slugis missing.blueprint-url=<url>: load a public Blueprint JSON file or Blueprint bundle ZIP.lazy: show a Run button and defer loading until clicked, useful for tutorials and click-to-run demos.mode=browser-full-screen|seamless: choose browser UI or a full-width WordPress view.page-title=<title>: customize the browser tab title when comparing instances.can-save=no: remove save options from the UI.overlay=blueprints: open the Blueprint Gallery on load.
Use these rules:
Use Query API links for simple, shareable setup.
Use Blueprint URLs/fragments for multi-step setup, files, content creation, custom code, or bundled assets.
Do not explain Blueprint schema here; delegate the Blueprint body to the
blueprintskill.Hosted Blueprint JSON, ZIP bundles, imports, and referenced assets must be public and served with
Access-Control-Allow-Origin: *.Browser URLs cannot read arbitrary local files or local directory bundles. Use hosted assets or the CLI for local paths.
If a missing
site-slugprompt appears, confirm the user's intent before creating or saving a new browser site.
Small inline Blueprints can be shared with a URL fragment:
https://playground.wordpress.net/#<encodeURIComponent(JSON.stringify(blueprint))>Large Blueprints and bundles should use:
https://playground.wordpress.net/?blueprint-url=<public-json-or-zip-url>Base64-encoded Blueprint fragments are also supported when a channel rewrites JSON characters.
Other URL capabilities the agent may need:
Experimental builds:
core-pr=<number>for WordPress core PRs,gutenberg-pr=<number>for Gutenberg PRs,gutenberg-branch=<branch>such astrunk.Runtime extension:
php-extension=<manifest-url>; accepts HTTP(S) URLs and may be repeated.GitHub export form prefill:
gh-ensure-auth=yes,ghexport-repo-url=<repo-url>,ghexport-pr-action=create|update,ghexport-playground-root=<path>,ghexport-repo-root=<path>,ghexport-content-type=plugin|theme|wp-content|custom-paths,ghexport-plugin=<plugin-path>,ghexport-theme=<theme-dir>, repeatable ghexport-path (ghexport-path=<relative-path>),ghexport-commit-message=<message>,ghexport-allow-include-zip=yes|no.
Verification and browser limitations
For a generated URL, open it in a fresh browser session and confirm versions, login state, installed assets, and landing page.
If a hosted Blueprint/import fails, verify the URL is public and CORS-enabled.
For existing-site operations, follow the verification guidance in the selected interaction reference.
Treat
playground.wordpress.netas a browser demo/sandbox, not production hosting or guaranteed durable infrastructure.Escalate to the CLI or a full WordPress stack when the task needs local filesystem mounts, snapshots, headless validation, durable production-like persistence, native database access, server integration, or production availability guarantees.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
The author says: Targets WordPress 7.0+, PHP 7.4.0+. Playground CLI requires Node.js 20.18+; runs WordPress in WebAssembly with SQLite.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- WordPress
- Publisher
- WordPress (Official)
- Source
- WordPress/agent-skills · skills/wp-playground · commit 7374e6f
- Licence
- GNU General Public License v2.0 or later (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by WordPress.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download wp-playground.zip