skills/crazyswami/wp-playground/SKILL.md
WordPress Playground for instant browser-based WordPress testing. Use for quick demos, plugin testing, or ephemeral development environments without Docker.
npx skillsauth add aiskillstore/marketplace wp-playgroundInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Instant WordPress environments in the browser using WebAssembly. Zero setup, no server required.
Visit: https://playground.wordpress.net/
# Start local Playground server
npx @wp-playground/cli server
# With custom blueprint
npx @wp-playground/cli server --blueprint=./blueprint.json
# Specify versions
npx @wp-playground/cli server --wp=6.8 --php=8.3
Blueprints are JSON files that define the WordPress environment setup.
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"landingPage": "/wp-admin/",
"login": true,
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"phpExtensionBundles": ["kitchen-sink"],
"features": {
"networking": true
},
"steps": []
}
| Step | Purpose | Example |
|------|---------|---------|
| installPlugin | Install plugin from wp.org | {"step":"installPlugin","pluginData":{"resource":"wordpress.org/plugins","slug":"yoast-seo"}} |
| installTheme | Install theme from wp.org | {"step":"installTheme","themeData":{"resource":"wordpress.org/themes","slug":"astra"}} |
| setSiteOptions | Update wp_options | {"step":"setSiteOptions","options":{"blogname":"Test"}} |
| login | Login as user | {"step":"login","username":"admin","password":"password"} |
| runPHP | Execute PHP code | {"step":"runPHP","code":"<?php echo 'Hello'; ?>"} |
| wp-cli | Run WP-CLI command | {"step":"wp-cli","command":"plugin list"} |
| writeFile | Create/modify file | {"step":"writeFile","path":"/index.html","data":"content"} |
| mkdir | Create directory | {"step":"mkdir","path":"/wp-content/uploads/test"} |
Full development environment with essential plugins:
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"landingPage": "/wp-admin/",
"login": true,
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"steps": [
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "admin-site-enhancements" },
"options": { "activate": true }
},
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "branda-white-labeling" },
"options": { "activate": true }
},
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "wordpress-seo" },
"options": { "activate": true }
},
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "instant-images" },
"options": { "activate": true }
},
{
"step": "setSiteOptions",
"options": {
"blogname": "Development Site",
"blogdescription": "WordPress Playground Environment",
"permalink_structure": "/%postname%/"
}
}
]
}
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"landingPage": "/wp-admin/admin.php?page=wc-admin",
"login": true,
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"steps": [
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "woocommerce" },
"options": { "activate": true }
},
{
"step": "installTheme",
"themeData": { "resource": "wordpress.org/themes", "slug": "storefront" },
"options": { "activate": true }
}
]
}
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"landingPage": "/",
"login": true,
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"steps": [
{
"step": "installTheme",
"themeData": { "resource": "wordpress.org/themes", "slug": "developer" },
"options": { "activate": true }
},
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "theme-check" },
"options": { "activate": true }
},
{
"step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "developer" },
"options": { "activate": true }
}
]
}
# Start with defaults
npx @wp-playground/cli server
# Custom port
npx @wp-playground/cli server --port=3000
# Specific WordPress version
npx @wp-playground/cli server --wp=6.7
# PHP version
npx @wp-playground/cli server --php=8.2
# Blueprint file
npx @wp-playground/cli server --blueprint=./my-blueprint.json
# Auto-mount current directory as plugin/theme
npx @wp-playground/cli server --auto-mount
# Build ZIP snapshot from blueprint
npx @wp-playground/cli build-snapshot blueprint.json output.zip
# Use snapshot
npx @wp-playground/cli server --mount=./output.zip
# Mount local plugin
npx @wp-playground/cli server \
--mount=/local/plugin:/var/www/html/wp-content/plugins/my-plugin
# Mount local theme
npx @wp-playground/cli server \
--mount=/local/theme:/var/www/html/wp-content/themes/my-theme
For quick browser-based testing, use URL parameters:
# Install plugin
https://playground.wordpress.net/?plugin=woocommerce
# Install multiple plugins
https://playground.wordpress.net/?plugin=woocommerce&plugin=yoast-seo
# Install theme
https://playground.wordpress.net/?theme=astra
# Specific versions
https://playground.wordpress.net/?wp=6.7&php=8.3
# Go to admin
https://playground.wordpress.net/?mode=seamless&login=yes
# Use blueprint URL
https://playground.wordpress.net/?blueprint-url=https://example.com/blueprint.json
For programmatic control:
import { startPlayground } from '@wp-playground/client';
const playground = await startPlayground({
iframe: document.getElementById('wp-frame'),
blueprint: {
landingPage: '/wp-admin/',
login: true,
steps: [
{
step: 'installPlugin',
pluginData: { resource: 'wordpress.org/plugins', slug: 'woocommerce' },
options: { activate: true }
}
]
}
});
// Run WP-CLI commands
const result = await playground.run({
step: 'wp-cli',
command: 'plugin list'
});
console.log(result);
npx @wp-playground/cli server --blueprint=./test-blueprint.json--auto-mount to mount current directory| Feature | Playground | Docker | |---------|------------|--------| | Setup time | Instant | 2-5 min | | Persistence | Temporary | Permanent | | Performance | Slower | Faster | | Server required | No | Yes | | Use case | Testing, demos | Development | | Networking | Limited | Full | | Email | No | Yes (with SMTP) | | WP-CLI | Limited | Full |
Use Playground for: Quick testing, demos, client previews, plugin trials
Use Docker for: Full development, production-like testing, persistent data
Blueprints are in: ~/.claude/skills/wp-playground/blueprints/
base.json - Standard development setupwoocommerce.json - E-commerce testingtheme-dev.json - Theme developmentdevelopment
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.