CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

jwt-auth-skill

Implement JWT-based authentication with access + refresh token pairs, token rotation, middleware/guard pattern, payload structure, expiration handling, httpOnly cookies vs Authorization header, and revocation strategies.

Quality

76%

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 ./auth/jwt-auth-skill/SKILL.md
SKILL.md
Quality
Evals
Security

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 strong, highly actionable single-file skill: executable code, concrete conventions, and test commands with almost no token waste. Its main weaknesses are the inlining of ~300 lines of full module implementations that belong in reference files, and placeholder repository/secret code that keeps the scaffold from running as written.

Suggestions

Move the full per-file implementations (at minimum the Python variant and the token-blacklist details) into references/ files such as references/node-implementation.md and references/python-implementation.md, keeping SKILL.md to conventions, project structure, and key snippets with clearly signaled links.

Include the refresh-token repository implementation or a Prisma/Drizzle schema for it (and a note to load secrets from env vars) so the scaffold runs as written.

Add an ordered implementation checklist that uses the existing curl commands as explicit verify steps after each milestone (e.g., 'after wiring the controller, verify login returns an access token before adding the guard').

DimensionReasoningScore

Conciseness

The body is dominated by executable code and terse conventions ('Access tokens are stateless (verified by signature). Refresh tokens are stateful') with no padding explaining concepts Claude already knows. Minor trimmable parts — the in-memory Set blacklist toy example and the partially duplicative Python variant — keep it below a 5.

4 / 5

Actionability

Provides copy-paste-ready TypeScript for service, middleware, guard, and controller plus install commands, curl tests, and a FastAPI variant. Minor gaps: 'refresh-token.repository' and 'users.repository' are imported but never defined (only a 'Replace with your actual DB queries' comment) and SECRET_KEY = "your-secret-key" is a placeholder, so the scaffold is not fully runnable as-is — matching anchor 4 rather than 5.

4 / 5

Workflow Clarity

A clear implicit sequence exists (scaffold → project structure → conventions → per-file patterns → curl tests) and 'Common Commands' supplies verification steps ('Test login', 'Test authenticated request', 'Test refresh'). However there is no explicit ordered step list or 'verify before proceeding' checkpoints, placing it between anchors 3 and 4, noticeably above 3.

4 / 5

Progressive Disclosure

The skill is a single well-sectioned file with no references/ directory, but roughly 300 lines of full implementations for seven modules plus a Python variant are inlined in SKILL.md. Content that clearly belongs in separate reference/template files is inline — matching anchor 3 ('content that should be separate is inline' with sections present), not 2 (structure exists) or 4 (no references and the bulk is not just 'a few key examples inline').

3 / 5

Total

15

/

20

Passed

Description

71%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 specific, comprehensive, third-person description that clearly states what the skill does across the whole JWT-auth domain. Its main weakness is the missing 'Use when...' trigger clause, which caps completeness and slightly weakens trigger-term coverage and distinctiveness from adjacent auth skills.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks to implement login, JWT or token-based authentication, or refresh token handling' — this lifts the completeness cap of 3.

Include natural synonyms users actually say — 'login', 'sign in', 'auth middleware' — to broaden trigger-term coverage toward anchor 5.

State when not to use the skill (e.g., 'For OAuth2/social login use oauth2-skill; for NextAuth-managed sessions, extend NextAuth instead') to reduce overlap with adjacent auth skills.

DimensionReasoningScore

Specificity

One verb plus seven concrete capabilities: 'access + refresh token pairs', 'token rotation', 'middleware/guard pattern', 'payload structure', 'expiration handling', 'httpOnly cookies vs Authorization header', and 'revocation strategies' — comprehensive coverage of the JWT-auth domain, matching the breadth of the anchor-5 example. No meaningful gaps keep it at 4.

5 / 5

Completeness

The 'what' is explicit and clear ('Implement JWT-based authentication with...') but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Natural terms users would say are present: 'JWT', 'authentication', 'token', 'refresh token', 'middleware', 'Authorization header'. Common phrasings like 'login', 'sign in', and plain 'auth' are missing, which fits anchor 4 (good coverage, a few natural terms missing) rather than 5 (comprehensive synonyms).

4 / 5

Distinctiveness Conflict Risk

A clear niche (JWT-based auth with rotation and revocation) that is mostly distinct, but without 'use when' triggers it could overlap adjacent auth skills such as OAuth2, session-based auth, or NextAuth — minor overlap risk matching anchor 4 rather than 5's minimal conflict risk.

4 / 5

Total

16

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

auth/jwt-auth-skill/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.