Build event-driven APIs with webhooks, Server-Sent Events, and real-time notifications. Use when building event-driven API architectures. Trigger with phrases like "add webhooks", "implement events", or "create event-driven API".
65
58%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/api-development/api-event-emitter/skills/emitting-api-events/SKILL.mdQuality
Discovery
82%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 adequately covers the 'what' and 'when' with explicit trigger phrases, which is a strength. However, the specificity of concrete actions is limited to just 'build', and the domain could overlap with adjacent API or messaging skills. Adding more specific actions and narrowing the scope would improve it.
Suggestions
Add more specific concrete actions beyond 'build', such as 'register webhook endpoints, manage event subscriptions, handle delivery retries, validate webhook signatures, configure SSE streams'.
Differentiate from adjacent skills by clarifying boundaries, e.g., 'Not for WebSocket-based real-time communication or message queue architectures' to reduce conflict risk.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (event-driven APIs) and lists some technologies (webhooks, Server-Sent Events, real-time notifications), but doesn't describe concrete actions beyond 'build'. It lacks specifics like 'register webhook endpoints, manage subscriptions, handle retries, validate signatures'. | 2 / 3 |
Completeness | Explicitly answers both 'what' (build event-driven APIs with webhooks, SSE, real-time notifications) and 'when' (use when building event-driven API architectures, with explicit trigger phrases). Has a clear 'Use when...' clause and trigger examples. | 3 / 3 |
Trigger Term Quality | Includes good natural trigger terms: 'webhooks', 'events', 'event-driven API', 'Server-Sent Events', 'real-time notifications', plus explicit trigger phrases like 'add webhooks', 'implement events'. These are terms users would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | While 'webhooks' and 'Server-Sent Events' are fairly distinct, 'event-driven API' and 'implement events' could overlap with general API design skills or message queue skills. The scope is somewhat broad and could conflict with skills focused on WebSockets, message brokers, or general API design. | 2 / 3 |
Total | 10 / 12 Passed |
Implementation
35%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides a well-organized architectural overview of event-driven API patterns with good error documentation, but critically lacks any executable code or concrete implementation examples. It reads more like a design document or requirements specification than an actionable skill that Claude can follow to produce working code. The referenced bundle files (implementation.md, errors.md, examples.md) don't exist, leaving the skill without the detailed guidance it promises.
Suggestions
Add executable code examples for at least the core patterns: event emitter with outbox pattern, webhook delivery with HMAC signing, and SSE endpoint setup—these should be copy-paste ready, not prose descriptions.
Add explicit validation checkpoints between steps, e.g., 'Verify event emission by checking the outbox table before implementing webhook delivery' and 'Test webhook signature verification before adding retry logic'.
Either provide the referenced bundle files (implementation.md, errors.md, examples.md) with detailed implementation code, or inline the critical code examples directly in the SKILL.md.
Convert the narrative examples section into concrete input/output pairs showing actual event payloads, webhook request/response formats, and SSE stream output.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is reasonably structured but includes some unnecessary verbosity—the overview restates what the instructions cover, the prerequisites list things Claude can infer, and the examples section describes scenarios narratively rather than showing concrete code. Some tightening is possible. | 2 / 3 |
Actionability | Despite listing 8 steps, the skill provides zero executable code, no concrete commands, and no copy-paste-ready examples. Every instruction is descriptive ('implement the event emitter service', 'build a webhook subscription management API') rather than showing actual implementation. The examples section describes scenarios in prose without any code. | 1 / 3 |
Workflow Clarity | The 8 steps are sequenced logically and the error handling table provides useful troubleshooting guidance. However, there are no explicit validation checkpoints between steps—no 'verify events are being published before proceeding to webhook delivery' or similar feedback loops for what is a complex, multi-component system with destructive/async operations. | 2 / 3 |
Progressive Disclosure | The skill references external files (implementation.md, errors.md, examples.md) which is good structure, but no bundle files are provided, meaning those references lead nowhere. The output file listing is well-organized, but the main content includes substantial inline detail (error table, examples) that could be in the referenced files, while the referenced files that should contain the actual implementation guidance don't exist. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
3a2d27d
Table of Contents
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.