CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-use-case-pattern

UseCase implementation pattern — DI, Result handling, error types, decorators, CMS repositories, entry mappers, and schema-based permissions. Use this skill to implement, inject, override, or decorate any Webiny UseCase, or to build repositories that persist data via CMS.

70

Quality

88%

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

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.

A high-quality, pattern-focused skill body: fully executable code for every scenario it claims to cover, explicit non-obvious rules (decoratee ordering, extension requirements, forbidden Result methods), and a mandatory type-resolution gate. The main gaps are the absence of a build/verify feedback loop after implementation and heavy inline content that could be partially moved to reference files.

Suggestions

Add a post-implementation validation step (e.g. typecheck or a local build command) so implementations can be verified and fixed before `yarn webiny deploy api --env=dev` — this closes the missing feedback loop in workflow_clarity.

Move detailed sections (domain error taxonomy, decorator registration, CMS use-case import catalog) into a references/ file and link them from SKILL.md to reduce always-loaded context and improve progressive disclosure.

Deduplicate the default-export rule, which is stated in the Registration section and repeated in the UseCase and Repository Rules lists — state it once authoritatively and reference it.

DimensionReasoningScore

Conciseness

The body is dense with executable code and short rules lists, with almost no padding of concepts Claude already knows — e.g. "Never use `result.isError()`, `result.getError()`, or `result.getValue()` — these do not exist" is exactly the kind of non-obvious knowledge a skill should carry. Not 5 because there is mild repetition (the default-export rule appears in Registration and again in two Rules lists; the 'Export as `default`' bullet recurs) and the 8-line one-import-per-line CMS import block could be condensed. Not 3 because the verbosity is minor trimming, not unnecessary explanation.

4 / 5

Actionability

Every section provides complete, copy-paste-ready TypeScript (handler wiring, override, error classes, abstractions with typed error unions, use case implementation, CMS repository, mapper, decorator, feature registration) plus a concrete deploy command (`yarn webiny deploy api --env=dev`) and explicit rules ("decoratee is LAST", "dependencies array does NOT include the decoratee"). Not 4 because the examples are complete and cover all common cases the skill itself enumerates.

5 / 5

Workflow Clarity

The sections form a coherent build sequence (use → override → register → errors → implementation → repository → decorator), and 'Resolving Types (MANDATORY)' gives an explicit 3-step verification sequence with a hard gate ("Only use properties and method signatures confirmed in the source"). Registration warnings ("Omitting the file extension will cause a build failure") act as partial checkpoints. Not 5 because there is no post-implementation validation/feedback loop — no build, typecheck, or test step to confirm the written code compiles, so a failed implementation has no recovery path in the skill.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), and the body is well-structured with clear section headers; it appropriately delegates permissions to the **webiny-api-permissions** skill and lists five related skills under 'Related Skills', all one level deep and clearly signaled. Not 5 because ~450 lines of pattern detail (error taxonomy, decorators, CMS repository patterns) live entirely inline in SKILL.md where some could be split into reference files to reduce always-loaded context; not 3 because what splitting does exist is clearly signaled and the inline content is cohesive, not buried.

4 / 5

Total

17

/

20

Passed

Description

88%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 that names a clear niche (Webiny UseCase pattern), enumerates concrete capabilities, and includes an explicit 'Use this skill to...' trigger clause covering implement/inject/override/decorate/repository-building. The only weaknesses are minor: a few missing natural synonym variations and slight overlap with the permissions skill it references.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities ("DI, Result handling, error types, decorators, CMS repositories, entry mappers, and schema-based permissions") and concrete actions ("implement, inject, override, or decorate any Webiny UseCase, or to build repositories that persist data via CMS"), comprehensively covering the skill's scope. Not 4 because coverage of the skill's actions is complete rather than having minor gaps.

5 / 5

Completeness

It explicitly answers both what ("UseCase implementation pattern — DI, Result handling, error types, decorators, CMS repositories, entry mappers, and schema-based permissions") and when ("Use this skill to implement, inject, override, or decorate any Webiny UseCase, or to build repositories that persist data via CMS") with concrete trigger phrases. Not 4 because the 'when' clause is explicit and specific rather than only 'could be more explicit'.

5 / 5

Trigger Term Quality

Natural domain terms are present ("UseCase", "Webiny", "CMS", "repositories", "decorate", "DI"), which a user working in this codebase would actually say. Not 5 because it omits common variations/synonyms such as "webiny api", "entry", "persist data" is present but "CRUD" and related phrasings users might use are missing; not 3 because coverage is good, not just 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

"any Webiny UseCase" carves out a clear niche with distinct triggers, but the mention of "schema-based permissions" overlaps with the referenced webiny-api-permissions skill, creating minor overlap risk. Not 5 due to that overlap; not 3 because the Webiny/UseCase framing is far more specific than 'somewhat specific'.

4 / 5

Total

18

/

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.