CtrlK
BlogDocsLog inGet started
Tessl Logo

supabase-nextjs

Next.js with Supabase and Drizzle ORM

50

Quality

56%

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 ./skills/supabase-nextjs/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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 content is highly actionable with complete, runnable code across the Supabase+Drizzle+Next.js stack, but it is a monolithic inlined file and its destructive mutations lack validation checkpoints. Splitting large sections into reference files and adding validation/ownership checks would raise it further.

Suggestions

Add validation and ownership checks to mutating server actions (e.g., verify the post's authorId matches the current user before update/delete) to lift workflow clarity past the destructive-op cap.

Extract sizable topical blocks (Realtime, Storage, OAuth Providers, Auth Pages) into reference files under ./references/ and link to them one level deep from SKILL.md.

Trim generic React/JSX boilerplate from inline components to keep focus on the Supabase/Drizzle integration patterns Claude doesn't already know.

DimensionReasoningScore

Conciseness

The body is mostly lean, executable code with almost no concept padding Claude already knows, though full component boilerplate (e.g., LoginForm JSX, RealtimePosts) could be trimmed; it sits above the 'mostly efficient' anchor but not at 5 because some boilerplate earns no new information.

4 / 5

Actionability

It provides complete, copy-paste-ready TypeScript across clients, middleware, auth helpers, server actions, queries, storage, realtime, and OAuth, covering the common cases; matches the 'fully executable, copy-paste ready' anchor.

5 / 5

Workflow Clarity

Setup is sequenced logically and anti-patterns act as guardrails, but destructive DB mutations (deletePost, updatePost) perform no input validation or ownership checks, so per the rubric the missing validation for destructive operations caps workflow clarity at 3.

3 / 5

Progressive Disclosure

The 700+ line body is well-sectioned with headers, but everything is inlined in SKILL.md with no bundle files or one-level-deep references for clearly separable topics (realtime, storage, OAuth); matches 'some structure but content that should be separate is inline'.

3 / 5

Total

15

/

20

Passed

Description

40%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 is a terse stack label: distinctive and on-domain but lacking concrete actions or an explicit trigger clause. It would benefit from naming capabilities and adding a 'Use when...' phrase.

Suggestions

Add concrete capabilities, e.g. 'Set up Supabase auth, server/client clients, Drizzle queries, storage, and realtime in Next.js App Router'.

Append an explicit trigger clause such as 'Use when building a Next.js App Router app backed by Supabase and Drizzle ORM'.

Include natural synonyms users say (auth/login, Postgres, database queries) to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description 'Next.js with Supabase and Drizzle ORM' names the domain/stack but states no concrete actions (e.g., auth, queries, storage), matching the 'names the domain but actions are minimal or generic' anchor; not a 3 because no concrete capability is enumerated.

2 / 5

Completeness

Evaluating the description field alone, it gives only a vague 'what' (a stack association, not what the skill does) and no explicit 'when'; per the rubric a missing 'Use when...' clause caps completeness, and the what itself is weak, so it sits at 2 rather than 3.

2 / 5

Trigger Term Quality

It surfaces stack keywords ('Next.js', 'Supabase', 'Drizzle ORM') that users do name, but misses common natural variations and synonyms (e.g., 'login', 'database', 'Postgres', 'auth'); not a 4 because keyword coverage is thin and jargon-leaning.

3 / 5

Distinctiveness Conflict Risk

The specific combination of 'Next.js with Supabase and Drizzle ORM' carves a distinct niche with minor overlap risk against generic Next.js skills; not a 5 because no concrete trigger phrases further disambiguate it.

4 / 5

Total

11

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
alinaqi/claude-bootstrap
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.