CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-event-handler-pattern

EventHandler implementation pattern — handle method, event payloads, filtering, DI, domain event definition, publishing events from UseCases, and reacting to external events. Use this skill to implement any Webiny EventHandler (before/after hooks) or to define and publish your own domain events.

69

Quality

83%

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

75%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 highly actionable with complete, executable code and a clear sequenced workflow including validation checkpoints. Its main weakness is conciseness — overlapping sections and a redundant 'Key Rules' recap inflate length, and a large reference-style block is inlined rather than moved to a separate file.

Suggestions

Merge 'Injecting Dependencies' into 'How to Implement' (or trim it to the DI-construction-order rule) to remove overlap with the prior example.

Cut the 'Key Rules' recap to only the items not already stated inline (before/after mutation semantics, .js imports, dependency-array ordering) and drop the rest as duplication.

Move the full 'Defining Your Own Domain Events' block (abstractions.ts/events.ts/publishing) into a references/ file (e.g. DEFINING_EVENTS.md) and leave a concise summary plus a one-level-deep link in the body.

DimensionReasoningScore

Conciseness

Mostly efficient with no padded concept explanations, but ~290 lines with redundant sections — 'Injecting Dependencies' overlaps 'How to Implement', and 'Key Rules' restates inline guidance (filter by model, publish order, payload mutation) — so it could be tightened.

3 / 5

Actionability

Fully executable, copy-paste-ready TypeScript covering the common cases: handler implementation with createImplementation/dependencies, event payload + namespace definitions in abstractions.ts, event classes in events.ts, and publishing before/after events from a UseCase.

5 / 5

Workflow Clarity

Clear sequence for defining domain events (payload types → event classes → publish from UseCase with before/operation/after ordering) plus a mandatory numbered 'Resolving Types' checkpoint procedure and explicit registration must-rules, with only minor validation gaps.

4 / 5

Progressive Disclosure

Well-organized into clear sections with a 'Related Skills' cross-link list, but at ~290 lines with no bundle files, the long reference-style domain-event-definition material (abstractions.ts/events.ts/publishing) is inlined rather than split into a reference file.

4 / 5

Total

16

/

20

Passed

Description

92%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 specific, complete, and clearly scoped to a distinct niche, explicitly stating both what the skill does and when to use it. Its only mild weakness is a slightly technical/jargon-heavy set of trigger terms.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — handle method, event payloads, filtering, DI, domain event definition, publishing from UseCases, reacting to external events — giving comprehensive coverage of the pattern.

5 / 5

Completeness

Explicitly answers both what (the implementation pattern and its capabilities) and when ('Use this skill to implement any Webiny EventHandler... or to define and publish your own domain events').

5 / 5

Trigger Term Quality

Strong natural terms like 'EventHandler', 'before/after hooks', 'domain events', and 'publish events', but coverage leans technical ('UseCases', 'DI') and is missing a few common synonyms.

4 / 5

Distinctiveness Conflict Risk

A clearly bounded Webiny EventHandler niche with distinct triggers (before/after hooks, domain events) and minimal risk of triggering for unrelated work.

5 / 5

Total

19

/

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.

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