CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-api-db-catalog

api/db — 6 abstractions.

51

Quality

64%

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

Quality

Content

82%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, well-structured catalog: exact imports, exact source paths, and a clear usage sequence with zero padding. Its main weakness is that each abstraction entry is a bare pointer with no description, forcing the reader to open all six source files to pick the right one. A one-line purpose per entry would substantially improve actionability and navigation at modest token cost.

Suggestions

Add a one-line description of what each abstraction does (e.g. 'DbRegistry — registers and resolves database drivers') so users can select the right one without reading every source file.

Link the Source paths to actual files or explain where they resolve from ('@webiny/...' vs a repo-relative path) so step 2 is unambiguous.

Clarify when to prefer the two referenced pattern skills (use-case vs event-handler) — currently step 4 delegates without criteria.

DimensionReasoningScore

Conciseness

The body contains no concept explanations and no padding — every line is either procedure ("1. Find the abstraction you need below / 2. You MUST read the source file to get the exact interface and types!") or data (Name/Import/Source triples). This matches anchor 5: lean, assumes Claude's competence, every token earns its place.

5 / 5

Actionability

Import statements (e.g. "import { DbRegistry } from \"webiny/api/db\"") and exact source paths ("@webiny/db/features/DbRegistry/index.ts") are copy-paste ready. However there are no signatures, no usage example, and no interface details — anchor 4 ('mostly executable with minor gaps') rather than anchor 5, which expects examples covering common cases.

4 / 5

Workflow Clarity

The 4-step 'How to Use' sequence (find abstraction → read source → import → consult pattern skills) is clear, ordered, and unambiguous for this non-destructive skill, so no validation cap applies. It falls short of anchor 5 because step 1 ('Find the abstraction you need below') is circular: with no per-abstraction descriptions, selecting the right one requires reading all six source files.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, assets/), and the body is short with well-organized sections and clearly signaled one-level-deep external pointers (per-abstraction Source paths and two sibling skills). This matches anchor 4 ('good structure, most content appropriately placed, minor organization gaps') — the gap being that entries lack one-line summaries that would let the reader navigate without opening every source file.

4 / 5

Total

17

/

20

Passed

Description

28%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 terse label rather than a functional description: it names the domain and counts abstractions but says nothing about what the skill does or when to use it. It would rarely trigger correctly on its own. Adding 1–2 concrete actions and an explicit 'Use when...' clause would move it to the 4–5 range with minimal added tokens.

Suggestions

Add an explicit 'what' with concrete verbs, e.g. 'Catalogs the 6 abstractions in Webiny's api/db module with import paths and source file locations.'

Add a 'Use when...' clause naming natural trigger phrases, e.g. 'Use when working with Webiny api/db code, database abstractions, or deciding which db abstraction to import.'

Include user-recognizable synonyms (DynamoDB, filters, registry) so the description triggers on the terms developers actually say.

DimensionReasoningScore

Specificity

The description reads only "api/db — 6 abstractions." — it names the domain and a count but contains no action verbs whatsoever (no 'catalogs', 'documents', 'provides'). It is not purely abstract language like anchor 1's example, but it falls below anchor 3 because it lists zero concrete actions.

2 / 5

Completeness

There is no 'Use when...' clause or equivalent trigger guidance, and even the 'what' is vague — the reader must infer that a catalog of 6 abstractions is being provided. This matches anchor 2 ('has a vague what and no when'); anchor 3 requires a clear 'what', which the bare count does not provide.

2 / 5

Trigger Term Quality

The only keywords are "api/db" and "abstractions" — a module path and technical jargon. It sits between anchor 1 ('only technical jargon') and anchor 2 ('one or two generic keywords, missing natural phrases'): two domain keywords are present, but no natural phrase a user would actually say when needing this skill.

2 / 5

Distinctiveness Conflict Risk

"api/db" is a narrow, specific scope, but the body references sibling skills (webiny-use-case-pattern, webiny-event-handler-pattern), implying a family of similar catalog skills that this terse description would not reliably distinguish. Anchor 3 ('somewhat specific but could still overlap with similar skills') fits best; anchor 4 would require more distinct triggers than a module path alone.

3 / 5

Total

9

/

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.