CtrlK
BlogDocsLog inGet started
Tessl Logo

wp-block-development

Use when developing WordPress (Gutenberg) blocks: block.json metadata, register_block_type(_from_metadata), attributes/serialization, supports, dynamic rendering (render.php/render_callback), deprecations/migrations, viewScript vs viewScriptModule, and @wordpress/scripts/@wordpress/create-block build and test workflows.

66

Quality

83%

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

67%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-structured, navigable skill body with a clear procedure, verification checklist, and a genuine one-level-deep reference bundle. The main deductions are duplicated version-sensitive apiVersion content between SKILL.md and references/block-json.md, sparse inline executable examples, and two script paths that don't resolve against the actual bundle layout.

Suggestions

Collapse step 2's apiVersion detail into a 2-3 line summary plus a pointer to references/block-json.md, removing the duplicated rationale and migration notes from the body.

Fix script paths to match the bundle layout (scripts/list_blocks.mjs) and note that the wp-project-triage script is an external sibling-skill dependency, or vendor it.

Add one small inline example for the most fragile operation — a minimal `deprecated` entry with `save` and `migrate` — so step 9 is executable without a file jump.

DimensionReasoningScore

Conciseness

The body is mostly tight bullet-style guidance, but step 2 spends ~15 lines on version-sensitive detail ("WordPress 6.9 enforces apiVersion: 3", "WordPress 7.0 will run the post editor in an iframe", style isolation/viewport rationale) that substantially duplicates references/block-json.md, which repeats the same apiVersion requirements, rationale, and migration checklist. This is more than minor trimming and the version-numbered content is not confined to a deprecated/old-patterns section, so it does not reach anchor 4.

3 / 5

Actionability

Guidance names concrete commands (`node skills/wp-block-development/scripts/list_blocks.mjs`) and exact APIs (`useBlockProps()`, `useBlockProps.save()`, `get_block_wrapper_attributes()`, `useInnerBlocksProps()`), with specific pitfalls ("changing `name` breaks compatibility", "avoid the deprecated `meta` attribute source"). It is not a 5 because several steps defer entirely to reference files without a single inline executable snippet (e.g., no example `deprecated` entry or registration call), leaving minor gaps.

4 / 5

Workflow Clarity

A clearly sequenced procedure (triage → scaffold → model choice → metadata → registration → patterns → serialization → deprecations → tooling) with a dedicated Verification checklist ("Saving + reloading does not create 'Invalid block'") and a Failure modes section that routes errors to specific references. It falls short of anchor 5 because intermediate checkpoints are sparse (only step 1 has an explicit confirm step) and the verification items lack the concrete commands a full feedback loop would use.

4 / 5

Progressive Disclosure

The body is a lean overview with well-signaled, one-level-deep 'Read: references/*.md' pointers, and all 10 referenced reference files exist in the bundle with real content. However, scoring against the actual bundle: the referenced path `skills/wp-block-development/scripts/list_blocks.mjs` resolves only to `scripts/list_blocks.mjs` in the bundle layout, and `skills/wp-project-triage/scripts/detect_wp_project.mjs` does not exist in this bundle at all — minor navigation gaps that keep it below the anchor-5 'easy navigation' bar.

4 / 5

Total

15

/

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.

A strong description: explicit 'Use when' trigger, highly specific technical enumeration, and a distinct niche. The only gap is missing a few natural user phrasings and failure-mode trigger terms (e.g., 'create a block', 'invalid block', 'block editor').

Suggestions

Add natural failure-language triggers users actually say, such as 'block invalid' or 'attributes not saving', to improve trigger_term_quality from 4 to 5.

Include common phrasings like 'create a block' or 'block editor' as synonyms alongside the API-heavy terms.

DimensionReasoningScore

Specificity

The description enumerates concrete, technical coverage areas — "block.json metadata, register_block_type(_from_metadata), attributes/serialization, supports, dynamic rendering (render.php/render_callback), deprecations/migrations, viewScript vs viewScriptModule" — which comprehensively covers the block-development domain with specific APIs and file names rather than vague language. It is not a 4 because the coverage goes beyond 'several specific actions with minor gaps' into a full inventory of the domain's concrete surfaces.

5 / 5

Completeness

It explicitly answers 'when' with a leading "Use when developing WordPress (Gutenberg) blocks" trigger clause, and answers 'what' with a concrete enumeration of the skill's scope. Both are explicit and concrete, matching the anchor-5 pattern of stating capabilities plus an explicit 'Use when...' with trigger phrases.

5 / 5

Trigger Term Quality

Strong natural terms are present ("WordPress (Gutenberg) blocks", "block.json", "render.php", "@wordpress/scripts", "create-block"), but common user phrasings like "create a block", "block editor", or failure-language such as "block invalid" / "attributes not saving" are missing. It sits above anchor 3 (which would miss most variations) but lacks the synonym-level breadth of anchor 5.

4 / 5

Distinctiveness Conflict Risk

"WordPress (Gutenberg) blocks" with APIs like `register_block_type`, `render_callback`, and `viewScriptModule` carves out a clear niche that would not plausibly fire for PDF, git, or generic web skills. Trigger terms are distinct with minimal overlap risk.

5 / 5

Total

19

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

15

/

16

Passed

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.