CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

nextjs-supabase-auth

Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.

Quality

57%

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/AI-Agents-Safe-Coding-Skills-claude/skills/nextjs-supabase-auth/SKILL.md

The canonical home for this skill is nextjs-supabase-auth in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

40%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 well-sectioned and free of concept-explanation padding, but it is a skeleton: no code, no ordered workflow, no validation guidance, and anti-patterns without correct alternatives. An auth integration skill's core value (executable client/middleware/callback code) is entirely absent, leaving only high-level hints like "Use @supabase/ssr".

Suggestions

Add executable code to the Patterns sections: a @supabase/ssr browser/server client factory, the middleware.ts session-refresh snippet, and the /auth/callback route handler — copy-paste ready rather than one-line descriptions.

Expand each Anti-Pattern into prohibition + correct alternative (e.g., "❌ getSession in Server Components → use getUser() in Server Components because getSession does not revalidate the JWT"), since bare headers give no actionable guidance.

Sequence the patterns as an ordered workflow (env setup → client factories → middleware → callback route → protected routes) with verification checkpoints (e.g., confirm session cookies are set, confirm redirect on expired token), and delete the filler Capabilities/Requirements/When-to-Use sections.

DimensionReasoningScore

Conciseness

The body is short (~54 lines) and avoids explaining concepts Claude already knows, but contains padded zero-value sections: "Capabilities" and "Requirements" are bare kebab-case tag lists, and "This skill is applicable to execute the workflow or actions described in the overview" is circular filler. Mostly efficient but could be tightened — anchor 3.

3 / 5

Actionability

The Patterns sections are one-line topic stubs with zero code ("Create properly configured Supabase clients for different contexts", "Handle OAuth callback and exchange code for session") and the Anti-Patterns name prohibitions ("❌ Storing Tokens Manually") without correct alternatives. The only concrete guidance is high-level ("Use @supabase/ssr for App Router integration", "cookie-based session flow") — anchor 2: minimal concrete guidance, missing specific steps.

2 / 5

Workflow Clarity

There is no ordered workflow at all: client setup, middleware, and callback appear as unordered pattern categories with no sequence, no environment/setup step, and no validation checkpoints for an inherently multi-step integration. A rough progression is only implied, matching anchor 2 (rough sequence, steps poorly defined, validation absent) rather than 1.

2 / 5

Progressive Disclosure

No bundle files exist and the body has clear, well-organized sections that are easy to navigate, which per the simple-skill note can score highly. Held at anchor 4 rather than 5 because the Patterns and Anti-Patterns sections are stubs whose natural content (executable auth code, correct alternatives) is substantial enough to warrant either inline content or one-level-deep referenced files.

4 / 5

Total

11

/

20

Passed

Description

57%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 correctly answers both what the skill does and when to use it, with an explicit "Use when:" clause and a well-defined niche. Its weaknesses are a capability statement that never gets more concrete than "integration", and trigger terms that are redundant keyword permutations missing natural synonyms like sign-in, OAuth, or session management.

Suggestions

Replace "Expert integration of" with 2-3 concrete actions, e.g., "Sets up @supabase/ssr clients, builds auth middleware for protected routes, and handles OAuth callback code exchange in Next.js App Router."

Diversify trigger terms with natural user phrasings and synonyms instead of permutations of the same three words: add "sign in with Supabase", "OAuth login", "session management", "Supabase user authentication".

Tighten trigger phrasing so terms read as things a user would actually type ("supabase auth next", "login supabase" read as keyword stuffing rather than natural phrases).

DimensionReasoningScore

Specificity

The description names the domain ("Expert integration of Supabase Auth with Next.js App Router") but "integration" is the only action word — no concrete capabilities like middleware setup, callback handling, or session management are stated as actions (they appear only as trigger terms in the 'when' clause). Matches anchor 2 (names domain, actions minimal/generic) rather than 3, which requires 1-2 explicitly stated concrete actions.

2 / 5

Completeness

Both parts are explicitly present: a clear "what" ("Expert integration of Supabase Auth with Next.js App Router") and an explicit "Use when:" clause with trigger phrases. Not a 5 because the "what" lacks the concrete action verbs the anchor-5 example carries (e.g., "Extract text... fill forms, merge documents").

4 / 5

Trigger Term Quality

Four of the five trigger terms ("supabase auth next", "authentication next.js", "login supabase") are unnatural permutations of the same three root words rather than phrases users would say, and common synonyms like "sign in", "OAuth", and "session management" are missing. Fits anchor 3 (relevant keywords but missing common variations or synonyms) better than 4, since effective coverage is narrower than the term count suggests.

3 / 5

Distinctiveness Conflict Risk

The Supabase Auth × Next.js App Router intersection is a clear niche, but "auth middleware" and "protected route" are generic trigger terms that could fire for other auth frameworks, and the skill overlaps with the related nextjs-app-router/supabase-backend skills. Matches anchor 4 (mostly distinct, minor overlap risk).

4 / 5

Total

13

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/nextjs-supabase-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.