CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

setup-zoom-webhooks

Use when building Zoom webhooks.

50

Quality

63%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/zoom/skills/webhooks/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 concise, well-sequenced workflow overview that correctly defers detail to reference files, but the body itself carries no executable specifics and the reference wiring has real defects — a dead link and an indirection stub — that break the navigation the structure depends on.

Suggestions

Fix the broken reference: create references/troubleshooting/common-issues.md or repoint the 'Common issues' link to an existing file such as references/verification.md or references/events.md.

Eliminate the redirect stub: link 'Signature verification' directly to references/verification.md instead of the 5-line signature-verification.md pointer file, and add a link to environment-variables.md so every bundle file is one hop from SKILL.md.

Add one copy-paste-ready element to the body (e.g. a minimal Express raw-body capture snippet or the Zoom verification-token echo response), since that is the single most common failure point and the body currently has zero executable content.

DimensionReasoningScore

Conciseness

The ~25-line body is lean and assumes Claude's competence: no explanations of what webhooks are, no padding, every sentence carries operational content ('Capture raw body', 'Make handlers idempotent because Zoom can retry delivery'). Matches the score-5 anchor 'lean and efficient; every token earns its place'.

5 / 5

Actionability

Steps are directionally concrete ('Implement endpoint verification and signature verification before processing business logic', 'Separate webhook ingestion from downstream API calls with a queue') but contain no executable code, commands, or specific API details — the actual how-to lives entirely in reference files. This fits the score-3 anchor 'Some concrete guidance but incomplete... missing key details'; short of score 4 which expects concrete code or commands with only minor gaps.

3 / 5

Workflow Clarity

The six steps form a clear, correctly-ordered sequence (identify scope → verify before processing → store metadata → idempotency → queueing → debug checklist), with a verification checkpoint in step 2 and an explicit error-recovery path in step 6 ('checking endpoint reachability, TLS, validation token handling, signature base string...'). Matches score 4 ('clear sequence with most checkpoints present; minor validation gaps'), below score 5 which requires an explicit validate-fix-retry feedback loop.

4 / 5

Progressive Disclosure

The overview-to-references structure is present and clearly signaled, but navigation is undermined by three concrete defects: the listed 'troubleshooting/common-issues.md' does not exist in the bundle (broken link), 'references/signature-verification.md' is a 5-line stub that redirects to verification.md (a two-level reference chain the rubric penalizes), and two real bundle files (verification.md, environment-variables.md) are not directly reachable from SKILL.md. Fits score 3 ('some structure but could be better organized; references present but not clearly signaled') rather than score 4's 'references mostly clear'.

3 / 5

Total

15

/

20

Passed

Description

40%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 bare trigger clause with no capability statement: it tells Claude when to fire but not what the skill covers. It is concise and names a distinct niche, but fails the core what+when contract, capping completeness at 2.

Suggestions

Add a 'what' clause listing concrete capabilities, e.g. 'Creates Zoom event subscriptions, verifies webhook endpoint and request signatures, and builds idempotent handlers for Zoom event delivery.'

Expand trigger coverage with natural variations users would say: 'Use when the user mentions Zoom webhooks, Zoom event subscriptions, webhook endpoints, or receiving Zoom events over HTTP.'

Include a disambiguating phrase distinguishing this skill from setup-zoom-websockets (e.g. 'for persistent low-latency streams use setup-zoom-websockets') so the wrong skill is not triggered.

DimensionReasoningScore

Specificity

The description names a concrete domain ('building Zoom webhooks') but contains zero capability actions — nothing about what the skill actually does (endpoint verification, subscription creation, signature validation, idempotent handling). This matches the score-2 anchor 'Names the domain but actions are minimal or generic' ('Processes PDF files'), and is above score 1 only because 'Zoom webhooks' is a concrete domain rather than pure abstraction.

2 / 5

Completeness

Only the 'when' is present ('Use when building Zoom webhooks') with no 'what' — the description never states what the skill does. This is a direct match for the score-2 anchor 'only "when" is present without "what"' (example: 'Use when working with documents'), and clearly below score 4 ('has both what and when').

2 / 5

Trigger Term Quality

It contains the core natural phrases 'Zoom' and 'webhooks' that a user would say, but offers no variations or synonyms ('Zoom events', 'event subscriptions', 'webhook endpoint', 'event delivery'). This fits the score-3 anchor 'Some relevant keywords but missing common variations or synonyms' ('Works with PDF files'), short of score 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

'Zoom webhooks' carves a clear niche, but the sibling skill setup-zoom-websockets (referenced in the body) represents a closely related trigger territory — a user asking to 'set up Zoom events' could plausibly mean either. Fits score 4 ('mostly distinct; minor overlap risk with closely related skills'), below score 5 because the boundary with the websockets skill is not drawn in the description itself.

4 / 5

Total

11

/

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

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

plugins/zoom/skills/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.