Implement Evernote webhook notifications and sync events. Use when handling note changes, implementing real-time sync, or processing Evernote notifications. Trigger with phrases like "evernote webhook", "evernote events", "evernote sync", "evernote notifications".
74
70%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/saas-packs/evernote-pack/skills/evernote-webhooks-events/SKILL.mdQuality
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 solid skill description with excellent trigger term coverage and completeness, explicitly listing both use cases and trigger phrases. The main weakness is that the specific capabilities could be more concrete—listing particular actions like parsing webhook payloads, handling specific event types, or configuring endpoints would strengthen the specificity dimension.
Suggestions
Add more concrete actions beyond 'implement' and 'process', such as 'parse webhook payloads, verify webhook signatures, handle note creation/update/deletion events, configure sync endpoints'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Evernote webhooks) and some actions ('implement webhook notifications', 'sync events'), but doesn't list multiple concrete specific actions like parsing payloads, verifying signatures, or handling specific event types. | 2 / 3 |
Completeness | Clearly answers both 'what' (implement Evernote webhook notifications and sync events) and 'when' (handling note changes, implementing real-time sync, processing notifications) with explicit trigger phrases listed. | 3 / 3 |
Trigger Term Quality | Includes explicit trigger phrases that users would naturally say: 'evernote webhook', 'evernote events', 'evernote sync', 'evernote notifications'. Also includes natural terms like 'note changes', 'real-time sync'. Good coverage of variations. | 3 / 3 |
Distinctiveness Conflict Risk | Highly specific to Evernote webhooks and sync events. The combination of 'Evernote' with 'webhook', 'sync', and 'notifications' creates a clear niche that is unlikely to conflict with other skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides a reasonable overview of Evernote webhook implementation with some executable code and a clear error handling table. However, it falls short on actionability — several steps are descriptive rather than providing concrete code — and lacks validation checkpoints in the workflow. The referenced implementation guide doesn't exist in the bundle, undermining the progressive disclosure strategy.
Suggestions
Add executable code for Steps 4 and 5 (event routing with handler dispatch and polling fallback with timer), or ensure the referenced implementation-guide.md actually exists in the bundle.
Add a validation checkpoint after Step 1 (e.g., how to test the webhook endpoint with a curl command or Evernote's webhook testing tool).
Include a concrete step for registering the webhook URL with Evernote's developer portal, as this is a critical setup step that's currently missing.
Remove the Prerequisites section (Claude knows what an API key and HTTPS endpoint are) and trim the Output section which largely restates the steps.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary explanation (e.g., 'Understanding of Evernote sync API' as a prerequisite, explaining what webhook reasons mean when Claude would know). The Output section is somewhat redundant given the steps already describe these. However, it's not egregiously verbose. | 2 / 3 |
Actionability | Two executable code snippets are provided (webhook endpoint and sync chunk), but Steps 2, 4, and 5 are descriptive rather than providing concrete code. The event routing and polling fallback are described abstractly without executable implementations. Key details like how to register the webhook with Evernote are missing. | 2 / 3 |
Workflow Clarity | Steps are sequenced logically from endpoint creation through sync state management to event processing and fallback. However, there are no explicit validation checkpoints — no step to verify the webhook is registered correctly, no verification that sync chunks were processed successfully, and no feedback loop for error recovery during the sync process. | 2 / 3 |
Progressive Disclosure | References an implementation guide at 'references/implementation-guide.md' which is good structure, but no bundle files are provided so this reference is broken. The error handling table and resources section are well-organized, but the Examples section at the bottom is text-only descriptions that could be more useful inline or in a separate file. | 2 / 3 |
Total | 8 / 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.