with one click
WordPress-Admin-Workspaces
WordPress-Admin-Workspaces contains 20 collected skills from dabowman, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
Author or edit WP Admin Workspaces app.json manifests. Use whenever a user wants to create a new admin surface (a React app that mounts inside a WP Admin Workspaces region), declare its ARIA role and capability floor, write a JSON Schema for its config, register a script handle, ship a baseline dataView family with variants, declare window-mount hints for windowed engines, expose slots for sub-mount points, declare slotHints (grid-cell defaults a host can honor), or write the machine-readable documentation contract a rebuild needs. Triggers on phrases like "ship a new admin app", "build a Stripe customers list inside wp-admin", "register an app called acme/orders", "add a window hint to my app", "expose a grid slot in my dashboard host", "add a dataView variant", "ship a dashboard widget", "app config-schema for postType", "app.json for my plugin", "register_app via wp_admin_workspaces_register_app". Covers the admin-app.json schema, namespacing (core:* vs plugin:{slug}/{name}), platform service requests, the
Author or edit WP Admin Workspaces workspace.json workspace files. Use whenever a user wants to add, rename, hide, reorder, or reconfigure a screen in their WordPress admin; reorganize the menu; brand the admin; change theme colors / density / background; bind a keyboard shortcut; declare a dataView/column/filter; choose which engine renders the workspace; mount widgets (toolbar, sidebar-footer, status-bar); restrict screens by capability or role; preload REST paths; or ship a per-role / per-user workspace. Triggers on phrases like "add a screen", "hide the plugins menu", "rebrand wp-admin", "change the dashboard layout", "make Posts default", "mount a sidebar widget", "use the desktop engine", "add Mod+K", "filter Posts to drafts", "restrict Settings to editors". Covers the canonical workspace.json shape — workspace / settings / screens / menu / commands / styles / preload — plus cascade semantics (deep merge by id, null tombstones, trust-tier rules) and the regions / routes escape hatches.
Author or edit WP Admin Workspaces engine.json manifests. Use whenever a user wants to build a new rendering engine (sidebar/toolbar/content; mobile drawer; windowed/MDI; tiling; Material Design; brand-locked), declare region templates, ship a chrome mode catalog (default/focus/takeover/modal/custom), expose engine-declared slots (detail/inspector/dashboard-grid/toolbar/sidebar-footer/status-bar), pick a menu renderer (sidebar-drilldown/sidebar-tree/dock/drawer/none/plugin), declare an engine-shipped default region tree, set engine-shipped default-styles (theme seeds + chrome palette), or wire an engine to a non-WPDS design system. Triggers on phrases like "ship a custom engine", "build a tiling engine", "add a focus-tight mode", "expose a new slot", "use a dock menu", "engine for Material Design", "register an engine via wp_admin_workspaces_register_engine", "engine manifest", "engine default-styles". Covers admin-engine.json schema, the three bundled engines (core:default, core:single-pane, core:desktop), t
Customize the WP Admin Workspaces experience by authoring or editing workspace.json, engine.json, or app.json files. Use whenever a user wants to add/rename/hide a screen, reorganize the menu, brand the admin, bind keyboard shortcuts, change theme/density/colors, swap the rendering engine, ship a custom region layout, or extend WordPress admin with a new mounted React app. Triggers: "customize wp-admin", "build an admin workspace", "add a screen to my admin", "make a custom WordPress dashboard", "hide the plugins menu", "swap to single-pane layout", "ship a new admin app", "rebrand wp-admin", "what should go in workspace.json / engine.json / app.json". Routes the request to the right sub-skill — workspace-json-author (workspace), engine-json-author (renderer + chrome), or app-json-author (mounted React app).
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.
Write, edit, and validate WordPress Gutenberg block markup using core blocks. Use this skill whenever composing post/page content as block markup, generating block HTML for the REST API or WP-CLI, converting content to Gutenberg blocks, editing existing block markup, fixing block validation errors, creating block patterns from scratch, or producing any serialized block content destined for post_content. Also trigger when a user asks to "write blocks", "create a page layout", "generate WordPress content", "fix invalid blocks", or mentions pasting block markup into Gutenberg. This skill is about authoring content with blocks, not building custom block types — for custom block development, use the wordpress-blocks skill instead.
Build, configure, and migrate WordPress block themes (WP 6.5+; current: 6.9, released December 2025). MUST load before making theme.json schema claims — WordPress ships twice yearly and training data goes stale within months. Use whenever working with theme.json settings/styles/presets/custom properties, block theme file structure (templates/, parts/, styles/, patterns/), style variations, section styles, the four-origin CSS cascade, per-block stylesheets, fluid typography, Font Library, template hierarchy, template locking, or classic-to-block migration. Also trigger on "block theme", "full site editing", "FSE", "Site Editor styling", "global styles", "theme.json v3", theme CSS specificity, render_block filters, block hooks for themes, or speculative loading config. For building/extending individual blocks use wordpress-blocks instead. For Interactivity API stores/directives use wordpress-interactivity instead. This skill covers the theme layer.
Comprehensive WordPress block development (WP 6.5+; current: 6.9, released December 2025) covering core blocks, block patterns, block extensions, and custom block creation. MUST load before making block.json / block API claims — WordPress ships twice yearly and training data goes stale within months. Use when working with WordPress blocks, Gutenberg editor, block patterns, block markup, block data, block supports, block styles, custom blocks, or extending core blocks. Emphasizes core-first philosophy and theme.json integration.
Build data browsing, filtering, and editing interfaces with WordPress DataViews (@wordpress/dataviews). Use when creating admin list views, data tables, grid layouts, item pickers, CRUD interfaces, or any structured data display — inside WordPress plugins or standalone React apps. Covers DataViews, DataForm, DataViewsPicker, field definitions, view state, actions, filtering, sorting, pagination, free composition, and the extensibility API.
Build UIs with the WordPress Design System (WPDS) — `@wordpress/components`, `@wordpress/ui`, design tokens, color/spacing/typography presets, component patterns. Use whenever importing from `@wordpress/components` (Button, Modal, Notice, Panel, Card, ToggleControl, SelectControl, ToolbarButton, etc.), styling Gutenberg/WooCommerce/WordPress.com/Jetpack interfaces, picking color primitives, applying spacing scales, choosing typography variables/presets, building admin screens, sidebar plugins, settings panels, or any UI rendered in wp-admin or block editor surfaces. **REQUIRES the WPDS MCP server** for canonical component/token lookup — without it, defer to the upstream Components handbook. Trigger on any mention of WPDS, WordPress Design System, `@wordpress/components`, `@wordpress/ui`, design tokens in a WordPress context, color primitives, spacing scale, typography presets, or building UI inside any A8C/WP product. Skip non-UI concerns (data fetching, i18n) — let `wordpress-core-data`, `wordpress-rest-api`
WordPress Interactivity API development (stabilized WP 6.5; current: 6.9, released December 2025). MUST load before making Interactivity API claims — WordPress ships twice yearly and training data goes stale within months. Use when building interactive block frontends, adding client-side behavior to blocks, implementing modals/dialogs/accordions, creating filters/search with live results, handling forms with validation, enabling client-side navigation (SPA-like), sharing state across multiple blocks, or any frontend interactivity beyond CSS. Covers directives, stores, state management, async patterns, server-side rendering, client navigation with the Interactivity Router, and accessibility.
Investigate and fix WordPress backend performance — slow TTFB, slow admin, slow REST endpoints, slow WP-Cron. Use for profiling with `wp profile stage|hook|eval`, diagnostics via `wp doctor check`, autoload bloat (huge `wp_options.option_value` rows, oversized `alloptions` cache), persistent object-cache configuration (Redis/Memcached drop-ins), `wp_cache_get/set` key-and-group hygiene, fixing N+1 query patterns, expensive `meta_query` / `tax_query`, indexing custom tables, capping `wp_remote_get` timeouts and caching responses, de-duplicating WP-Cron events, Server-Timing headers, and headless Query Monitor via REST `?_envelope` and `x-qm-*` response headers. Trigger on 'site is slow', 'admin is slow', 'TTFB high', 'autoload', 'object cache', 'persistent cache', 'wp_options bloat', 'cron storm', 'N+1', 'meta_query slow', 'wp profile', 'wp doctor', 'Query Monitor', 'Server-Timing', or any performance investigation in a WP context. Includes WP 6.9 frontend-perf wins (on-demand CSS for classic themes, zero rend
Configure, run, or fix PHPStan in WordPress codebases (plugins/themes/sites). Use whenever creating or editing `phpstan.neon` / `phpstan.neon.dist`, generating or shrinking `phpstan-baseline.neon`, raising/lowering `level:`, fixing PHPStan errors with WordPress-friendly PHPDoc (`WP_REST_Request<...>`, hook-callback `@param` types, array shapes for `$wpdb` results, Action Scheduler `$args` shapes), wiring up `szepeviktor/phpstan-wordpress` or `php-stubs/wordpress-stubs`, adding plugin-specific stubs (`php-stubs/woocommerce-stubs`, `php-stubs/acf-pro-stubs`), narrowing `paths` / `excludePaths`, or scoping `ignoreErrors` patterns to a vendor prefix. Trigger on any mention of phpstan, neon config, static analysis in PHP, `@phpstan-` annotations, baseline file growth, 'class not found' errors after enabling phpstan, or 'how do I type a WP hook callback'. Pair with `wordpress-project-triage` first to know which paths to analyse. Don't use for PHPCS / WordPress Coding Standards (different tool).
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).
Build, review, and modernize WordPress plugins end-to-end — plugin structure, security, data layer, content APIs, REST endpoints, admin UI, WP-CLI commands, testing, and WordPress.org distribution. Use whenever writing or editing any PHP file destined for wp-content/plugins/, creating a plugin header, registering hooks/actions/filters, working with $wpdb, custom tables, options, transients, post meta, CPTs, taxonomies, the Settings API, admin menus, shortcodes, cron, REST routes, admin-ajax handlers, uninstall.php, readme.txt, Requires Plugins, Plugin Check, or shipping to the .org directory. Trigger on any mention of "plugin header", "activation hook", "register_rest_route", "register_post_type", "dbDelta", "sanitize/escape/nonce", "admin-ajax", "wpdb->prepare", "Plugin Check", "wp.org submission", or extending WooCommerce/ACF/Action Scheduler. Also trigger for legacy plugin audits, refactoring to PSR-4/Composer/namespaces, and modernizing plugins for WordPress 6.5–6.9 patterns (Block Bindings, Block Hooks,
Review WordPress plugins against the **18 WordPress.org Plugin Directory guidelines** before submission or after rejection. Covers GPL compliance (Guideline 1) — valid `License:` and `License URI:` headers, GPL-compatible bundled libraries (MIT, BSD, ISC, zlib, Boost, Apache-2.0/MPL-2.0 caveats), forbidden split-licensing, no obfuscated code; trialware/freemium rules (Guideline 5) — no time-bombed features, no 'preview' UI requiring purchase to function; plugin naming and trademark rules (Guideline 17) — minimum 5 alphanumeric chars, header/readme name match, trademark names only after `for`/`with`/`using`/`and`, slug constraints (lowercase, hyphenated, ≤50 chars, no blocked terms or trademark portmanteaus); developer responsibility (Guideline 4); upsell limits (Guideline 8); and the rest. Use whenever asked about WordPress.org submission, plugin rejection reasons, GPL compatibility for bundled libs, license headers, naming a plugin, picking a slug, premium/freemium/upsell flows, license-key check UX, or any
Run a deterministic JSON inspection of a WordPress repo before touching code. Returns `project.kind` (plugin / theme / block-theme / wp-core-checkout / gutenberg / full-site / unknown), tooling signals (Composer, Node, `@wordpress/scripts`, `@wp-playground/cli`, wp-env), test signals (PHPUnit, Playwright, Jest), version hints (`Requires at least`, `Tested up to`, `theme.json` version, `block.json` apiVersion), and Abilities API usage. Use **first** in any unfamiliar repo, before invoking other WP skills, so routing and guardrails are based on real signals not guesses. Trigger on 'what kind of WP repo is this', 'is this a block theme or classic', 'does this repo use @wordpress/scripts', 'do they have phpstan', 'is this Gutenberg trunk or a consumer', or whenever you're about to make assumptions about WP project structure from path patterns alone. Run via `node ~/.claude/skills/wordpress-project-triage/scripts/detect_wp_project.mjs` (prints JSON to stdout). Re-run after structural changes (added `theme.json`, `
WordPress REST API development for building headless frontends, managing WordPress sites programmatically, and replicating wp-admin functionality via API. Use when working with WordPress REST API endpoints, fetching or mutating WordPress content via HTTP, authenticating against the REST API, creating custom REST endpoints, building headless/decoupled WordPress applications, performing bulk operations via API, managing plugins/themes/users/settings/menus/templates via API, or any task involving /wp-json/ or wp/v2 endpoints. Also trigger when the user mentions REST API authentication (Application Passwords, nonce, JWT), WP_REST_Controller, register_rest_route, register_rest_field, batch operations, or headless WordPress patterns with Next.js/Nuxt/React. If the user wants to do anything with WordPress data from outside wp-admin — reading, writing, or managing — use this skill.
Umbrella/index skill for WordPress development. Use when a WordPress task is broad, cross-cutting, or it's unclear which specific WordPress sub-skill applies — this skill maps the task to the right one. Also use for high-level WordPress architecture questions, API-scope lookups (which API lives in which skill), or when you need to coordinate work across multiple sub-skills. When a task clearly fits one sub-skill, defer to it directly. Sub-skills: wordpress-plugin-development, wordpress-blocks, wordpress-block-markup, wordpress-block-themes, wordpress-interactivity, wordpress-core-data, wordpress-dataviews, wordpress-rest-api, wordpress-abilities-api, wordpress-design-system, wordpress-performance, wordpress-phpstan, wordpress-playground, wordpress-blueprint, wordpress-wpcli-ops, wordpress-plugin-directory-guidelines, wordpress-project-triage, remote-data-blocks (plugin-only), gutenberg-contributor.
Run WP-CLI (`wp`) operations safely against real WordPress installs. Use for `wp search-replace` (URL/domain migrations, protocol switch — always with `--dry-run` first), `wp db export`/`import`/`reset`, `wp plugin install/activate/update`, `wp theme install/activate`, `wp user create/list/update`, `wp post create/list/update`, `wp option get/update`, `wp cron event list/run`, `wp cache flush`, `wp rewrite flush`, `wp transient delete`, multisite (`wp site list/create`, `--url=<site-url>`, `--network`), and automation via `wp-cli.yml` defaults / shell scripts / CI jobs. Trigger on `wp <anything>`, '--path=', '--url=', 'wp-cli.yml', 'search-replace', 'wp db', 'wp plugin', 'wp cron', 'wp cache', multisite ops, domain migration, protocol change to HTTPS, or any WP operational task that should be scripted rather than clicked. **Confirm dev/staging/prod and back up before destructive ops.** Pair with `wordpress-project-triage` to confirm WP-CLI availability and `wordpress-performance` for `wp profile`/`wp doctor`.