Implement Apollo.io webhook and event-driven integrations. Use when receiving Apollo notifications, syncing data on changes, or building event-driven pipelines from Apollo activity. Trigger with phrases like "apollo webhooks", "apollo events", "apollo notifications", "apollo webhook handler", "apollo triggers".
80
77%
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/apollo-pack/skills/apollo-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 well-structured skill description that clearly defines its niche (Apollo.io webhooks/events), provides explicit 'Use when' guidance, and lists concrete trigger phrases. The main weakness is that the specific capabilities could be more granular—listing concrete actions like parsing webhook payloads, configuring webhook endpoints, or handling specific Apollo event types would strengthen specificity.
Suggestions
Add more concrete actions beyond 'implement integrations'—e.g., 'parse webhook payloads, configure webhook endpoints, handle contact/account update events, retry failed deliveries'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Apollo.io webhook/event-driven integrations) and some actions (receiving notifications, syncing data on changes, building event-driven pipelines), but the actions are somewhat general and not deeply concrete—e.g., it doesn't specify specific webhook types, payload handling, or configuration steps. | 2 / 3 |
Completeness | Clearly answers both 'what' (implement Apollo.io webhook and event-driven integrations) and 'when' (receiving Apollo notifications, syncing data on changes, building event-driven pipelines) with explicit trigger phrases provided. | 3 / 3 |
Trigger Term Quality | Explicitly lists natural trigger phrases like 'apollo webhooks', 'apollo events', 'apollo notifications', 'apollo webhook handler', 'apollo triggers'. These are terms a user would naturally say when needing this skill, and the coverage of variations is good. | 3 / 3 |
Distinctiveness Conflict Risk | The description is narrowly scoped to Apollo.io webhooks and event-driven integrations specifically, with distinct trigger terms that are unlikely to conflict with general webhook skills or other CRM integration skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
64%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, actionable skill with executable TypeScript examples covering Apollo's polling-based integration pattern comprehensively. Its main weaknesses are the lack of inline validation/verification steps in the workflow (duplicate detection and error recovery are mentioned only in a table) and the monolithic structure that could benefit from splitting detailed code into referenced files. The content is slightly verbose but generally well-organized.
Suggestions
Add explicit validation checkpoints within the polling workflow, such as verifying the sync state was persisted, checking for duplicate contacts before processing, and confirming task creation succeeded before updating state.
Consider splitting the detailed code examples (stage-tracker.ts, sequence-monitor.ts, task-creator.ts) into bundle files and referencing them from SKILL.md to improve progressive disclosure and reduce inline length.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is reasonably well-structured but includes some unnecessary verbosity. The overview explaining what Apollo lacks and listing third-party platforms is useful context, but the code examples are quite lengthy and could be tightened. Some comments in code are redundant (e.g., '// Sync to your CRM, database, or notification system'). | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code with concrete API endpoints, request payloads, and response handling. Each step includes copy-paste ready code with proper imports, typed parameters, and real Apollo API paths. The cron scheduler example ties everything together into a runnable service. | 3 / 3 |
Workflow Clarity | Steps are clearly sequenced from polling to stage tracking to scheduling, but there are no explicit validation checkpoints. For a polling-based system that could miss changes or create duplicates, the skill mentions these risks only in the error handling table rather than building verification into the workflow itself. Missing feedback loops for error recovery within the polling steps. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear sections, but it's a monolithic document with ~200 lines of code inline. The stage tracker, sequence monitor, and task creator could be referenced as separate files. The Resources section provides good external links, but there are no bundle files to offload detailed content to. | 2 / 3 |
Total | 9 / 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.