CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-api-cms-catalog

API — Headless CMS — 137 abstractions. Entry, model, and group event handlers and use cases.

48

Quality

61%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/user-skills/generated/api/cms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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.

The body is a clean, consistently formatted lookup catalog with genuinely actionable per-abstraction import and source pointers, and it wisely avoids explaining concepts Claude already knows. Its main weakness is structure: the entire 137-entry catalog is inlined monolithically in SKILL.md rather than split into reference files, and the per-entry format is token-redundant.

Suggestions

Split the catalog into one-level-deep reference files by domain (e.g. references/entry.md, references/model.md, references/group.md, references/opensearch.md) and keep only a short index plus the 'How to Use' steps in SKILL.md, linking each section clearly.

Tighten the per-entry format — e.g. a markdown table with Name | Import | Source | Description columns — to remove the redundancy of restating each name inside a full import statement and cut the token cost substantially.

Add a short copy-paste usage example (e.g. implementing one event handler and one use case) so the workflow has a concrete anchor beyond 'see other skills'.

DimensionReasoningScore

Conciseness

The body assumes Claude's competence — no concept explanations, no library introductions — but the ~900-line catalog is formatted redundantly: each entry's full import statement restates the name already on the preceding line, and many entries carry no Description at all. This matches anchor 3 ('mostly efficient but ... could be tightened'); not a 2 because there is no explanatory padding, only data.

3 / 5

Actionability

Every abstraction provides an exact import path and source file location, and the "You MUST read the source file to get the exact interface and types" instruction makes the workflow concrete and executable. Anchor 4 ('mostly executable guidance; concrete code or commands with minor gaps'); not a 5 because there is no usage example and the referenced pattern skills' content is not shown.

4 / 5

Workflow Clarity

The four-step 'How to Use' sequence (find abstraction → read source → import → consult pattern skill) is clear and coherent, with the mandatory source read acting as a verification checkpoint before use. This is a lookup catalog, not a destructive or batch operation, so the workflow cap does not apply; not a 5 because there are no error-recovery or fallback steps.

4 / 5

Progressive Disclosure

All 137 abstractions (~900 lines of API reference) are inlined directly in SKILL.md with no sub-headers grouping them by domain (entry/model/group) and no bundle files (references/, scripts/, assets/ are absent) — matching anchor 2 ('content that clearly belongs in separate files is inlined'). Not a 1 because the two top-level headers ('How to Use', 'Abstractions') do provide minimal structure and the per-abstraction format is consistent.

2 / 5

Total

13

/

20

Passed

Description

45%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.

The description identifies the domain and scope clearly and concisely, but reads like a table of contents rather than a capability statement: no concrete actions, no 'use when' trigger guidance, and no distinguishing trigger terms like "Webiny". It would benefit most from an explicit trigger clause and action-oriented phrasing.

Suggestions

Add an explicit trigger clause, e.g. "Use when implementing or extending Webiny's Headless CMS — creating content models, publishing entries, hooking into entry/model/group lifecycle events, or building custom CMS plugins."

Replace the noun-only category list with concrete action verbs (e.g. "Create, list, validate, publish, and delete content entries; build custom model fields and GraphQL schemas") so the 'what' describes capabilities, not just catalog categories.

Include the natural trigger keyword "Webiny" and common domain phrases like "content model", "content entry", and "lifecycle hooks" that users would actually say when needing this skill.

DimensionReasoningScore

Specificity

The description names the domain ("Headless CMS — 137 abstractions") and its categories ("Entry, model, and group event handlers and use cases") but contains no concrete action verbs — it lists what the catalog contains rather than what a user does with it, matching anchor 2 ('names the domain but actions are minimal or generic'). It is not a 3 because there is no 'extracts'/'processes'-style concrete action, only a generic noun enumeration.

2 / 5

Completeness

The 'what' is stated (a catalog of 137 abstractions: "Entry, model, and group event handlers and use cases") but there is no 'Use when...' clause or any equivalent trigger guidance, which per the judging guidelines caps completeness at 3. Not a 2 because the 'what' is reasonably clear, not vague.

3 / 5

Trigger Term Quality

Terms like "Headless CMS", "event handlers", "use cases", "entry", "model", and "group" are relevant to the domain, but the most natural user trigger phrases — "Webiny", "content model", "publish an entry" — are missing, matching anchor 3 ('some relevant keywords but missing common variations or synonyms'). Not a 4 because keyword coverage is thin for a catalog of 137 abstractions.

3 / 5

Distinctiveness Conflict Risk

"Headless CMS" is a recognizable niche, but the body itself references sibling skills ("webiny-use-case-pattern", "webiny-event-handler-pattern") implying a family of similar Webiny catalog skills it could be confused with, matching anchor 3 ('somewhat specific but could still overlap with similar skills'). Not a 4 because no trigger phrase distinguishes this catalog from those siblings.

3 / 5

Total

11

/

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

skill_md_line_count

SKILL.md is long (965 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
webiny/webiny-js
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.