CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-apps-sdk

Use when using Apps SDK.

45

Quality

56%

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

Quality

Content

67%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 a clean, token-efficient overview with a well-sequenced workflow and sensible scope/routing guidance, but it functions as a hub whose spokes are broken: five of seven reference links point to non-existent files, and five of the seven actual bundle files are orphaned. A reader following the References section would fail to find most of the detail the workflow depends on.

Suggestions

Fix the broken reference links: point them at the files that actually exist (e.g., OAuth guidance → references/oauth.md, common issues → the troubleshooting content in references/full-guide.md) or create the referenced concepts/, examples/, and troubleshooting/ files.

Add links for the five orphaned bundle files (apis.md, environment-variables.md, events.md, oauth.md, zmail-sdk.md) so the full-guide.md hub is not the only path to them.

Add a minimal executable snippet (e.g., zoomSdk initialization and a getRunningContext() capability gate) so the base workflow can be executed without opening a reference file first, lifting actionability toward anchor 4.

DimensionReasoningScore

Conciseness

The 27-line body is lean with zero padding: 'Use this skill when the app runs inside the Zoom client' and six terse workflow steps, none of which explain concepts Claude already knows. Every token earns its place, matching anchor 5.

5 / 5

Actionability

The workflow gives some concrete domain guidance (enumerated running contexts, specific features like 'Layers API, breakout rooms, guest mode, collaborate mode, or ZMail', and specific failure modes like CSP and domain allowlist) but no executable details — no commands, no API call examples beyond the name 'zoomSdk'. This sits at anchor 3 ('some concrete guidance but incomplete; missing key details'); it is above anchor 2 because the enumerations are specific rather than generic hints, and below anchor 4 because the how-to is entirely delegated to reference files, five of which are broken links.

3 / 5

Workflow Clarity

The six steps are clearly sequenced (context → marketplace config → init → data flow → advanced features → debugging) with an implicit checkpoint in step 5 ('Implement advanced client features only after the base app loads reliably') and error-recovery framing in step 6. Anchor 4 ('clear sequence with most checkpoints present; minor validation gaps') fits; anchor 5 would require explicit validation steps or verify/fix/retry loops, which are absent.

4 / 5

Progressive Disclosure

Scored against the actual bundle: of the seven links in the References section, only two (references/full-guide.md, references/layers-api.md) resolve — concepts/architecture.md, concepts/running-contexts.md, concepts/meeting-sdk-vs-zoom-apps.md, examples/in-client-oauth.md, and troubleshooting/common-issues.md do not exist. Meanwhile five real bundle files (apis.md, environment-variables.md, events.md, oauth.md, zmail-sdk.md) are never referenced at all. The structure has the right shape (one-level references) but navigation is substantially broken, which is materially worse than anchor 3's 'could be better organized' though not the deeply nested chaos of anchor 1.

2 / 5

Total

14

/

20

Passed

Description

28%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, circular trigger clause: it states when to invoke the skill ('Use when using Apps SDK') without saying what the skill does, what capabilities it covers, or even the word 'Zoom'. It would rarely surface for a user describing their task in natural terms. The body's routing detail (running inside the Zoom client vs. Meeting SDK) belongs in the description.

Suggestions

Add a concrete 'what' statement, e.g. 'Develops apps that run inside the Zoom client using the Zoom Apps SDK (zoomSdk): initialize the SDK, gate features by running context, configure in-client OAuth, implement Layers API and breakout rooms.'

Add natural trigger terms users would actually say: 'Use when the app runs inside the Zoom desktop or mobile client, or when the user mentions Zoom Apps, the Apps SDK, zoomSdk, in-client apps, or the Layers API.'

Include the routing boundary from the body ('If the user only needs to embed a meeting in an external app, use the Meeting SDK') to reduce overlap with a Meeting SDK skill and boost distinctiveness.

DimensionReasoningScore

Specificity

The description 'Use when using Apps SDK.' names the domain (Apps SDK) but lists zero concrete actions or capabilities. It is below anchor 3 ('Names domain and 1-2 concrete actions') since no actions appear at all, but above anchor 1 ('pure abstract language') because a specific domain is named.

2 / 5

Completeness

A 'when' clause exists but it is circular ('Use when using Apps SDK') and there is no 'what' statement whatsoever — no capabilities are described. This matches anchor 2 exactly ('only 'when' is present without 'what'', example: 'Use when working with documents'); anchor 3 requires a clear 'what', which is absent.

2 / 5

Trigger Term Quality

The only keyword is 'Apps SDK' — a single, somewhat circular term that omits the natural phrases users would say ('Zoom Apps', 'Zoom Apps SDK', 'zoomSdk', 'in-client app'). This matches anchor 2 ('one or two generic keywords; missing the natural phrases users say') better than anchor 3, which expects a relevant base keyword plus partial synonym coverage.

2 / 5

Distinctiveness Conflict Risk

'Apps SDK' carves out a somewhat distinct niche, but without the word 'Zoom' it could plausibly collide with other SDK skills (e.g., the Meeting SDK routing the body itself performs). Anchor 3 ('somewhat specific but could still overlap with similar skills') fits; anchor 4 would require explicit Zoom branding and distinct triggers.

3 / 5

Total

9

/

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

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

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