CtrlK
BlogDocsLog inGet started
Tessl Logo

wp-phpstan

Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.

75

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-crafted skill body: a tight, correctly ordered procedure with genuine validation checkpoints, failure-mode recovery, and clean one-level-deep disclosure into real reference files and a bundled inspection script. The only gap keeping actionability from a top score is that a few common-case commands (baseline generation, a minimal neon snippet) live only in the reference files.

Suggestions

Add the exact baseline generation command (e.g. `vendor/bin/phpstan analyse --generate-baseline`) to step 5 so the most common baseline workflow is copy-paste ready without opening references.

Include a 5-line minimal `phpstan.neon` example or point explicitly to the template's location in references/configuration.md from step 2 so users land on it directly.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — it never explains what PHPStan or static analysis is, and every line is procedural ("Keep `paths` focused on first-party code", "Do not 'baseline' newly introduced errors"). The one-liner "use as a migration tool, not a trash bin" is a memorable rule, not padding, so the content matches the anchor-5 'every token earns its place' example.

5 / 5

Actionability

Mostly executable guidance: an exact inspect command (`node skills/wp-phpstan/scripts/phpstan_inspect.mjs`), run commands (`composer run phpstan`, `vendor/bin/phpstan analyse`), concrete package names (`szepeviktor/phpstan-wordpress`, `php-stubs/woocommerce-stubs`), and specific typing patterns (`WP_REST_Request<...>`, array shapes for hook callbacks). It falls short of anchor 5 because copy-paste-ready details like a baseline-generation command or an inline `phpstan.neon` snippet are deferred to references rather than covered for the common cases.

4 / 5

Workflow Clarity

A clearly sequenced procedure (steps 0–5: discover entrypoints → stubs → config → fixes → third-party classes → baseline) with an explicit Verification section (run the discovered command, confirm the baseline "didn't grow unexpectedly", "re-run after changing `ignoreErrors`") plus Failure modes and Escalation sections that provide feedback loops and recovery guidance. This matches the anchor-5 pattern of explicit validation steps with error-recovery loops.

5 / 5

Progressive Disclosure

The body is a concise overview with well-signaled, one-level-deep references — `references/configuration.md`, `references/third-party-classes.md`, `references/wordpress-annotations.md` (all present in the bundle) — plus a real bundled script (`scripts/phpstan_inspect.mjs`). Content is appropriately split: rules of thumb inline, templates and details in references, exactly matching the anchor-5 structure.

5 / 5

Total

19

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An excellent description: it names a precise niche, enumerates concrete capabilities and artifacts, and pairs them with an explicit, specific "Use when" trigger clause. The only weakness is minor — a few natural synonyms (like "fix PHPStan errors" or "analyse") are absent.

DimensionReasoningScore

Specificity

The description lists multiple concrete, specific actions — "configuring, running, or fixing PHPStan static analysis", "phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes" — giving comprehensive coverage of the skill's domain with named artifacts. It exceeds the anchor-4 example ("several specific actions, minor gaps") because every major PHPStan-in-WordPress task area is named explicitly.

5 / 5

Completeness

It explicitly answers "when" with an explicit trigger clause ("Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites)") and "what" via the concrete capability list (neon setup, baselines, WordPress-specific typing, third-party plugin classes). Anchor 4 would require the 'when' to be less explicit or specific, which is not the case here.

5 / 5

Trigger Term Quality

Strong natural keywords users would actually say: "PHPStan", "static analysis", "WordPress", "plugins/themes", "phpstan.neon", "baselines". It misses a few natural variations (e.g. "fix PHPStan errors", "analyse level", "lint"), matching the anchor-4 example of good coverage with a few terms missing rather than the comprehensive synonym/extension coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche — PHPStan static analysis specifically in WordPress projects — with distinct trigger terms ("phpstan.neon", "baselines", "WordPress-specific typing") that no general PHP, linting, or WordPress skill would share, so conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
WordPress/agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.