CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-api-cms-catalog

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

55

Quality

62%

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

71%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 an efficient, actionable catalog: every entry carries a real import path and source location, and the usage workflow is clear and direct. Its main weakness is organization — 137 abstractions sit in one undifferentiated flat list with no sub-grouping or index to aid discovery.

Suggestions

Group the 137 abstractions under sub-headings (e.g. Entry Use Cases, Model Event Handlers, Group Handlers, Types, Builders) or add a table of contents so users can navigate without scanning the whole file.

Add a one-line usage snippet for the highest-value abstractions (e.g. ModelBuilder, a representative use case) so the most common cases are actionable without reading external source.

Consider moving the bulk catalog into a references/ file and keeping SKILL.md as a concise overview with one-level-deep links, which would improve progressive disclosure.

DimensionReasoningScore

Conciseness

Each of the 137 entries is a lean Name/Import/Source/(Description) block with no concept explanations Claude already knows, and the 'How to Use' steps are tight (anchor 4). It stops short of 5 because the import-path boilerplate repeats verbatim across 137 entries and a few multi-line descriptions (e.g. DataFieldBuilder, LayoutBuilder) could be trimmed.

4 / 5

Actionability

Concrete, copy-paste-ready import statements appear per entry and 'How to Use' gives explicit steps including 'Import: `import { Name } from "<importPath>";`' (anchor 4). It is not 5 because actual usage requires reading the external source file for the exact interface and types, leaving a gap in inline executable detail.

4 / 5

Workflow Clarity

The 4-step 'How to Use' (find -> MUST read source -> import -> see pattern skills) is a clear, unambiguous sequence with a strong directive to read source first (anchor 4). No validation checkpoints are present, but none are required for a non-destructive lookup skill, so it does not reach the validation-rich anchor 5.

4 / 5

Progressive Disclosure

There are only two section headers ('How to Use', 'Abstractions') over a ~960-line flat alphabetical list with no grouping (entry/model/group, use-cases/handlers/types) and no table of contents, so structure exists but is poorly organized for navigation (anchor 3). No bundle files are present, so there are no one-level-deep references to credit toward anchor 4-5.

3 / 5

Total

15

/

20

Passed

Description

53%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 is terse and on-domain but functions more as a label than a trigger: it states what the catalog contains without any 'Use when...' guidance. It is reasonably distinct within the Webiny ecosystem but would benefit from explicit trigger phrasing and more concrete action language.

Suggestions

Add a 'Use when...' clause naming concrete triggers, e.g. 'Use when implementing Webiny Headless CMS entry/model/group event handlers or use cases and you need the right abstraction to import.'

Replace category labels with a few concrete actions a user would perform, such as 'find, import, and extend Headless CMS abstractions'.

Include natural synonyms users actually say (e.g. 'content model', 'CMS entry', 'Webiny API') to improve trigger-term coverage.

DimensionReasoningScore

Specificity

Quotes 'Headless CMS' and 'Entry, model, and group event handlers and use cases' name the domain plus two concrete abstraction categories, but stop at category labels rather than listing comprehensive concrete actions (anchor 3). It does not reach anchor 4 because the 'actions' are broad categories, not several specific operations.

3 / 5

Completeness

A clear 'what' is present ('137 abstractions... event handlers and use cases') but there is no 'when' / 'Use when...' clause, which per the rubric caps completeness at 3.

3 / 5

Trigger Term Quality

Terms like 'Headless CMS', 'API', 'event handlers', and 'use cases' are relevant domain keywords, but the description lacks natural user-spoken variations, synonyms, or a 'Use when...' trigger phrase (anchor 3, not 4).

3 / 5

Distinctiveness Conflict Risk

'Headless CMS' carves a clear niche distinct from the referenced pattern skills, with only minor overlap risk against potential sibling webiny-api catalog skills (anchor 4, not 5 because of that sibling overlap risk).

4 / 5

Total

13

/

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.

Validation15 / 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.