CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-virtual-agent-android

Zoom Virtual Agent Android integration via WebView. Use for Java/Kotlin bridge callbacks, native URL handling, support_handoff relay, and lifecycle-safe embedding.

60

Quality

75%

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/virtual-agent/android/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 admirably lean and well-sectioned, and it names the right APIs, but it delegates nearly all actionable detail to bundled files that mostly do not exist, leaving the skill thin on executable guidance and with broken navigation. Adding the missing reference files and a minimal working bridge-registration snippet would fix the two biggest gaps.

Suggestions

Create the three missing referenced files (concepts/webview-lifecycle.md, examples/js-bridge-patterns.md, troubleshooting/common-issues.md) or remove their links so every Quick Link resolves.

Add a minimal, copy-paste Java/Kotlin snippet showing WebView setup with the JS bridge registered for exitHandler, commonHandler, and support_handoff.

Turn the Integration Model bullets into an explicitly numbered sequence with a validation checkpoint (e.g., verify handlers are registered before loadUrl, and confirm support_handoff events are received natively).

DimensionReasoningScore

Conciseness

The ~30-line body is lean and assumes competence: no explanation of what a WebView is or how Android bridges work; every bullet ('Host campaign URL in Android WebView', 'Inject runtime context (window.zoomCampaignSdkConfig)') carries concrete information. Matches the 'lean and efficient; every token earns its place' anchor.

5 / 5

Actionability

Bullets name real APIs and events ('exitHandler', 'commonHandler', 'shouldOverrideUrlLoading', 'window.zoomCampaignSdkConfig'), which is more concrete than vague direction, but there is no executable code, no handler contract, and no command a reader could run or copy. Fits 'some concrete guidance but incomplete; missing key details'; not 4 because nothing is executable and the deep detail lives in link targets that mostly don't exist.

3 / 5

Workflow Clarity

The 'Integration Model' section implies a sequence (host URL -> inject config -> register bridge -> apply URL policy) and 'Hard Guardrails' adds ordering constraints ('Initialize handlers before expecting JS callbacks'), but steps are not explicitly sequenced and there are no validation checkpoints. Fits the 'steps listed but validation gaps; checkpoints missing or implicit' anchor; not 2 because the sequence and constraints are reasonably well defined.

3 / 5

Progressive Disclosure

The structure is well organized (Quick Links, Integration Model, Hard Guardrails, Chaining), but scored against the actual bundle: three of the four Quick Link targets (concepts/webview-lifecycle.md, examples/js-bridge-patterns.md, troubleshooting/common-issues.md) do not exist in the bundle — only references/android-reference-map.md is present. Dead references leave a reader unable to navigate to the promised detail, fitting level 2; not 3 because broken link targets are a worse navigation failure than unclearly-signaled ones.

2 / 5

Total

13

/

20

Passed

Description

78%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.

A strong, third-person description with an explicit 'Use for' clause, good trigger terms, and a well-defined niche. Main gap is that the 'when' clause lists capability areas instead of natural invocation scenarios, which keeps completeness and trigger coverage just below the top anchors.

Suggestions

Rewrite the 'Use for' clause as a scenario-based trigger, e.g., 'Use when embedding the Zoom Virtual Agent chatbot in an Android app, implementing JS bridge handlers, or handling support_handoff from the WebView.'

Add a few natural synonyms users would say (e.g., 'chatbot', 'handoff', 'Contact Center mobile') to broaden trigger coverage.

DimensionReasoningScore

Specificity

Names the domain ('Zoom Virtual Agent Android integration via WebView') and several concrete capability areas ('Java/Kotlin bridge callbacks, native URL handling, support_handoff relay, and lifecycle-safe embedding'), matching the 'lists several specific actions; minor gaps in coverage' anchor. Not 5 because these are topic areas rather than comprehensive concrete actions; not 3 because it lists more than 1-2 specific items.

4 / 5

Completeness

Has a clear 'what' ('Zoom Virtual Agent Android integration via WebView') and an explicit 'Use for...' clause, so it avoids the missing-trigger cap. Not 5 because the 'when' enumerates capability areas rather than concrete invocation scenarios ('Use when integrating the Zoom Virtual Agent into an Android app...').

4 / 5

Trigger Term Quality

Includes strong natural terms users would say (Zoom Virtual Agent, Android, WebView, Java, Kotlin, support_handoff), fitting the 'good keyword coverage; a few natural terms missing' anchor. Not 5 because common variations users might actually type (e.g., 'chatbot', 'embedding', 'Contact Center', 'handoff') are absent; not 3 because coverage goes beyond a couple of generic keywords.

4 / 5

Distinctiveness Conflict Risk

A clear, narrow niche: a named product, a specific platform (Android), and a specific mechanism (WebView bridge). Trigger terms are unlikely to fire for unrelated skills; the only overlap risk is with a sibling Contact Center Android skill, which the chaining section separates explicitly. Matches the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

17

/

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

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

plugins/zoom/skills/virtual-agent/android/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.