CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zoom-oauth

Use when implementing OAuth.

40

Quality

50%

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/oauth/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 concise, well-shaped overview that correctly pushes detail to bundle files, but it is undermined by broken navigation (4 of 7 links point to missing files) and by workflow steps that name what to check without any executable detail or validation feedback loop. The core content is close to good; the failures are dangling references and missing checkpoints rather than bloat or misplacement.

Suggestions

Fix the reference list: create the missing concepts/ and troubleshooting/ files (or point those entries at references/full-guide.md sections), and add links for the orphaned references/classic-scopes.md and references/environment-variables.md.

Make step 4 (refresh handling) concrete: show the actual token-refresh request and the 'persist the new refresh token before discarding the old one' ordering, since this is the step where silent breakage occurs.

Add an explicit validation checkpoint with a retry loop, e.g. 'if the token request fails with invalid_grant, check redirect URI match and whether the refresh token was already consumed, then retry with the stored replacement.'

DimensionReasoningScore

Conciseness

The body is lean: no explanation of what OAuth is, no padding, and the intro paragraph ('Prefer setup-zoom-oauth for the first-pass setup plan, then return here...') earns its tokens by dividing labor with the sibling skill. This matches 'Efficient; minor instances of over-explanation that could be trimmed' — step 6 partially repeats step 4's single-use refresh-token rule and could merge. Not a 5 because of that redundancy; not a 3 because there is no genuinely unnecessary explanation.

4 / 5

Actionability

The workflow names concrete artifacts (PKCE, refresh-token rotation, redirect URIs, app publication state) but provides no executable specifics — no endpoints, no example HTTP requests, no scope strings, no commands — matching 'Some concrete guidance but incomplete'. As an instruction-only skill it is not penalized for lacking code, but the guidance stops at the conceptual level where, e.g., an actual token-refresh request sequence belongs. Not a 4 because a competent agent following these steps still lacks the details to execute a refresh or diagnose an error without the referenced files.

3 / 5

Workflow Clarity

The six steps form a coherent diagnose-before-code sequence, but validation is implicit and there are no feedback loops: step 5 says to 'validate requests against redirect URI, account ID, scopes...' without any validate → fix → retry cycle, matching 'Steps listed but validation gaps; sequence present but checkpoints missing or implicit'. Credential rotation (step 4) is exactly the fragile operation where explicit checkpoints matter. Not a 4 because no step tells the agent how to check or what to do on failure.

3 / 5

Progressive Disclosure

The overview-plus-reference-list structure is good, but 3 of the 7 referenced paths are broken: concepts/oauth-flows.md, concepts/token-lifecycle.md, concepts/scopes-architecture.md, and troubleshooting/redirect-uri-issues.md do not exist (no concepts/ or troubleshooting/ directories), while existing files references/classic-scopes.md and references/environment-variables.md are never linked. That matches 'Some structure but could be better organized; references present but not clearly signaled'. Not a 4 because navigation genuinely fails for nearly half the advertised paths; not a 2 because the inline body is appropriately thin and the surviving references are real and one level deep.

3 / 5

Total

13

/

20

Passed

Description

20%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 fails on nearly every dimension: it is a trigger clause only, with no statement of what the skill does, no Zoom-specific terms, and high conflict risk against any other OAuth-related skill. It closely resembles the rubric's bad examples in specificity and completeness despite being attached to a concrete, potentially well-described skill.

Suggestions

State the 'what' explicitly in third person, e.g. 'Implements and troubleshoots Zoom OAuth flows: authorization-code and PKCE grants, token refresh, granular scopes, and redirect-URI errors.'

Add Zoom-specific trigger terms users would actually say — 'Zoom OAuth', 'Zoom access token', 'refresh token rotation', 'Zoom app scopes' — so the description is distinct from generic OAuth skills.

Use the concrete content already in the body (scope architecture, error diagnosis, refresh handling) as the capability list for the description rather than the bare phrase 'implementing OAuth'.

DimensionReasoningScore

Specificity

The description is only 'Use when implementing OAuth.' — it names a domain but contains no concrete actions or capabilities at all, matching the anchor 'Entirely vague; no concrete actions; pure abstract language' (cf. 'Helps with documents'). It is not a 2 because that anchor requires at least minimal or generic actions ('Processes PDF files'), and none are stated.

1 / 5

Completeness

Only a 'when' clause is present ('Use when implementing OAuth') with no 'what' — what the skill does, what it covers — exactly matching the anchor 'only "when" is present without "what"' (cf. 'Use when working with documents'). Not a 1 because the 'when' trigger is explicit and non-vague; not a 3 or higher because no 'what' content exists at all.

2 / 5

Trigger Term Quality

The only keyword is 'OAuth', a single generic term; natural phrases a user would say — 'Zoom', 'access token', 'refresh token', 'authentication error' — are all missing, matching 'One or two generic keywords; missing the natural phrases users say'. Not a 3 because even the domain-specific qualifier ('Zoom') and common synonyms are absent, leaving just one bare keyword.

2 / 5

Distinctiveness Conflict Risk

Without any mention of Zoom, 'Use when implementing OAuth' would trigger for any OAuth skill (Google, GitHub, Slack, generic OIDC), matching 'Very broad; high overlap risk with many similar skills'. Not a 3 because the description itself — as opposed to the skill name — offers nothing to distinguish it from the broad family of OAuth skills; not a 1 because OAuth is at least a bounded technical domain rather than 'any skill'.

2 / 5

Total

7

/

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

Path

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