Implement Customer.io webhook and reporting event handling. Use when processing email delivery events, click/open tracking, bounce handling, or streaming to a data warehouse. Trigger: "customer.io webhook", "customer.io events", "customer.io delivery status", "customer.io bounces", "customer.io open tracking".
89
88%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Quality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly identifies the specific platform (Customer.io), lists concrete actions (webhook handling, bounce handling, click/open tracking, data warehouse streaming), and provides explicit trigger guidance with natural user terms. It follows the recommended pattern of 'what it does' + 'Use when' + trigger terms, making it easy for Claude to select appropriately.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: webhook handling, reporting event handling, email delivery events, click/open tracking, bounce handling, and streaming to a data warehouse. | 3 / 3 |
Completeness | Clearly answers both 'what' (implement Customer.io webhook and reporting event handling) and 'when' (explicit 'Use when' clause with specific scenarios plus a 'Trigger' list of terms). | 3 / 3 |
Trigger Term Quality | Includes explicit, natural trigger terms that users would actually say: 'customer.io webhook', 'customer.io events', 'customer.io delivery status', 'customer.io bounces', 'customer.io open tracking'. These cover common variations of how users would phrase requests. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive due to the specific 'Customer.io' branding and the narrow focus on webhook/event handling for that platform. Unlikely to conflict with generic webhook or email skills due to the explicit platform scoping. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, highly actionable skill with complete, executable TypeScript code covering the full Customer.io webhook lifecycle. The workflow is well-sequenced with proper validation (signature verification, deduplication, async processing). The main weakness is that it's quite long for a SKILL.md — the type definitions, individual handlers, and warehouse streaming could be split into referenced files to improve progressive disclosure and reduce token cost.
Suggestions
Extract the full type definitions and individual handler implementations into separate referenced files (e.g., types/customerio-webhooks.ts and handlers/customerio.ts) to reduce SKILL.md length
Remove inline comments that explain obvious metric meanings (e.g., '// Message sent to delivery provider') since Claude already understands these concepts
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but includes some unnecessary commentary (e.g., inline comments explaining obvious things like '// Message sent to delivery provider', the ASCII diagram, and explanations of what each metric means that Claude would already know). The type comments for CioMetric are borderline redundant. | 2 / 3 |
Actionability | Fully executable TypeScript code throughout with complete implementations for signature verification, event routing, handlers, server setup, and warehouse streaming. Code is copy-paste ready with proper imports, error handling, and environment variable references. | 3 / 3 |
Workflow Clarity | Clear 5-step sequence from type definitions through server setup to warehouse streaming. Includes important validation checkpoints (signature verification, deduplication), explicit async processing pattern to avoid timeouts, and an error handling table covering common failure modes with solutions. | 3 / 3 |
Progressive Disclosure | The skill is quite long (~250 lines of content) and could benefit from splitting the warehouse streaming, type definitions, or handler implementations into separate files. The references to external docs and next steps are good, but the monolithic inline approach makes it heavier than ideal for a SKILL.md overview. | 2 / 3 |
Total | 10 / 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.