CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

100ms-webhooks

Receive and authenticate 100ms webhooks. Use when setting up a 100ms (live video) webhook endpoint, checking the secret header you configure in the 100ms dashboard, debugging 401s, or handling events like peer.join.success, peer.leave.success, session.open.success, session.close.success, recording.success and hls.started.success.

Quality

92%

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.

Strong, executable core content: a complete timing-safe verification snippet, a compact event table, exact status-code and retry semantics, and real one-level-deep reference files. The main deductions are promotional trailing sections that dilute token efficiency, a missing in-body end-to-end handler sequence (delegated to an external skill), and examples/ paths that are referenced but absent from the bundle.

Suggestions

Bundle the examples/ handlers (or state explicitly that they live only in the GitHub repo) so the twice-referenced examples/express/, examples/nextjs/ and examples/fastapi/ paths resolve for a skill consumer.

Lay out the end-to-end handler sequence (verify → parse → dedupe on id → dispatch on type → respond 200) as one explicit numbered flow in SKILL.md instead of distributing it across sections and an external skill's references.

Trim the nine-item Related Skills list and the Recommended section to the two or three most relevant links to reclaim token budget from promotional padding.

DimensionReasoningScore

Conciseness

Core sections are lean — the verification code, event table, env vars, and tunnel command have no over-explanation of concepts Claude already knows — but roughly a fifth of the body ("Related Skills" listing nine sibling skills, the "Recommended" cross-skill section, "Attribution") is promotional/navigation padding that could be trimmed. Not 5: those sections' tokens do not earn their place for the task at hand; not 3: the instructional content itself is efficient and unpadded.

4 / 5

Actionability

The verification code (safeEqual + verify100msRequest with env-var fallbacks and fail-closed behavior) is copy-paste ready, status codes are exact ("Return 401 for a missing header or mismatch, 400 for a body that isn't a JSON object with a type, and 200 once handled"), plus the express.raw middleware note, the Python hmac.compare_digest hint, and a runnable tunnel command with a curl test in setup.md. Fully executable and covers the common cases.

5 / 5

Workflow Clarity

Key ordering and checkpoints are explicit ("Read the body raw... and authenticate before parsing it", fail closed when the secret is unset, "dispatch on it and dedupe on id", retry behavior on non-200), but the end-to-end handler sequence (receive → verify → parse → dedupe → handle → respond) is never laid out as one flow — it is distributed across sections and delegated to an external skill's GitHub references. Not 5: there is no single explicit sequenced workflow with an in-skill feedback loop; not 3: checkpoints like fail-closed auth and status-code validation are clearly present.

4 / 5

Progressive Disclosure

Three references (overview.md, setup.md, verification.md) are well-signaled with accurate one-line descriptions, verified to exist, one level deep, and non-overlapping — mirroring the 5-anchor example's structure. However, the body references examples/express/, examples/nextjs/ and examples/fastapi/ twice, and none of these paths exist in the bundle, leaving dead navigation links. Not 5: referenced paths that do not resolve in the bundle is more than a trivial gap; not 3: the structure and signaling are otherwise good and appropriately split.

4 / 5

Total

17

/

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.

A model description: concrete actions, an explicit "Use when" clause with specific triggers including named events and 401 debugging, provider-pinned for zero ambiguity, and a parenthetical "(live video)" synonym. It closely matches the rubric's good-overall examples in both structure and specificity.

DimensionReasoningScore

Specificity

Names multiple concrete actions — "Receive and authenticate 100ms webhooks", "checking the secret header you configure in the 100ms dashboard", "debugging 401s", "handling events like peer.join.success" — comprehensively mirroring the body's actual coverage (verification, setup, events, debugging). Not 4: there are no gaps in the action coverage for this domain.

5 / 5

Completeness

Explicitly answers both: what ("Receive and authenticate 100ms webhooks" via a secret header) and when ("Use when setting up a 100ms (live video) webhook endpoint, checking the secret header..., debugging 401s, or handling events like...") with concrete trigger phrases, matching the 5-anchor structure. Not 4: the "when" clause is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Natural terms a user would actually say are covered: "100ms (live video)" (including the synonym), "webhook endpoint", "secret header", "401s", and raw event names ("peer.join.success", "recording.success", "hls.started.success") that a user would paste verbatim. Not 4: synonym and phrasing coverage is comprehensive for the domain.

5 / 5

Distinctiveness Conflict Risk

"100ms" pins the provider and triggers reference 100ms-specific artifacts (the 100ms dashboard, 100ms event names), giving a clear niche with minimal conflict risk even among sibling webhook-provider skills. Not 4: no overlap scenario exists where this would trigger for the wrong skill.

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/100ms-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.