CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cronofy-webhooks

Receive and verify Cronofy push notifications (webhooks). Use when setting up Cronofy notification channels, debugging Cronofy-HMAC-SHA256 verification, or handling Cronofy calendar events like verification, change, profile_disconnected, conferencing_profile_disconnected, profile_initial_sync_completed, and gdpr_requested. Cronofy signs the raw body with your application's client secret and sends a COMMA-SEPARATED list of base64 HMACs in the Cronofy-HMAC-SHA256 header.

Quality

93%

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

90%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.

A dense, expert-level skill body: fully executable verification code with timing-safe comparison, doc-published test vectors, and delivery-semantics guidance that anticipates real failure modes. The multi-step handler workflow and reference structure are solid but not maximal — the end-to-end sequence is implicit across sections, the debugging loop lives in a reference file, and the example directories linked from the body are absent from the bundle.

Suggestions

Add a short numbered end-to-end handler walkthrough (receive → verify HMAC over raw body → dispatch on notification.type → Read Events follow-up → 2xx within 5s) so the sequence is explicit rather than assembled across sections.

Include a brief inline verification-debugging checklist (e.g., check raw body vs parsed body, base64 vs base64url, all active secrets) before deferring depth to references/verification.md.

Resolve or qualify the examples/express/, examples/nextjs/, and examples/fastapi/ links, which point to directories not present in the skill bundle.

DimensionReasoningScore

Conciseness

Every section carries Cronofy-specific facts Claude cannot know — the comma-separated multi-secret HMAC header, base64 (not base64url) with a published digest as proof, the 5-second/24-hour/channel-closing delivery semantics, replayability, data-centre hostnames, and doc-published test vectors. There is no padding explaining general concepts, and the code comments document real gotchas (timing-safe comparison, latin-1 header decoding).

5 / 5

Actionability

Two complete executable verification functions (JavaScript with timingSafeEqual and length guard; Python with compare_digest on bytes), a copy-paste curl channel-creation command, the exact Read Events GET with last_modified, concrete env vars, an npx local-dev command, and test vectors to assert against. Covers the common cases end to end.

5 / 5

Workflow Clarity

The handler sequence (create channel → return 2xx on verification → verify HMAC over raw body → dispatch on notification.type → Read Events follow-up) is clear, and "Ack fast, process async" plus the verify-first guidance act as checkpoints. It falls short of 5 because the full sequence is assembled across sections rather than given as one ordered walkthrough, and the verification-failure debugging feedback loop is deferred to references/verification.md instead of appearing inline.

4 / 5

Progressive Disclosure

The three real one-level-deep references (overview.md, setup.md, verification.md) are listed with one-line descriptions and also signaled at point of use, with detail appropriately split out of the 251-line body. The gap against 5 is that the links to examples/express/, examples/nextjs/, and examples/fastapi/ point to paths not present in the skill's bundle.

4 / 5

Total

18

/

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.

A strong description: explicit what and when, comprehensive natural trigger terms including all six event types, and a distinct Cronofy-specific niche. The only minor gap is that the action list beyond receive/verify leans on trigger contexts rather than enumerating further capabilities.

DimensionReasoningScore

Specificity

"Receive and verify Cronofy push notifications (webhooks)" plus "setting up Cronofy notification channels, debugging Cronofy-HMAC-SHA256 verification, or handling Cronofy calendar events" lists several specific concrete actions including all six named event types. It falls just short of the 5 anchor because the core capability list is really two actions (receive, verify) with the rest framed as usage triggers rather than additional capabilities.

4 / 5

Completeness

Explicitly answers both: what ("Receive and verify Cronofy push notifications (webhooks)" with the signing scheme detail) and when ("Use when setting up... channels, debugging... verification, or handling... events"). Matches the 5 anchor's what+when structure with concrete trigger phrases.

5 / 5

Trigger Term Quality

Covers the natural synonym pair "push notifications (webhooks)", "notification channels", "Cronofy-HMAC-SHA256 verification", and every event type name (verification, change, profile_disconnected, conferencing_profile_disconnected, profile_initial_sync_completed, gdpr_requested) — the exact phrases a user working with Cronofy would say. Comprehensive including synonyms.

5 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers — the Cronofy brand, the Cronofy-HMAC-SHA256 header name, and Cronofy-specific event types make confusion with similar skills (e.g., Calendly webhooks) essentially nil. Minimal conflict risk.

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/cronofy-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.