Configure Clerk webhooks and handle authentication events. Use when setting up user sync, handling auth events, or integrating Clerk with external systems via Svix webhooks. Trigger with phrases like "clerk webhooks", "clerk events", "clerk user sync", "clerk svix", "clerk event handling".
85
83%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Quality
Discovery
89%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 well-structured skill description with strong trigger terms, explicit 'Use when' guidance, and a clear niche. Its main weakness is that the capability description could be more specific about the concrete actions performed (e.g., verifying webhook signatures, handling specific event types, configuring endpoints). Overall it's a solid description that would perform well in skill selection.
Suggestions
Add more specific concrete actions like 'verify webhook signatures', 'parse user.created/user.updated events', or 'configure webhook endpoints' to improve specificity.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Clerk webhooks, authentication events) and some actions (configure, handle, sync), but doesn't list multiple specific concrete actions like endpoint setup, event parsing, signature verification, or specific event types handled. | 2 / 3 |
Completeness | Clearly answers both 'what' (configure Clerk webhooks, handle authentication events) and 'when' (explicit 'Use when' clause with specific scenarios plus a 'Trigger with phrases' section listing exact keywords). | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms including 'clerk webhooks', 'clerk events', 'clerk user sync', 'clerk svix', 'clerk event handling', plus mentions of 'auth events' and 'Svix webhooks' — these are terms users would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — Clerk-specific webhook handling with Svix is unlikely to conflict with other skills. The combination of 'Clerk', 'webhooks', and 'Svix' creates a clear, unique identity. | 3 / 3 |
Total | 11 / 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 strong, highly actionable skill with excellent executable code examples and clear workflow sequencing. Its main weakness is length — the multiple alternative approaches (verifyWebhook vs manual Svix, Next.js vs Express) and extensive event handler code make it verbose for a single SKILL.md file. Splitting alternatives and detailed handlers into referenced files would improve token efficiency.
Suggestions
Move the Express.js alternative endpoint and the full event handler switch statement into separate referenced files (e.g., EXPRESS_SETUP.md, EVENT_HANDLERS.md) to reduce the main skill's token footprint.
Consolidate the user.created and user.updated handlers into a shared helper to reduce code duplication and demonstrate DRY patterns.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly comprehensive but includes some redundancy — the event handler code for user.created and user.updated is nearly identical and could be condensed. The Express.js alternative endpoint (Step 6) adds bulk that could be a separate reference. However, it avoids explaining basic concepts Claude already knows. | 2 / 3 |
Actionability | Excellent actionability with fully executable TypeScript code for both Next.js and Express, complete event handler implementations, idempotency patterns, and specific dashboard configuration steps. The code is copy-paste ready with proper imports and types. | 3 / 3 |
Workflow Clarity | Clear numbered steps from installation through configuration, with explicit validation via signature verification, error handling table, and idempotency protection as a dedicated step. The CRITICAL comments about req.text() vs req.json() serve as important checkpoints for a common failure mode. | 3 / 3 |
Progressive Disclosure | The skill is quite long (~200 lines of code) and could benefit from splitting the alternative approaches (Express.js, manual Svix) and the full event handler implementations into separate reference files. The Resources section with external links is good, but the inline content is monolithic. | 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 | |
5585c45
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.