CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/oauth-flow-test-author

Build-an-X for OAuth 2.0 / OIDC flow tests - authorization-code with PKCE per RFC 7636 (canonical for browser/native/mobile clients), client-credentials per RFC 6749 §1.3.4 (M2M), refresh-token rotation per RFC 9700 (token-binding + reuse-detection), state parameter for CSRF defense per RFC 6749 §10.12, nonce parameter for OIDC ID-token replay defense, scope-grant verification, redirect-URI strict matching. Use when authoring tests for any OAuth/OIDC client or resource server, regardless of the underlying IdP (Keycloak / Auth0 / Okta / mock).

69

Quality

87%

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

Overview
Quality
Evals
Security
Files

Quality

Content

71%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 well-structured, actionable body with excellent progressive disclosure (one-level-deep references verified to exist) and a clear four-step workflow. Its main weakness is token efficiency: block quotes of RFC 6749's grant taxonomy and RFC 7636's PKCE methods re-explain concepts Claude already knows.

Suggestions

Replace the RFC 6749 four-grant block quote in the Overview with a single line ('Four grants defined in RFC 6749; RFC 9700 deprecates Implicit and RO-Password — Auth Code + PKCE is canonical'), keeping only the operative deprecation guidance.

Replace the RFC 7636 §4.2 method quote with the existing one-line rule ('Always use S256; plain defeats the purpose of PKCE') plus the code, which already implements S256.

Tighten the worked example's intro: the five-step flow walk-through can reference RFC 6749 §4.1 directly rather than restating it.

DimensionReasoningScore

Conciseness

The body block-quotes RFC 6749's four-grant taxonomy and RFC 7636's §4.2 plain/S256 method list — OAuth grant taxonomy and PKCE mechanics Claude already knows; 'Always use S256' and the RFC 9700 deprecation lines carry the operative points alone. Mostly efficient elsewhere (tables, worked example, checklist), but the RFC quotes are removable padding.

3 / 5

Actionability

The worked example is near copy-paste-ready Python/Playwright with a working PKCE pair generator, concrete asserts, and a decision table mapping client type to required tests. Minor gaps keep it from 5: IdP login selectors and Playwright fixtures are assumed rather than specified.

4 / 5

Workflow Clarity

'How to use' gives a clear four-step authored sequence culminating in an explicit end-to-end coverage checklist, and the anti-patterns table maps each failure to a fix. No explicit 'run the tests and confirm outcomes' feedback loop, but test authoring is neither destructive nor batch, so the workflow_clarity cap does not apply; the checklist serves as the validation checkpoint, placing this above 3.

4 / 5

Progressive Disclosure

SKILL.md is a true overview: the canonical flow is worked inline, while all negative-case and secondary-grant detail is split one level deep into references/per-flow-test-recipes.md, repeatedly and specifically signposted ('the negative state-mismatch test, plus the client-credentials, refresh-rotation, OIDC-nonce, scope-downgrade, and redirect-URI recipes, are in references/per-flow-test-recipes.md'), and the referenced file exists with exactly that content. No nesting beyond one level.

5 / 5

Total

16

/

20

Passed

Description

96%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: comprehensive, RFC-anchored specificity with an explicit 'Use when' trigger clause and natural keywords including IdP synonyms. The only weakness is minor overlap risk with IdP-specific sibling skills induced by the 'regardless of the underlying IdP' phrasing.

DimensionReasoningScore

Specificity

The description lists seven concrete, RFC-anchored actions ('authorization-code with PKCE per RFC 7636', 'client-credentials per RFC 6749 §1.3.4', 'refresh-token rotation per RFC 9700', 'state parameter for CSRF defense', 'nonce parameter', 'scope-grant verification', 'redirect-URI strict matching'), giving comprehensive coverage of the OAuth/OIDC flow-test domain with no obvious gaps.

5 / 5

Completeness

It explicitly answers what ('Build-an-X for OAuth 2.0 / OIDC flow tests' followed by the enumerated capabilities) and when ('Use when authoring tests for any OAuth/OIDC client or resource server, regardless of the underlying IdP'), matching the 5-anchor pattern of both what and when with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural keywords users would actually say are well covered: 'OAuth 2.0 / OIDC flow tests', 'PKCE', 'refresh-token rotation', plus IdP synonyms (Keycloak / Auth0 / Okta / mock). It is not below 4 because no common variation a user would plausibly utter is missing for this niche.

5 / 5

Distinctiveness Conflict Risk

The niche (IdP-agnostic OAuth/OIDC flow-test authoring) is clear, but the clause 'regardless of the underlying IdP (Keycloak / Auth0 / Okta / mock)' creates minor overlap with closely related IdP-specific sibling skills (keycloak-tests / auth0-tests / okta-tests referenced in the body). It is not 3 because the flow-test-authoring focus is unambiguous and would not conflict with unrelated skills.

4 / 5

Total

19

/

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.

Reviewed

Table of Contents