CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ably-webhooks

Receive and verify Ably webhooks (outbound HTTP integration rules). Use when setting up Ably webhook handlers, debugging X-Ably-Signature verification, or handling channel.message, channel.presence, channel.lifecycle and channel.occupancy events, including batched, enveloped and msgpack payloads.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is dense and highly actionable: the signature-verification core with its keyValue-only gotcha, payload-shape tables, and executable code make it immediately usable. Weaknesses are mild: a trimmable Related Skills section, a verify-first workflow that is referenced rather than laid out, and examples/ links that point to directories absent from the bundle.

Suggestions

Trim the 'Related Skills' section to the 3-4 most relevant skills (or fold it into the 'Recommended' section) to reclaim tokens without losing navigation value.

Add an explicit 3-step handler sequence inline ('1. Read raw body bytes, 2. Verify X-Ably-Signature, 3. Decode with Message.fromEncodedArray') instead of delegating the core workflow to an external skill's reference.

Ship the examples/express/, examples/nextjs/ and examples/fastapi/ directories referenced by 'For complete handlers with tests' — or remove those links — since the paths currently dangle in the bundle.

DimensionReasoningScore

Conciseness

The core sections are lean and high-value (a gotcha callout, a payload-shapes table, one tight code block), but the 10-item 'Related Skills' link list and the cross-skill 'Recommended' section with four external links add tokens that could be trimmed. Efficient overall with minor over-content; not 5 because those sections are padding relative to the skill's own task.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance: a complete verifyAbly() implementation with timingSafeEqual and a length-mismatch guard, concrete raw-body middleware snippets for Express/Next.js/FastAPI, the exact env var format, and a runnable tunnel command. Covers the common cases.

5 / 5

Workflow Clarity

The handler sequence ('Verify first, parse second, handle idempotently third') is stated but only as a one-line pointer to an external skill's reference rather than an explicit in-body step sequence with checkpoints. Mostly clear sequencing for a single-purpose verification skill with minor gaps; not 5 for the absent explicit step list and feedback-loop framing.

4 / 5

Progressive Disclosure

Good overview structure with well-signaled, one-level-deep references (references/overview.md, setup.md, verification.md — all real files with distinct purposes). However, the body links to examples/express/, examples/nextjs/ and examples/fastapi/ directories that are not present in the bundle, a minor navigation/organization gap; not 5 for those dangling paths.

4 / 5

Total

17

/

20

Passed

Description

95%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is a model example: a clear two-verb capability statement, an explicit 'Use when' clause with concrete trigger scenarios, and comprehensive provider-specific terminology (event names, payload modes, signature header). It is both highly specific and highly distinctive.

DimensionReasoningScore

Specificity

Names the domain ('Receive and verify Ably webhooks') and several concrete specifics ('debugging X-Ably-Signature verification', 'channel.message... events', 'batched, enveloped and msgpack payloads'). Not 5 because the fully concrete verbs are limited to receive/verify/handle, with setup only implied by 'setting up'.

4 / 5

Completeness

Explicitly answers both: what ('Receive and verify Ably webhooks (outbound HTTP integration rules)') and when ('Use when setting up Ably webhook handlers, debugging X-Ably-Signature verification, or handling... events'). Matches the anchor-5 example pattern exactly; not 4 because the 'when' clause is fully explicit with concrete triggers.

5 / 5

Trigger Term Quality

Comprehensive natural terms and synonyms users would actually say: 'Ably webhooks', 'webhook handlers', 'X-Ably-Signature', all four event names, 'batched, enveloped and msgpack payloads', and 'outbound HTTP integration rules'. Clearly matches the comprehensive-coverage anchor; nothing significant is missing for this domain.

5 / 5

Distinctiveness Conflict Risk

'Ably' plus provider-specific event names (channel.occupancy, channel.lifecycle) and headers (X-Ably-Signature) form a clear niche with minimal overlap risk against other webhook skills (pusher, slack, twilio, etc.).

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 3 missing

Warning

Total

15

/

16

Passed

Repository

hookdeck/webhook-skills

Path

skills/ably-webhooks/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.