Implement Firecrawl webhook event handling for async crawl and batch scrape jobs. Use when setting up webhook endpoints, handling crawl.page/crawl.completed events, or processing async job results in real-time. Trigger with phrases like "firecrawl webhook", "firecrawl events", "firecrawl webhook signature", "handle firecrawl events", "firecrawl notifications".
89
88%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
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 well-crafted skill description that clearly defines its scope (Firecrawl webhook event handling), provides explicit trigger guidance with both a 'Use when' clause and a 'Trigger with phrases' section, and occupies a distinct niche. The description is concise, uses third-person voice, and includes specific technical terms that users would naturally use when needing this skill.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'webhook event handling', 'async crawl and batch scrape jobs', 'setting up webhook endpoints', 'handling crawl.page/crawl.completed events', 'processing async job results in real-time'. These are concrete, actionable capabilities. | 3 / 3 |
Completeness | Clearly answers both 'what' (implement Firecrawl webhook event handling for async crawl and batch scrape jobs) and 'when' (explicit 'Use when' clause covering webhook endpoints, specific event types, and async job processing, plus a 'Trigger with phrases' section). | 3 / 3 |
Trigger Term Quality | Includes a dedicated trigger phrase list with natural terms users would say: 'firecrawl webhook', 'firecrawl events', 'firecrawl webhook signature', 'handle firecrawl events', 'firecrawl notifications'. Also includes domain-specific terms like 'crawl.page/crawl.completed events' and 'async job results'. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche: Firecrawl-specific webhook handling. The combination of 'Firecrawl' + 'webhook' + specific event names like 'crawl.page/crawl.completed' makes it very unlikely to conflict with other skills. | 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.
A strong, actionable skill with executable code and a clear multi-step workflow including signature verification and error recovery via polling fallback. The error handling table is excellent. Main weakness is length — application-specific processing logic (indexing, alerting) inflates the content beyond what's strictly needed for webhook handling, and the lack of bundle files means all detail is crammed into one document.
Suggestions
Trim Steps 3-4 to minimal stubs showing the event data structure, moving application-specific logic (search indexing, alerting) to a separate examples file or removing it entirely.
Consider extracting the polling fallback and detailed handler implementations into a bundle file (e.g., EXAMPLES.md) to keep SKILL.md focused on the core webhook setup pattern.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient but includes some unnecessary verbosity — the handleCrawlComplete and handleCrawlFailed functions include application-specific logic (search indexing, alerting) that pads the content beyond what's needed to teach webhook handling. The overview is clean, but the code examples could be tighter. | 2 / 3 |
Actionability | Fully executable TypeScript code throughout — from starting a crawl with webhook config, to signature verification, to event handling. Code is copy-paste ready with real imports, proper Express middleware setup, and concrete patterns like timing-safe comparison and raw body parsing. | 3 / 3 |
Workflow Clarity | Clear 5-step sequence from starting a crawl to polling fallback. Includes explicit validation (signature verification in Step 2), error recovery (polling fallback in Step 5), and the error handling table covers common failure modes with specific solutions. The 'respond immediately, process async' pattern is a critical checkpoint that's explicitly called out. | 3 / 3 |
Progressive Disclosure | The content is well-structured with clear sections and a helpful event types table, but it's quite long (~150 lines of code) with no bundle files to offload detail into. The application-specific processing logic (Steps 3-4) could be referenced rather than inline. The 'Next Steps' reference to 'firecrawl-deploy-integration' is good but there are no actual bundle files supporting it. | 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 | |
a04d1a2
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.