agentleFS
wpgauravwpgaurav/WordPress-skills/skills/wordpress/wp-playground/SKILL.md

wp-playground

Skill19 starsChanged 20 days agoMITView on GitHub

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).

5 other projects use a version of this, 2 of them edited.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 7 are distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run or iterate on Playground Blueprints (JSON) locally.

    line 15
  2. Distinctive:

    If mounting local code, ensure it is clean of secrets.

    line 35
  3. Very specific:

    Add --wp=<version> / --php=<version> as needed.

    line 44
  4. Very specific:

    Use --mount=/host/path:/vfs/path (repeatable) when auto-mount is insufficient (multi-plugin, mu-plugins, custom content).

    line 49
  5. Distinctive:

    Use for scripted setup/CI validation.

    line 58
  6. Very specific:

    Start with --xdebug (or --enable-xdebug depending on CLI release) to expose an IDE key, then connect VS Code/PhpStorm to the host/port …

    line 71
  7. Very specific:

    Use --wp= to pin WP (e.g., 6.9.0) and --php= to test compatibility.

    line 77
  8. Distinctive:

    If feature depends on Gutenberg trunk, prefer the latest WP release plus plugin if available.

    line 78
  9. Distinctive:

    Use the live Blueprint Editor (playground.wordpress.net) to author blueprints with schema help.

    line 85
  10. Distinctive:

    Verify mounted code is active (plugin listed/active.

    line 89
  11. Very specific:

    Run targeted smoke (e.g., wp plugin list inside Playground shell via browser terminal if exposed) or UI click-path.

    line 91
  12. Very specific:

    Mount not applied: check path, use absolute path, add --verbosity=debug.

    line 96
  13. Very specific:

    Blueprint cannot read local assets: add --blueprint-may-read-adjacent-files.

    line 97
  14. Distinctive:

    If PHP extensions or native DB access are required, Playground may be unsuitable.

    line 103

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

From Agent Skills for WordPress. Copyright (C) 2026 WordPress Contributors, licensed under GPL-2.0-or-later. Changed from upstream: the compatibility: frontmatter line was dropped when this copy was made in March 2026, and license frontmatter plus this notice were added on 2026-10-24. See NOTICE.md.

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)

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)

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

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/

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.