CtrlK
BlogDocsLog inGet started
Tessl Logo

build-zoom-phone-integration

Use when building Phone.

44

Quality

46%

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/phone/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 an exemplar of brevity with a reasonably clear, checkpointed workflow, but its guidance stops one level short of executable detail, and the progressive-disclosure layer is broken: most reference links point to non-existent files and most real bundle files are never referenced. Fixing the reference mapping is the single highest-impact repair.

Suggestions

Repair the reference map: 4 of 6 links (concepts/, examples/ x2, troubleshooting/) point to files that don't exist, while 6 of 8 files actually present in references/ — call-handling-patterns.md, crm-sample-validation.md, deprecations-and-migrations.md, environment-variables.md, forum-top-questions.md, source-map.md — are never linked from SKILL.md and are effectively undiscoverable.

Add executable anchors to the workflow steps: name the required OAuth scopes for call control, one example webhook event payload shape, and the concrete postMessage fields to validate for Smart Embed (or link the contract file that contains them).

Add an error-recovery branch to the debug step (e.g. 'If scopes are missing, request X; if the phone license is absent, provision via Y') so the workflow has feedback loops rather than a flat checklist.

DimensionReasoningScore

Conciseness

The ~20-line body is lean and assumes Claude's competence: it never explains what Zoom Phone, OAuth, or webhooks are, and each of the five workflow steps carries concrete directive content ('Confirm the actor, account settings, phone entitlements, and OAuth scopes'). This matches anchor 5 ('every token earns its place'); there is nothing to trim, so it cannot be 4, and no padding exists that would lower it.

5 / 5

Actionability

Steps name concrete artifacts to check ('postMessage event contracts', 'webhook subscriptions', 'event payload shape') but give no executable specifics — no API endpoints, OAuth scope names, sample payloads, or commands — so guidance is incomplete in the anchor-3 sense ('some concrete guidance but incomplete; missing key details'). It is above anchor 2 because the checklists are specific items rather than high-level hints, but below anchor 4 because none of the guidance can be executed without consulting references, 4 of which are broken.

3 / 5

Workflow Clarity

A clear five-step sequence runs classify → confirm prerequisites → modularize → validate Smart Embed contracts → debug, and includes an explicit pre-implementation checkpoint ('Confirm the actor... and OAuth scopes before implementation') plus a validation directive in step 4, matching anchor 4 ('clear sequence with most checkpoints present; minor validation gaps'). It is not 5 because there are no error-recovery feedback loops (what to do when a scope or license check fails), and not 3 because checkpoints are explicit rather than merely implied.

4 / 5

Progressive Disclosure

Although references are cleanly formatted one level deep, 4 of the 6 linked paths do not exist (concepts/architecture-and-lifecycle.md, examples/phone-api-service-pattern.md, examples/smart-embed-postmessage-bridge.md, troubleshooting/common-issues.md), while 6 of the 8 actual files in references/ (call-handling-patterns, crm-sample-validation, deprecations-and-migrations, environment-variables, forum-top-questions, source-map) are never linked and are therefore undiscoverable — functional navigation fails, matching anchor 2 ('references are buried' / minimal effective structure). The section formatting alone would suggest 4, but scored against the actual bundle structure per the judging guidelines, broken links plus orphaned content fall clearly below the anchor-3 midpoint.

2 / 5

Total

14

/

20

Passed

Description

25%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 four-word trigger clause with no capability statement, no product-qualified terms, and no natural trigger phrases beyond the generic word "Phone". It fails to answer 'what does this skill do' entirely and would rarely be selected over more specific competing skills.

Suggestions

State concrete capabilities in third person, e.g. 'Builds Zoom Phone integrations: REST call-control automation, webhook event processing, number management, and Smart Embed embedding.'

Replace the generic trigger 'building Phone' with natural terms users would actually say: 'Use when working with Zoom Phone, CTI, telephony, CRM calling/click-to-dial, call events, or Smart Embed.'

Make the description self-contained rather than relying on the skill name — 'Phone' alone could match Twilio or any telephony skill and invites mis-triggering.

DimensionReasoningScore

Specificity

"Use when building Phone." names a domain (Phone) with a single generic action verb ("building") and lists zero concrete capabilities, matching the anchor 'Names the domain but actions are minimal or generic'. It is above anchor 1 only because a domain is actually named; it cannot reach 3, which requires 1-2 concrete actions like 'extracts content'.

2 / 5

Completeness

Only a 'when' clause is present ("Use when building Phone") with no 'what' at all — the description never states what the skill does — which exactly matches anchor 2 ('only when is present without what'). A 3 would require a clear 'what'; a 1 would require both to be missing or extremely vague, whereas the 'when' clause, while terse, does exist.

2 / 5

Trigger Term Quality

The only keyword is "Phone" — one generic term missing the natural phrases a user would say ("Zoom Phone", "CTI", "telephony", "CRM calling", "call events", "Smart Embed"), all of which the skill body itself lists as triggers but the description omits. This matches anchor 2 ('One or two generic keywords; missing the natural phrases users say'); it is not 1 because 'Phone' is a natural word rather than pure jargon, and not 3 because common synonyms and product-specific variations are entirely absent.

2 / 5

Distinctiveness Conflict Risk

"building Phone" is very broad and would trigger for any telephony or calling skill (Twilio, voice integrations, generic CRM dialers), matching anchor 2 ('Very broad; high overlap risk with many similar skills'). It is above anchor 1 because 'Phone' at least narrows the domain, but below anchor 3 because nothing distinguishes it from other phone/CTI skills.

2 / 5

Total

8

/

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

Warning

Total

15

/

16

Passed

Repository
openai/plugins
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.