CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-meeting-sdk-linux

Zoom Meeting SDK for Linux - C++ headless meeting bots with raw audio/video access, transcription, recording, and AI integration for server-side automation

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/meeting-sdk/linux/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 is strong on concrete, executable guidance (real commands, complete-enough C++ code, error checkpoints) and the workflow is well sequenced, but it is heavily duplicated and its progressive-disclosure structure fails in practice because most referenced files are absent from the bundle. Consolidating the repeated sections and shipping the referenced files (or removing the links) would raise both conciseness and navigation.

Suggestions

Fix progressive disclosure first: either add the referenced files (linux.md, concepts/high-level-scenarios.md, meeting-sdk-bot.md, RUNBOOK.md, ../references/*.md) to the bundle or delete those links — only references/linux-reference.md currently exists, so most navigation links are broken.

Deduplicate: keep the raw-recording code, SDK feature list, and bot chaining guidance in one place each — currently the StartRawRecording flow appears three times, the SDK overview twice, and the doc-link lists three times (Quick Links, Documentation Library, Resources).

Move the GLib main loop requirement into the Quick Start workflow (it is a hard prerequisite — 'callbacks never fire, join hangs indefinitely') and present the minimal raw-recording flow after the init/auth steps it depends on.

DimensionReasoningScore

Conciseness

The body is noticeably padded with duplicated material: the raw-recording join/StartRawRecording code appears three times (minimal flow, Quick Start step 4, 'Raw Recording Permission Required'), the SDK overview appears twice (prose bullets and the Key Features table), the bot-routing/chaining guidance appears twice ('Skill chain' and 'Routing Rule for Bots'), and link lists are repeated ('Quick Links', 'Documentation Library', 'Resources'). It is not score 1 because the content is dense with real, non-obvious specifics rather than explanations of concepts Claude already knows.

2 / 5

Actionability

Guidance is concrete and near copy-paste ready: exact apt/yum package lists, the tar/cp/symlink setup commands, full InitParam/AuthContext/JoinParam code, and CanStartRawRecording/StartRawRecording error checks with official sample repo links. Minor gaps keep it below 5: MyAudioDelegate/MyVideoDelegate and meeting_service acquisition are never defined, and JWT generation is only linked.

4 / 5

Workflow Clarity

The Quick Start gives a clear numbered sequence (download/extract → init & auth → join in onAuthenticationReturn → start raw recording in onMeetingStatusChanged → subscribe) with explicit error checkpoints (SDKERR_SUCCESS checks, CanStartRawRecording gate, a Common Issues table). Minor gaps: the top 'How to Build a Meeting Bot' section shows join before init/auth is ever explained, and the critical ordering dependency that callbacks never fire without the GLib main loop is buried late in 'Critical Gotchas' instead of the workflow.

4 / 5

Progressive Disclosure

Scored against the actual bundle, only references/linux-reference.md exists; the majority of referenced paths — linux.md, concepts/high-level-scenarios.md, meeting-sdk-bot.md, RUNBOOK.md, ../references/authorization.md, ../references/bot-authentication.md, ../references/breakout-rooms.md, ../references/ai-companion.md — do not exist in the bundle (the ../references/ paths even point outside it), so most navigation links are broken. Structure and link signaling are good, but with most references missing and substantial detail (dependencies, gotchas, comparison tables) inlined that belongs in reference files, it fits 'minimal structure; references buried/broken' rather than 3.

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 stating what the skill covers, but it omits any 'Use when...' trigger guidance, which caps its completeness and weakens trigger-term quality. Adding an explicit trigger clause with natural user phrasings would lift it substantially.

Suggestions

Append an explicit trigger clause such as: 'Use when building meeting bots that join Zoom meetings, when the user mentions Zoom bots, raw audio/video capture, or transcribing/recording Zoom meetings server-side.'

Add natural user-facing phrasings users would actually say (e.g., 'record a Zoom meeting', 'Zoom transcription bot', 'meeting automation') to broaden trigger coverage.

Disambiguate from sibling skills by mentioning it is the C++ Linux SDK (not the REST API or Video SDK) in the trigger clause.

DimensionReasoningScore

Specificity

Names the domain ('Zoom Meeting SDK for Linux', 'C++ headless meeting bots') and several concrete capabilities ('raw audio/video access, transcription, recording, and AI integration'), with minor gaps (join flow, Docker deployment not surfaced). It lists several specific actions but is not fully comprehensive, matching the score-4 anchor rather than 5.

4 / 5

Completeness

The 'what' is clear (headless C++ meeting bots with raw media, transcription, recording, AI integration), but there is no 'Use when...' clause or equivalent trigger guidance — 'for server-side automation' states a purpose, not a use trigger. Per the judging guidelines, a missing explicit trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms users would say are present: 'Zoom', 'meeting', 'bots', 'recording', 'transcription', 'Linux', 'SDK'. Missing common phrasings like 'record Zoom meetings', 'transcribe Zoom calls', or 'meeting automation', so it falls just short of the comprehensive-with-synonyms anchor 5.

4 / 5

Distinctiveness Conflict Risk

'Zoom Meeting SDK for Linux' carves a clear niche, but it overlaps with closely related skills the body itself names (zoom-rest-api, zoom-webhooks, and the Zoom Video SDK), which matches 'mostly distinct; minor overlap risk' rather than the minimal-conflict anchor 5.

4 / 5

Total

15

/

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: 19 missing, 5 suspicious

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

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