CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-video-sdk-web

Zoom Video SDK for Web - JavaScript/TypeScript integration for browser-based video sessions, real-time communication, screen sharing, recording, and live transcription

52

Quality

66%

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/video-sdk/web/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

52%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 delivers strong, SDK-specific technical guidance with executable code and a clearly sequenced lifecycle, but it is roughly twice as long as it needs to be due to wholesale duplication of a navigation index, and its progressive disclosure is broken in practice — most referenced bundle files are absent while an unreferenced references/web.md sits in the bundle. Fixing duplication and reconciling links with the actual bundle would lift both conciseness and structure substantially.

Suggestions

Delete the appended 'Merged from video-sdk/web/SKILL.md' section entirely — it duplicates the Quick Links and Complete Documentation Library indexes already present, cutting the file roughly in half.

Reconcile the bundle: either ship the referenced concepts/, examples/, and troubleshooting/ files (and RUNBOOK.md) or remove links to them; also link or delete the orphaned references/web.md.

Consolidate the getMediaStream-after-join and attachVideo-vs-renderVideo gotchas into the 'Critical Gotchas' section and remove the duplicate treatments in Quick Links and Key Learnings.

DimensionReasoningScore

Conciseness

At ~815 lines the body is noticeably padded: the same navigation index appears three times ('Quick Links', 'Complete Documentation Library', and the appended 'Merged from video-sdk/web/SKILL.md' section), the getMediaStream-after-join gotcha is explained three separate times, and filler like '**Happy coding!**' and 'Remember: ... your key to unlocking the entire SDK' earns no tokens. Not 1 because the technical content itself is SDK-specific knowledge Claude would not already know, not general concept explanation; not 3 because the duplication and repeated link indexes go beyond 'could be tightened'.

2 / 5

Actionability

Mostly executable guidance: the Quick Start, lifecycle ordering with WRONG/CORRECT contrasts, event-driven rendering handlers, chat/recording/screen-share snippets, and the join error handler are concrete, copy-paste-shaped code. Not 5 because several snippets reference undefined variables (topic, signature, container, canvas) and DOM elements assumed to exist (e.g. video-${user.userId}), leaving minor gaps; not 3 because the code is real and executable, not pseudocode.

4 / 5

Workflow Clarity

The SDK lifecycle is clearly sequenced ('Create client → init → join → get stream → start media') with explicit checkpoints ('getMediaStream() ONLY AFTER JOIN', capability checks like isSupportHDVideo()/isStartShareScreenWithVideoElement(), an error table, and a try/catch recovery example). Not 5 because validation feedback loops are thin — the error handler suggests retrying but no explicit validate-then-proceed loop; not 3 because sequence and most checkpoints are present and clearly marked.

4 / 5

Progressive Disclosure

Scored against the actual bundle: the body links to ~20 paths (concepts/, examples/, troubleshooting/, RUNBOOK.md, ../../probe-sdk/SKILL.md) but the bundle ships only references/web-reference.md, references/events-reference.md, and an unreferenced references/web.md — most navigation points to files that do not exist. Additionally, a second full documentation index is inlined wholesale in the 'Merged from' section, content that its own doc-structure section says belongs in separate files. Not 1 because the body does have real section structure and clearly signaled links; not 3 because the broken references and inlined duplicate index mean navigation does not actually resolve.

2 / 5

Total

12

/

20

Passed

Description

66%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 specific and distinctive, clearly naming the domain and five concrete capabilities with natural trigger keywords. Its main weakness is the absence of any 'Use when...' trigger guidance, which caps completeness and slightly limits discoverability.

Suggestions

Append an explicit trigger clause, e.g. 'Use when building custom browser video apps with the Zoom Video SDK, or when the user mentions Zoom Video SDK, @zoom/videosdk, video sessions, or in-browser video calls.'

Add a disambiguator such as 'for custom video sessions, not embedded Zoom meetings' to reduce overlap risk with the Meeting SDK skill.

Include one or two common synonyms users would say (e.g. 'video call', 'live captions') to round out trigger term coverage.

DimensionReasoningScore

Specificity

Names the domain ('Zoom Video SDK for Web', 'JavaScript/TypeScript integration') and lists several concrete capabilities — 'browser-based video sessions, real-time communication, screen sharing, recording, and live transcription'. Not 5 because coverage has minor gaps (chat, subsessions, whiteboard, virtual background are absent); not 3 because it lists five specific capability areas, well beyond 1-2 actions.

4 / 5

Completeness

Has a clear 'what' (JavaScript/TypeScript integration for browser-based video sessions, screen sharing, recording, transcription) but no 'Use when...' clause or equivalent explicit trigger guidance, capping completeness at 3 per the judging guidelines. Not 4 because the 'when' is entirely absent rather than merely weak.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'Zoom Video SDK', 'Web', 'JavaScript/TypeScript', 'browser', 'video sessions', 'screen sharing', 'recording', 'live transcription' — phrases users would naturally say. Not 5 because common variations like 'video call', 'custom video app', 'captions', or 'RTC' are missing; not 3 because coverage goes well beyond a couple of generic keywords.

4 / 5

Distinctiveness Conflict Risk

'Zoom Video SDK for Web' is a clear, named niche with distinct triggers, minimal conflict with unrelated skills. Not 5 because there is minor overlap risk with closely related Zoom skills (Meeting SDK, native/mobile Video SDK) that the description does not disambiguate.

4 / 5

Total

15

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (815 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 60 missing, 4 suspicious

Warning

Total

14

/

16

Passed

Repository

openai/plugins

Path

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