CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-meeting-sdk-web-client-view

Zoom Meeting SDK Web - Client View. Full-page Zoom meeting experience with the familiar Zoom interface. Uses ZoomMtg global singleton with callback-based API. Ideal for quick integration with minimal customization. Provides the same UI as Zoom Web Client.

54

Quality

68%

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/meeting-sdk/web/client-view/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.

This is a strong reference-style body: almost entirely executable, SDK-specific guidance with a well-sequenced init/join workflow, useful rate-limit and DOM notes, and symptom-based gotchas. The main weakness is progressive disclosure — an exhaustive API dump lives inline while the references directory holds only a stub index, so the skill front-loads ~600 lines instead of a lean overview pointing to per-topic reference pages.

Suggestions

Move the exhaustive option tables, event-listener catalog, and 'Common Methods' sections into per-topic files under references/ (e.g. init-options.md, events.md, methods.md) and keep SKILL.md as a lean overview with well-signaled links, one level deep.

Replace the '{VERSION}' CDN placeholders and undefined variables in the init flow with a single concrete pinned example (e.g. '3.9.0') and a short note on where signature/meetingNumber come from (backend role JWT), to make the flow fully copy-paste runnable.

Add an explicit post-join validation checkpoint in the init flow — e.g. listen for onMeetingStatus status 2 (connected) before calling getAttendeeslist()/getCurrentUser — to close the workflow's feedback loop.

DimensionReasoningScore

Conciseness

The body is dense with SDK-specific facts Claude does not know (option tables, reason codes, rate limits, param quirks like 'passWord' capital W) and avoids explaining concepts Claude already knows. Not anchor 5 because of minor duplication — the join-payload sanitization gotcha is stated both as inline comments in the init flow and again as its own section, and the overview table repeats the description; not anchor 3 because there is no genuinely unnecessary explanation or padding.

4 / 5

Actionability

Nearly everything is concrete, executable code: a complete 7-step init/join flow with success/error callbacks, exact method signatures with arguments (ZoomMtg.mute({ userId, mute: true }), claimHostWithHostKey({ hostKey: '123456' })), and copy-paste CSS for the SPA overlay fix. Not anchor 5 because of placeholders and undefined variables — the CDN scripts use unresolved '{VERSION}' placeholders and the init flow references undefined 'signature', 'meetingNumber', 'userName', and 'passWord' variables without showing their origin.

4 / 5

Workflow Clarity

The 'Complete Initialization Flow' numbers steps 1-7 in correct dependency order with error callbacks at init and join, and the gotchas sections give symptom-to-fix recovery guidance (blank screen -> CSS z-index fix; partial join -> sanitize optional fields). Not anchor 5 because there is no explicit post-join validation checkpoint (e.g. confirming onMeetingStatus status 2 connected before performing post-join operations), so feedback loops are present but not fully closed.

4 / 5

Progressive Disclosure

Structure is good (clear sections, a Resources block linking references/index.md and sibling pages, a troubleshooting/RUNBOOK pointer), but roughly 400 lines of exhaustive API reference — every init/join option, every event listener, every common method — are inlined in SKILL.md even though a references/ directory exists containing only a 9-line link index. This matches anchor 3 (200+ lines of API reference that could be in a separate file, plus references present) rather than anchor 4, which requires most bulk content to be appropriately split out; it is above anchor 2 because headers and navigation links are clear, not buried.

3 / 5

Total

15

/

20

Passed

Description

53%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 clearly states what the skill covers and is appropriately concise, with concrete technical identifiers (ZoomMtg, callback-based API, Client View). Its main weakness is the absence of an explicit 'use when' trigger and natural user phrasing, which limits discoverability and keeps it at the midpoint on completeness and trigger quality.

Suggestions

Add an explicit trigger clause, e.g. 'Use when embedding a full-page Zoom meeting in a web app, joining meetings via the Zoom Meeting SDK, or when the user wants the standard Zoom Web Client UI.'

Include 1-2 concrete user-sayable action phrases (e.g. 'join Zoom meetings', 'embed Zoom video conferencing') to strengthen trigger terms beyond SDK-proper nouns.

Briefly distinguish from the Component View variant (e.g. 'choose this over Component View when you want the standard Zoom UI with minimal customization') to reduce sibling-skill conflict.

DimensionReasoningScore

Specificity

Names the domain ('Zoom Meeting SDK Web - Client View') with concrete technical specifics ('Uses ZoomMtg global singleton with callback-based API', 'Provides the same UI as Zoom Web Client'), but these describe what the skill is rather than several concrete actions. Not anchor 2 (domain alone, generic actions) because the API object/style and UI equivalence are specific; not anchor 4 because no list of several distinct executable actions (join meetings, mute attendees, manage breakout rooms, etc.) appears.

3 / 5

Completeness

The 'what' is clear (full-page Zoom meeting experience via the ZoomMtg singleton with callback API), but there is no 'Use when...' clause or equivalent explicit trigger guidance — 'Ideal for quick integration with minimal customization' is only weak use-case guidance. The rubric explicitly caps completeness at 3 in this case; it is above anchor 2 because the 'what' is concrete, and below anchor 4 because 'when' is never explicitly stated.

3 / 5

Trigger Term Quality

'Zoom Meeting SDK', 'Client View', 'Zoom Web Client', and 'quick integration' are relevant keywords, but natural user phrasings are missing — nothing like 'embed a Zoom meeting', 'add Zoom video to my app', 'join a Zoom meeting in the browser', or SDK version terms. Matches anchor 3 (some relevant keywords, missing common variations) rather than 4 (good coverage with only a few gaps).

3 / 5

Distinctiveness Conflict Risk

'Client View' names a clear niche with distinct terminology (full-page takeover, ZoomMtg singleton, Zoom Web Client parity), so conflict risk with unrelated skills is low. Not anchor 5 because it does not distinguish itself from the closely related sibling Component View skill (the body references a '[Main Web SDK Skill](../SKILL.md)'), leaving minor overlap risk within the same skill family.

4 / 5

Total

13

/

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 (614 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 1 missing, 4 suspicious

Warning

Total

14

/

16

Passed

Repository

openai/plugins

Path

plugins/zoom/skills/meeting-sdk/web/client-view/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.