CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-video-sdk-flutter

Zoom Video SDK for Flutter. Use when building custom video session apps in Flutter with flutter_zoom_videosdk, event-driven architecture, session lifecycle handling, and mobile platform integration patterns.

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

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/zoom/skills/video-sdk/flutter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

25%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 navigation index rather than instructional content: link labels are clear and one level deep, but roughly two-thirds of the referenced files do not exist in the bundle, and a leftover 'Merged from' section duplicates the entire index. The resulting page gives a reader little executable guidance and a broken map. Fixing the bundle layout and de-duplicating the index would raise most dimensions at once.

Suggestions

Ship the referenced bundle files (concepts/, examples/, troubleshooting/, RUNBOOK.md) or remove the links to them — navigation to nonexistent files is the dominant defect here.

Delete the 'Merged from video-sdk/flutter/SKILL.md' section; it repeats the Quick Links/Concepts/Examples/References lists verbatim and doubles the token cost for zero information.

Add a minimal concrete quick-start to the body (e.g., a short joinSession code snippet with the listener-binding order from Core Notes) so the skill is actionable even before following links.

DimensionReasoningScore

Conciseness

The body opens with a compact 'Quick Links' and 'Core Notes' section, but then a second full navigation index ('Merged from video-sdk/flutter/SKILL.md') repeats the same links (lifecycle-workflow.md, sdk-architecture-pattern.md, setup-guide.md, references) a second time, nearly doubling the file with redundant link lists. That is noticeably verbose padding, matching anchor 2. Not 3 because the duplication is not a minor trim — it is roughly half the body; not 1 because there is no over-explanation of concepts Claude already knows.

2 / 5

Actionability

The only concrete guidance is one-line hints: "init -> joinSession -> media/control -> leave -> cleanup" and "Keep SDK credentials server-side; generate JWT token on backend". There is no code, no commands, and the detail files that would carry the actual instructions (concepts/, examples/) do not exist in the bundle, so the specific steps to execute are missing — anchor 2. Not 3 because pseudocode-level specifics are absent, not just incomplete; not 1 because the lifecycle chain and credential note do give some high-level direction.

2 / 5

Workflow Clarity

The sequence "init -> joinSession -> media/control -> leave -> cleanup" is present but each step is only a label pointing to nonexistent files, with no step detail, no validation checkpoints, and no error-recovery guidance — anchor 2 ('rough sequence present but many gaps; steps poorly defined'). Not 3 because even at anchor 3 the steps themselves are listed with a coherent sequence and only checkpoints missing, whereas here the step bodies are broken pointers; not 1 because the high-level sequence is coherent and in the right order.

2 / 5

Progressive Disclosure

Checked against the actual bundle: of the referenced paths, only references/flutter-reference.md, references/module-map.md, and references/official-sources.md exist; concepts/lifecycle-workflow.md, concepts/sdk-architecture-pattern.md, concepts/high-level-scenarios.md, examples/setup-guide.md, examples/session-join-pattern.md, examples/event-handling-pattern.md, troubleshooting/common-issues.md, troubleshooting/version-drift.md, troubleshooting/deprecated-and-contradictions.md, and RUNBOOK.md are all missing. Navigation that resolves to nonexistent files, duplicated across two index sections, fails 'easy navigation' — anchor 2. Not 3 because structure and signaling alone do not compensate for a majority of broken links; not 1 because the links are clearly labeled and one level deep rather than deeply nested or buried.

2 / 5

Total

8

/

20

Passed

Description

70%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 concise, uses third person, and cleanly answers both 'what' (Zoom Video SDK integration in Flutter via flutter_zoom_videosdk) and 'when' (building custom video session apps). Its main weakness is that the 'what' is topical rather than action-based — it names the domain and themes instead of listing concrete capabilities. Trigger terms are strong, anchored by the exact package name.

Suggestions

Replace some topical phrases ('event-driven architecture', 'mobile platform integration patterns') with concrete capabilities, e.g., 'Join/leave video sessions, render audio/video streams, route session events' to raise specificity.

State the Meeting-SDK boundary in the description itself (e.g., 'for building custom video sessions, not Zoom Meetings') to fully separate it from sibling Zoom skills.

DimensionReasoningScore

Specificity

Quotes: "Zoom Video SDK for Flutter", "building custom video session apps in Flutter with flutter_zoom_videosdk, event-driven architecture, session lifecycle handling". The domain is named and one action ('building custom video session apps') plus concrete topical aspects are given, but it stops short of listing several specific capabilities (e.g., joining sessions, rendering video streams, event routing), matching anchor 3. Not 4 because it lacks the 'several specific actions' list; not 2 because it goes well beyond a bare domain label.

3 / 5

Completeness

Quotes: what — "Zoom Video SDK for Flutter ... with flutter_zoom_videosdk, event-driven architecture, session lifecycle handling"; when — "Use when building custom video session apps in Flutter". Both what and an explicit 'Use when' clause are present, matching anchor 4. Not 5 because the 'what' is a topical label rather than a concrete list of capabilities with trigger phrases; not 3 because the when-clause is explicit, not merely implied.

4 / 5

Trigger Term Quality

Quotes: "Zoom Video SDK for Flutter", "flutter_zoom_videosdk", "video session apps", "session lifecycle". These are natural phrases a user working in this niche would say, including the exact package name; a few common variations (video calling, real-time video, custom video UI) are missing, matching anchor 4. Not 5 because synonym coverage is not comprehensive; not 3 because the package name and platform keyword are strong, specific triggers.

4 / 5

Distinctiveness Conflict Risk

Quotes: "Zoom Video SDK for Flutter", "custom video session apps", "flutter_zoom_videosdk". The SDK name plus Flutter platform plus package name carve out a clear niche, but there is minor overlap risk with closely related skills (the parent zoom-video-sdk skill and the Meeting SDK, which the body has to disambiguate), matching anchor 4. Not 5 because the description itself does not state the 'custom sessions, not Zoom Meetings' boundary; not 3 because the platform-specific package name makes confusion with generic skills unlikely.

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: 22 missing, 3 suspicious

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

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