CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

auth

Authentication integration guidance — Clerk (native Vercel Marketplace), Better Auth, Descope, and Auth0 setup for Next.js applications, plus Sign in with Vercel, Vercel Passport, and Vercel KMS. Covers server config, route handlers, proxy.ts auth patterns, sign-in/sign-up flows, and Marketplace provisioning. Use when implementing user authentication, sessions, protected routes, or protecting deployments.

68

Quality

86%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 high-quality, heavily action-oriented body: executable code for every provider, a validated multi-step workflow with feedback loops for Better Auth, and dense version-specific knowledge with no filler. Its one structural weakness is that a ~530-line, four-provider skill keeps all detail inline in SKILL.md instead of splitting per-provider guides into reference files.

Suggestions

Move per-provider detail into one-level-deep reference files (e.g., references/clerk.md, references/better-auth.md, references/vercel-primitives.md), keeping SKILL.md as the decision matrix plus a short setup per provider.

Relocate time-sensitive material — the "Clerk Core 3 Breaking Changes (March 2026)" list and version pins — into a clearly labeled migration/deprecated reference file so the main body stays version-stable.

Add explicit verification steps to the Clerk, Descope, and Auth0 sections (analogous to Better Auth's GET /api/auth/ok check) so every provider workflow has a checkpoint.

DimensionReasoningScore

Conciseness

The body is dense and code-first with essentially no explanation of concepts Claude already knows — it spends tokens on non-obvious, version-specific facts ("ClerkProvider must be inside <body>", "VERCEL_URL is not read automatically", "signToken is deprecated"). A few sentences could still be trimmed (e.g., the Better Auth intro paragraph restates positioning already in the description), which keeps it just below the lean 5 anchor.

4 / 5

Actionability

Nearly everything is copy-paste ready: install commands ("npm install better-auth pg", "vercel integration add clerk"), complete proxy.ts and route-handler code, env-var blocks with generation hints ("<openssl rand -base64 32>"), migration commands ("npx auth@latest migrate"), and a symptom/cause/fix mistake table. Specific examples cover the common cases across all four providers, matching the 5 anchor.

5 / 5

Workflow Clarity

The Better Auth "Agent Workflow" is an 8-step numbered sequence with explicit validation and feedback loops ("Verify GET /api/auth/ok returns { "status": "ok" }", "run a sign-up → sign-in → getSession() pass", "Re-run migrate after every plugin change"), so the destructive/batch cap does not apply. However, only that provider has checkpoints — the Clerk, Descope, and Auth0 sections are reference-style with no verification steps, which is a minor validation gap placing this at 4 rather than 5.

4 / 5

Progressive Disclosure

The skill is a single ~530-line SKILL.md with no references/, scripts/, or assets/ files, so per-provider setup guides, the plugin table, and the Clerk Core 3 breaking-changes list are inlined where a multi-provider skill of this size should split them into one-level-deep reference files. Section headers, the decision matrix, and the cross-reference list ("⤳ skill: routing-middleware") give it real structure and clearly signaled links, which keeps it above the 2 anchor, but the content-that-should-be-separate-is-inline pattern matches the 3 anchor.

3 / 5

Total

16

/

20

Passed

Description

92%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: it names the domain, enumerates concrete capabilities, lists every covered provider, and closes with an explicit "Use when..." trigger clause. It is specific, in third person, and virtually free of fluff; the only gap is a missing "login" synonym in the trigger vocabulary.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Covers server config, route handlers, proxy.ts auth patterns, sign-in/sign-up flows, and Marketplace provisioning" — and names every tool in scope (Clerk, Better Auth, Descope, Auth0, Sign in with Vercel, Passport, KMS). Coverage is comprehensive within the stated domain with no vague filler, matching the 5 anchor rather than 4 (no minor gaps in what it claims to cover).

5 / 5

Completeness

It explicitly answers both parts: the "what" is concrete ("Authentication integration guidance — Clerk... Better Auth, Descope, and Auth0 setup for Next.js applications... Covers server config, route handlers...") and the "when" is an explicit trigger clause ("Use when implementing user authentication, sessions, protected routes, or protecting deployments"). Both are present with concrete trigger phrases, matching the 5 anchor exactly.

5 / 5

Trigger Term Quality

Good natural-term coverage: "user authentication", "sign-in/sign-up", "sessions", "protected routes", "proxy.ts", plus all four vendor names users would actually say. It falls short of the 5 anchor because common synonyms like "login" / "log in" and generic "auth" phrasing are absent, so a few natural terms are missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche — authentication for Next.js/Vercel-deployed apps — with distinct vendor-name triggers (Clerk, Better Auth, Descope, Auth0, Vercel Passport, Vercel KMS) that no other skill would claim. It uses third-person voice throughout ("Covers..."), so no voice penalty applies, and conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (669 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

12

/

16

Passed

Repository

vercel/vercel-plugin

Path

skills/auth/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.