CtrlK
BlogDocsLog inGet started
Tessl Logo

supabase-nextjs

Next.js with Supabase and Drizzle ORM

53

Quality

61%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No known issues

Fix and improve this skill with Tessl

tessl review fix ./skills/supabase-nextjs/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is a highly actionable, code-complete reference with clear sections, but it is a monolithic inline document that would benefit from splitting into referenced files and from explicit validation checkpoints around database mutations.

Suggestions

Split large inline sections (Storage, Realtime, OAuth, Auth Pages) into reference files linked from the SKILL.md overview to improve progressive disclosure and token efficiency.

Add explicit validation/checkpoint steps for database operations, e.g. run and verify migrations before use, and confirm affected rows on update/delete before revalidating.

Consolidate the repeated Supabase client setup into a single reference and remove redundant boilerplate to tighten the body.

DimensionReasoningScore

Conciseness

The body is mostly efficient — terse headers, brief comments, and complete code assuming Claude's competence with no conceptual padding — but the ~730-line monolith of full inline code (repeated near-identical Supabase client setups) could be tightened or split, matching the 'mostly efficient but could be tightened' anchor rather than the lean 3.

2 / 3

Actionability

Throughout, the body provides fully executable, copy-paste-ready TypeScript with specific install commands ("npm install @supabase/supabase-js @supabase/ssr drizzle-orm postgres"), concrete env vars, and complete components, matching the 'fully executable code/commands; copy-paste ready' anchor.

3 / 3

Workflow Clarity

A clear setup sequence exists (install → env → Drizzle config → clients → middleware → auth), but database/mutation workflows (createPost/updatePost/deletePost, migrations) lack explicit validation checkpoints or error-recovery feedback loops, which the rubric notes should cap workflow clarity at 2 for database operations.

2 / 3

Progressive Disclosure

No bundle files exist and all content (auth, storage, realtime, OAuth) lives inline in one well-sectioned ~730-line SKILL.md with only external doc URLs as links; it is organized but content that should be separate is inline, matching the 'some structure but content that should be separate is inline' anchor.

2 / 3

Total

9

/

12

Passed

Description

57%

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 identifies a specific, distinctive stack but is terse and action-light, naming technologies rather than capabilities and omitting an explicit use-when trigger in the description field itself.

Suggestions

Expand the description to name concrete actions, e.g. "Set up Supabase auth, Drizzle ORM queries, storage, and realtime in a Next.js App Router app."

Add an explicit trigger clause to the description such as "Use when building or scaffolding a Next.js app with a Supabase backend and Drizzle ORM."

Include natural trigger variations users might say (auth, database queries, migrations, storage uploads) to improve trigger-term coverage.

DimensionReasoningScore

Specificity

"Next.js with Supabase and Drizzle ORM" names a specific technology stack but lists no concrete actions (e.g. querying, authenticating, migrating). It is more specific than vague fluff ("Helps with documents") but stops short of listing multiple concrete actions, matching the 'names domain and some actions' anchor.

2 / 3

Completeness

The description field states the what (the stack) but contains no explicit "Use when..." trigger clause; although a separate when-to-use frontmatter field provides trigger guidance, the description itself only implies when, matching the 'has what, but when is missing or only implied' anchor.

2 / 3

Trigger Term Quality

The terms "Next.js", "Supabase", and "Drizzle" are natural keywords a user would say, but common variations like "auth", "database", or "ORM queries" are absent, matching the 'some relevant keywords but missing common variations' anchor.

2 / 3

Distinctiveness Conflict Risk

Naming a specific three-part stack (Next.js + Supabase + Drizzle ORM) carves a clear niche with distinct triggers unlikely to conflict with unrelated skills, matching the 'clear niche with distinct triggers' anchor.

3 / 3

Total

9

/

12

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.