CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

setup-zoom-websockets

Use when building Zoom WebSockets.

60

1.53x
Quality

61%

Does it follow best practices?

Impact

100%

1.53x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

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

Quality

Content

65%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 exemplary in its leanness and routing discipline — a clean six-step workflow with a clear prefer-webhooks fallback and a well-labeled reference section. However, it offers no executable specifics or validation checkpoints in the body, and the bundle structure has real defects: a broken reference to a missing troubleshooting file, an unlisted environment-variables reference, and a full-guide that nests a second level of links including paths outside the bundle.

Suggestions

Add validation checkpoints to the workflow (e.g. 'Verify the subscription is active in the Marketplace app settings and confirm the first heartbeat/frame arrives before implementing downstream handling') with a fix-and-retry loop for auth or connection failures.

Fix the broken `troubleshooting/common-issues.md` reference — either add the file to the bundle or relink it to where the troubleshooting content actually lives.

Surface `references/environment-variables.md` in the SKILL.md References section and trim `full-guide.md`'s links to bundle-local files so disclosure stays one level deep.

DimensionReasoningScore

Conciseness

The ~25-line body is lean with zero padding: no explanation of what WebSockets are, no library overviews, and every sentence carries routing or workflow information ("If normal webhook retries and delivery are enough, prefer `setup-zoom-webhooks`"). This matches the score-5 anchor 'Lean and efficient; assumes Claude's competence; every token earns its place'; not score 4 because there is no identifiable over-explanation to trim.

5 / 5

Actionability

The workflow names concrete, correct topics ("authentication, heartbeat, reconnect, backoff, and shutdown", "network proxies, TLS interception, reconnect loops") but provides no executable specifics — no commands, endpoints, code, or configuration examples in the body. This matches the score-3 anchor 'Some concrete guidance but incomplete... missing key details'; not score 4 because nothing is directly executable, and not score 2 because the enumerated sub-topics go beyond high-level hints.

3 / 5

Workflow Clarity

A clear six-step numbered sequence is present with an implicit decision gate at step 1, but there are no validation or verification checkpoints — no step confirms the subscription is active, the connection authenticates, or events are flowing before moving on. This matches the score-3 anchor 'Steps listed but validation gaps; sequence present but checkpoints missing or implicit'; not score 4 because checkpoints are entirely absent rather than having 'minor gaps', and not score 2 because the sequence itself is well-defined and ordered.

3 / 5

Progressive Disclosure

The References section is well-signaled with labeled one-level links, but scored against the actual bundle: `troubleshooting/common-issues.md` is referenced and does not exist, `references/environment-variables.md` is present but unlisted in SKILL.md, and `full-guide.md` (the 'full preserved guide') introduces a second level of references plus out-of-bundle links (`../../oauth/SKILL.md`, `../RUNBOOK.md`) that are not part of this bundle. This fits the score-3 anchor 'Some structure but could be better organized'; not score 4 because a dead link, an orphaned file, and 2-level nesting exceed 'minor organization gaps', and not score 2 because the top-level structure and signaling are clear.

3 / 5

Total

14

/

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 has a clear, explicit trigger and a distinctive niche, but it omits any statement of what the skill actually does and lists no concrete capabilities. It is essentially a bare trigger clause — better than generic filler, but far below the good examples which pair actions with 'Use when' guidance.

Suggestions

Add a 'what' clause listing concrete capabilities, e.g. 'Establishes Zoom WebSocket connections: endpoint discovery, JWT auth, heartbeat, reconnect with backoff, and event normalization. Use when building Zoom WebSockets or real-time Zoom event delivery instead of webhooks.'

Include natural trigger variations and synonyms such as 'Zoom events', 'real-time Zoom event delivery', and 'Zoom WebSocket adapter' so users phrasing the need differently still match.

Distinguish the trigger from the sibling webhook skill, e.g. 'Use when persistent Zoom event delivery is needed; prefer webhooks for simple HTTP callbacks.'

DimensionReasoningScore

Specificity

The description names the domain ("Zoom WebSockets") but the only action-like phrase is the generic "building" — no concrete capabilities (connection setup, event handling, authentication) are listed. This matches the score-2 anchor 'Names the domain but actions are minimal or generic' (example: "Processes PDF files"); it is not score 1 because the domain itself is concrete, and not score 3 because no 1-2 specific actions are enumerated.

2 / 5

Completeness

Only the 'when' is present ("Use when building Zoom WebSockets") with no 'what' — the skill's actual capabilities are never stated. This exactly matches the score-2 anchor 'only when is present without what' (example: "Use when working with documents"); not score 3 because there is no clear 'what' at all, and not score 1 because the 'when' clause is explicit and specific.

2 / 5

Trigger Term Quality

"Zoom WebSockets" is a natural phrase a user would say, but no variations or synonyms appear ("Zoom events", "real-time Zoom events", "WebSocket", "Zoom marketplace app"). This fits the score-3 anchor 'Some relevant keywords but missing common variations or synonyms'; not score 4 because several natural phrasings users would actually use are absent, and not score 2 because the keywords present are relevant rather than generic.

3 / 5

Distinctiveness Conflict Risk

"Zoom WebSockets" carves a clear niche with minimal conflict risk, but there is minor overlap with closely related skills — notably the sibling `setup-zoom-webhooks` skill, with no disambiguation in the description itself. This fits the score-4 anchor 'Mostly distinct; minor overlap risk with closely related skills'; not score 5 because Zoom event-delivery requests could plausibly trigger either skill, and not score 3 because the trigger term is far more specific than 'Works with document files'.

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