skills/wp-performance/SKILL.md
Use when investigating or improving WordPress performance (backend-only agent): profiling and measurement (WP-CLI profile/doctor, Server-Timing, Query Monitor via REST headers), database/query optimization, autoloaded options, object caching, cron, HTTP API calls, and safe verification.
npx skillsauth add WordPress/agent-skills wp-performanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when:
This skill assumes the agent cannot use a browser UI. Prefer WP-CLI, logs, and HTTP requests.
--path=<path>--url=<url>curl if possibleRead:
references/measurement.mdRun:
node skills/wp-performance/scripts/perf_inspect.mjs --path=<path> [--url=<url>]This detects:
wp doctor / wp profile are availableIf you have WP-CLI access, prefer:
wp doctor checkIt catches common production foot-guns (autoload bloat, SAVEQUERIES/WP_DEBUG, plugin counts, updates).
Read:
references/wp-cli-doctor.mdPreferred order:
wp profile stage to see where time goes (bootstrap/main_query/template).wp profile hook (optionally with --url=) to find slow hooks/callbacks.wp profile eval for targeted code paths.Read:
references/wp-cli-profile.mdQuery Monitor is normally UI-driven, but it can be used headlessly via REST API response headers and _envelope responses:
x-qm-*) and/or the qm property when using ?_envelope.Read:
references/query-monitor-headless.mdUse the profile output to pick one primary bottleneck category:
references/database.mdreferences/autoload-options.mdreferences/object-cache.mdreferences/http-api.mdreferences/cron.mdwp profile / wp doctor / REST request.Be aware of these 6.9 changes when profiling:
On-demand CSS for classic themes:
Block themes with no render-blocking resources:
Inline CSS limit increased:
Reference: https://make.wordpress.org/core/2025/11/18/wordpress-6-9-frontend-performance-field-guide/
wp doctor check is clean (or improved) when applicable.--url mismatch), caches masked results, or opcode cache is staleSAVEQUERIES/Query Monitor causes overhead:
SAVEQUERIES, run load tests, or flush caches during traffictools
Verify a WordPress plugin's Abilities API registrations: enumerate abilities, check that callback behavior matches each annotation's claim (the adversarial readonly-but-writes detection), validate permissions and schemas, and validate audit documents produced by wp-abilities-audit.
tools
Audit a WordPress plugin's REST surface and produce a standardized audit document proposing Abilities API registrations. Produces a markdown doc with a YAML schema and prose sections that humans and agents can both consume when planning a registration rollout. Works on any WP plugin.
tools
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.
tools
Use when reviewing WordPress plugins for GPL compliance, checking license headers or compatibility, evaluating upsell/freemium/trialware patterns, validating plugin naming or trademark rules, checking plugin slugs, understanding why a plugin was rejected from WordPress.org, or answering any question about the 18 WordPress.org Plugin Directory guidelines — even if the user doesn't mention 'guidelines' explicitly.