CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

oauth

OAuth 2.0 and OpenID Connect implementation patterns. Use when implementing authentication, authorization flows, or integrating with OAuth providers like Google, GitHub, or custom identity providers.

Quality

74%

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/security-compliance/skills/oauth/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.

A tidy, well-sectioned overview of OAuth 2.0/OIDC that is respectful of token budget, but it reads more like a cheat sheet than an implementation guide: key code is pseudocode or stubbed, and the validation checklist floats apart from the flow steps with no ordered workflow or feedback loop. Making the PKCE and refresh examples executable and sequencing the checklist into the flow would lift both actionability and workflow clarity.

Suggestions

Replace pseudocode with executable code: show a real PKCE verifier/challenge generation (e.g., using hashlib + base64.urlsafe_b64encode with correct padding) and a complete refresh_tokens implementation against the token endpoint.

Integrate the Implementation Checklist into the flow as ordered validation checkpoints (e.g., 'after receiving the redirect: verify state, then exchange code; if token response is 400 invalid_grant, refresh and retry') with explicit error-recovery steps.

Trim Claude-known commentary in code (e.g., '# Subject (unique user ID)') and consider moving detailed OIDC claim tables to a single one-level-deep reference file if the skill grows.

DimensionReasoningScore

Conciseness

The body is efficient and avoids tutorial padding: a compact six-step flow diagram, short focused code blocks, and a security checklist with no filler. Minor instances of over-explanation remain (e.g., '# Subject (unique user ID)' and '# ID token contains user identity claims' restate concepts Claude already knows), keeping it just below the lean anchor of 5 and above anchor 3's 'some unnecessary explanation'.

4 / 5

Actionability

Guidance is partially concrete but incomplete: the PKCE snippet uses non-executable pseudocode ('base64url(sha256(code_verifier))'), 'refresh_tokens' is a stub ending in 'pass', and the flow section describes steps rather than giving runnable code. This matches the anchor for 'some concrete guidance but incomplete; pseudocode instead of executable code; missing key details' — it is above anchor 2 because real parameter names, code_challenge_method, and claim structures are given.

3 / 5

Workflow Clarity

The authorization code flow is presented as a clear numbered sequence, and the checklist mentions validation concerns ('Validate state parameter against CSRF', 'Verify ID token signature'), but the two are not integrated into a sequenced workflow: there are no explicit checkpoints at step boundaries and no feedback/recovery loop for token or validation failures. This matches anchor 3 ('steps listed but validation gaps; sequence present but checkpoints missing or implicit') rather than 4, where most checkpoints would be embedded in the sequence.

3 / 5

Progressive Disclosure

The single-file body is well organized into clear sections (Flows, Token Management, Security, OIDC, Checklist), and nothing here clearly belongs in a separate reference file, so it does not suffer the inlining penalty of anchors 2-3. It falls just short of anchor 5 because the body runs well past the ~50-line simple-skill threshold and is entirely monolithic — e.g., the OIDC claims detail could live in a one-level-deep reference — so 'good structure, minor organization gaps' at 4 is the best fit.

4 / 5

Total

14

/

20

Passed

Description

73%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 description: third-person, concise, with an explicit and specific 'Use when' clause naming concrete providers. The main weakness is the 'what' portion — 'implementation patterns' gestures at the domain without enumerating specific capabilities (e.g., configure authorization code flow with PKCE, validate ID tokens, manage token refresh).

Suggestions

Replace the vague 'implementation patterns' with 2-3 concrete actions, e.g., 'Configure authorization code flow with PKCE, validate ID tokens, and manage token refresh/rotation.'

Add common user phrasings as triggers, such as 'login with Google/GitHub', 'sign in with', 'SSO', 'OIDC', or 'access tokens', to broaden natural keyword coverage.

Keep the third-person voice and current length; the trigger clause structure is already close to the top anchor and only needs a more concrete 'what'.

DimensionReasoningScore

Specificity

The description names the domain clearly ('OAuth 2.0 and OpenID Connect implementation patterns') with actions like 'implementing authentication, authorization flows, or integrating with OAuth providers', but these are 1-2 generic actions rather than a list of specific concrete capabilities. It sits at the anchor for naming the domain with a couple of concrete actions but not comprehensive coverage; it is above anchor 2 because the actions are more concrete than merely naming the domain.

3 / 5

Completeness

It has an explicit 'Use when...' trigger clause ('Use when implementing authentication, authorization flows, or integrating with OAuth providers like Google, GitHub, or custom identity providers') and a 'what' ('OAuth 2.0 and OpenID Connect implementation patterns'). The 'when' is explicit and specific, but the 'what' is somewhat thin — 'implementation patterns' is vaguer than listing concrete operations — so it matches anchor 4 rather than the fully concrete what-and-when of anchor 5.

4 / 5

Trigger Term Quality

Good natural keyword coverage: 'authentication', 'authorization flows', 'integrating with OAuth providers', 'Google, GitHub, or custom identity providers'. A few natural terms users would say are missing (e.g., 'login', 'sign in', 'SSO', 'tokens', 'OIDC'), so it does not reach the comprehensive-with-synonyms anchor of 5, but it clearly exceeds 'some relevant keywords with missing variations' at 3.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (OAuth 2.0 / OIDC implementation) with distinct trigger phrases naming specific providers, and would not plausibly fire for unrelated skills. This matches the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

16

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jpoutrin/product-forge

Path

plugins/security-compliance/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.