CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-api-catalog

api — 34 abstractions.

50

Quality

63%

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/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

85%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 lean, consistent, and highly actionable lookup catalog: exact imports, source paths, and a clear read-source-before-import workflow, with zero token waste. Its one structural weakness is that the entire ~220-line catalog lives inline in SKILL.md rather than in a one-level-deep reference file, which also leaves the skill without any bundle files.

Suggestions

Move the 34-entry catalog to references/catalog.md and keep SKILL.md as a short overview ('See [catalog.md](references/catalog.md) for all 34 abstractions'), so the catalog loads only when needed.

Within the catalog (or as section headers if it stays inline), group entries by feature area (ai, websockets, key-value, encryption, core utilities) to speed discovery instead of relying on a flat alphabetical list.

Add one short end-to-end usage example (import an abstraction, resolve it from context, call a method) to close the actionability gap between 'find and import' and actual use.

DimensionReasoningScore

Conciseness

The body is pure lookup data — 34 entries of 3-4 terse lines each (Name/Import/Source/one-line description) with no padding and no explanation of concepts Claude already knows. 'You MUST read the source file to get the exact interface and types!' correctly delegates interface details instead of duplicating them, so every token earns its place — anchor 5, not 4, since nothing is trimmable.

5 / 5

Actionability

Every entry provides a copy-paste-ready import statement ('import { Ai } from "webiny/api"') and an exact source path, and the usage steps are concrete. Minor gap: there is no end-to-end example of using an abstraction after importing it, so it sits at anchor 4 ('mostly executable, minor gaps') rather than 5.

4 / 5

Workflow Clarity

The three-step workflow ('1. Find the abstraction you need below 2. You MUST read the source file... 3. Import: ...') is a clear, unambiguous sequence for a single-purpose, read-only lookup task. No destructive or batch operations are involved, so the validation cap does not apply; the single action is unambiguous, matching the simple-skill exception to anchor 5.

5 / 5

Progressive Disclosure

Roughly 220 lines of API reference are inlined in SKILL.md itself, with no bundle files or references to split the load — this is content that 'clearly belongs in separate files' per anchor 2's example. The 'How to Use' overview and consistent per-entry structure lift it to anchor 3, but not anchor 4, since moving the catalog to references/catalog.md (ideally grouped by feature area) is clearly warranted at this size.

3 / 5

Total

17

/

20

Passed

Description

25%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 a bare label rather than a capability statement: it names the domain and a count but gives no actions, no usage triggers, and no distinctiveness from other API-related skills. A user or Claude scanning skill descriptions would have no basis for selecting or invoking this skill.

Suggestions

State concrete actions in third person, e.g. 'Catalogs the 34 abstractions exported by the webiny/api package: lists each abstraction's name, import path, and source file; requires reading the source for exact interfaces before use.'

Add an explicit trigger clause: 'Use when working with the Webiny api package — importing abstractions, locating an abstraction's source file, or resolving which abstraction fits a task.'

Include natural trigger terms users would say: 'webiny', 'api', 'abstraction', 'import from webiny/api', 'find interface', rather than only the jargon term 'abstractions'.

DimensionReasoningScore

Specificity

The description 'api — 34 abstractions.' names the domain (api) and a count, but states zero concrete actions — no verbs describing what the skill does. It is not entirely vague (anchor 1) since the domain is named, but it falls well short of anchor 3, which requires at least 1-2 concrete actions.

2 / 5

Completeness

The 'what' is only a vague count ('34 abstractions') and the 'when' is completely absent — there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 anyway. This matches anchor 2 ('has a vague what and no when') and not anchor 3, which requires a clear 'what'.

2 / 5

Trigger Term Quality

The only keywords are 'api' and 'abstractions' — one generic term plus technical jargon. Natural phrases a user would actually say (Webiny, imports, interfaces, finding abstractions) are entirely missing, fitting anchor 2 rather than anchor 1 because 'api' is a term users do say.

2 / 5

Distinctiveness Conflict Risk

'api' is very broad and would overlap with virtually any API-related skill; '34 abstractions' provides no user-recognizable distinguishing trigger. Not anchor 1 because the description is not generic boilerplate like 'helps with code and documents', but overlap risk is high.

2 / 5

Total

8

/

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