CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

360dialog-webhooks

Receive and authenticate 360dialog WhatsApp Business API webhooks. Use when setting up a 360dialog webhook endpoint, adding HTTP Basic auth to the webhook headers, debugging 401s, or handling inbound messages, message status updates (sent, delivered, read, failed) and Coexistence events such as smb_message_echoes.

Quality

94%

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

88%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 strong, dense body: the verification section is the highlight, delivering executable constant-time Basic auth code with explicit error responses and honest security caveats (no signature, no replay protection). The main deductions are ~25 lines of cross-promotional material at the end and references to examples/ directories that are absent from the bundle.

Suggestions

Trim the "Related Skills" section (8 links) and the "Recommended: webhook-handler-patterns" promo block to 1–2 lines each, or move them to a single reference file, to reclaim ~25 lines of padding.

Fix the dangling examples/express/, examples/nextjs/ and examples/fastapi/ references: either include the examples directory in the bundle or point to the concrete GitHub URLs instead of relative paths that don't resolve locally.

Consider merging the short "Environment Variables" section into the Verification section so the credential variables appear next to the code that consumes them.

DimensionReasoningScore

Conciseness

The core body (verification code, event table, env vars, CLI) is lean and assumes competence — e.g. "Decode it, split on the first colon, and compare the username and the password each in constant time" teaches only non-obvious gotchas. Not 5: roughly 25 trailing lines (an 8-link "Related Skills" list, the "Recommended" cross-promotion section, and attribution boilerplate) are promotional padding that earns no tokens for the task.

4 / 5

Actionability

Fully executable, copy-paste-ready Node verification function (regex scheme match, first-colon split via indexOf(0x3a), sha256+timingSafeEqual, no short-circuit) with explicit return codes ("Return 401 when this fails, 400 for a body that isn't a JSON object, and 200 once handled"), raw-body guidance, concrete env vars, and a runnable CLI command. Not 4: the common case is covered end-to-end with no missing key details.

5 / 5

Workflow Clarity

The handler sequence is explicit with validation checkpoints: authenticate first with per-failure responses (401 on auth failure, 400 on non-JSON body), parse only after the check, respond 200 within 5 seconds, and dedupe on message IDs for retries. Not 4: every failure mode has an explicit checkpoint and response, not just most.

5 / 5

Progressive Disclosure

The three real references (overview.md, setup.md, verification.md) are well-signaled, one level deep, and described in the Resources section, with detail appropriately split out of SKILL.md. Not 5: the body twice references examples/express/, examples/nextjs/ and examples/fastapi/ ("For complete handlers with tests" and in Resources), but no examples/ directory exists in the bundle, so those pointers dangle.

4 / 5

Total

18

/

20

Passed

Description

100%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 exemplary: third-person, concise, and concrete, with an explicit "Use when" clause enumerating natural trigger phrases (setup, Basic auth headers, 401 debugging, message/status/Coexistence handling). Both the what and the when are answered with specific, non-generic language tied to a clearly distinct provider niche.

DimensionReasoningScore

Specificity

"Receive and authenticate 360dialog WhatsApp Business API webhooks" plus "adding HTTP Basic auth to the webhook headers, debugging 401s, or handling inbound messages, message status updates (sent, delivered, read, failed) and Coexistence events such as smb_message_echoes" lists multiple specific concrete actions with comprehensive coverage of the domain. Not 4: the gaps are not minor — the enumerated statuses and event names cover the provider's full webhook surface.

5 / 5

Completeness

Explicitly answers what ("Receive and authenticate 360dialog WhatsApp Business API webhooks" plus handling inbound messages, statuses, and Coexistence events) and when ("Use when setting up a 360dialog webhook endpoint, adding HTTP Basic auth... debugging 401s, or handling...") with concrete trigger phrases. Not 4: both halves are explicit and specific, not merely present.

5 / 5

Trigger Term Quality

Natural terms users would say are comprehensively covered: "360dialog", "webhook endpoint", "HTTP Basic auth", "debugging 401s", "inbound messages", "message status updates", "smb_message_echoes", "WhatsApp Business API". Not 4: within this niche, synonym coverage is thorough with no meaningful natural phrasing missing.

5 / 5

Distinctiveness Conflict Risk

Clear niche tied to a single named provider (360dialog/WhatsApp Business API) with distinct trigger terms, so it is unlikely to fire for sibling webhook skills (Brevo, Coterie, n8n, etc.). Not 4: the provider name in every trigger leaves minimal overlap risk.

5 / 5

Total

20

/

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: 4 missing

Warning

Total

15

/

16

Passed

Repository

hookdeck/webhook-skills

Path

skills/360dialog-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.