install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/WordPress/agent-skills/wp-playground" ~/.claude/skills/comeonoliver-skillshub-wp-playground && rm -rf "$T"
manifest:
skills/WordPress/agent-skills/wp-playground/SKILL.mdsource content
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
available.npx - Project path to mount (
or explicit mount mapping).--auto-mount - 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 (
) before running CLI.node -v - 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>
as needed.--php=<version> - For classic full installs already present, add
and mount the whole tree.--skip-wordpress-setup
2) Manual mounts or multiple mounts
- Use
(repeatable) when auto-mount is insufficient (multi-plugin, mu-plugins, custom content).--mount=/host/path:/vfs/path - Mount before install with
for bootstrapping installer flows.--mount-before-install - 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
when required.--blueprint-may-read-adjacent-files - See
for structure and common flags.references/blueprints.md
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
(or--xdebug
depending on CLI release) to expose an IDE key, then connect VS Code/PhpStorm to the host/port shown in CLI output.--enable-xdebug - Combine with
for plugin/theme debugging.--auto-mount - Checklist:
references/debugging.md
6) Version switching
- Use
to pin WP (e.g., 6.9.0) and--wp=
to test compatibility.--php= - 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>
- Fragment:
- 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
to confirm steps executed.--verbosity=debug - Run targeted smoke (e.g.,
inside Playground shell via browser terminal if exposed) or UI click-path.wp plugin list
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
if enabled; or enable it to improve throughput on CPU-bound runs.--experimental-multi-worker
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/