Next.js with Supabase and Drizzle ORM
35
32%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/supabase-nextjs/SKILL.mdQuality
Discovery
22%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This description is essentially just a technology stack label with no actions, capabilities, or trigger guidance. It fails to communicate what the skill does or when Claude should select it, making it nearly useless for skill selection among a large pool of available skills. It needs a complete rewrite with concrete actions and explicit 'Use when...' guidance.
Suggestions
Add concrete actions describing what this skill does, e.g., 'Sets up Next.js projects with Supabase backend integration, configures Drizzle ORM schemas, manages database migrations, and implements authentication flows.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about building a Next.js app with Supabase, setting up Drizzle ORM, database schema design, or connecting a Next.js frontend to a Supabase backend.'
Include natural trigger terms users might say, such as 'database setup', 'auth', 'schema', 'migration', 'full-stack app', 'serverless database', '.env configuration', etc.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names technologies (Next.js, Supabase, Drizzle ORM) but describes no concrete actions whatsoever. There are no verbs or capabilities listed—it reads as a topic label rather than a skill description. | 1 / 3 |
Completeness | There is no 'what does this do' beyond naming a tech stack, and there is no 'when should Claude use it' clause at all. Both dimensions are essentially missing. | 1 / 3 |
Trigger Term Quality | It includes relevant technology names (Next.js, Supabase, Drizzle ORM) that users might naturally mention, but lacks common variations, related terms (e.g., 'database', 'authentication', 'schema', 'migration', 'API routes'), or action-oriented keywords. | 2 / 3 |
Distinctiveness Conflict Risk | The specific combination of three technologies (Next.js + Supabase + Drizzle ORM) provides some distinctiveness, but without describing what the skill actually does, it could overlap with any skill involving these individual technologies. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable code covering the full Supabase + Next.js + Drizzle stack, which is its primary strength. However, it is far too verbose—inlining complete UI components and boilerplate that Claude can easily generate from brief pattern descriptions. The lack of progressive disclosure (no bundle files, everything inline) and missing workflow validation steps (no migration commands, no verification checkpoints) significantly reduce its effectiveness as a skill file.
Suggestions
Extract complete component implementations (LoginForm, RealtimePosts, AvatarUpload, OAuthButtons) into separate bundle files and replace with 1-2 line pattern descriptions plus file references in SKILL.md.
Add explicit migration workflow: after schema definition, include steps like `npx drizzle-kit generate` → review migration SQL → `npx drizzle-kit push` → verify with a test query.
Trim inline code to show only the non-obvious patterns (e.g., the cookie handling in server.ts and middleware.ts) and reduce standard boilerplate that Claude already knows how to write.
Add a setup verification checklist: confirm Supabase is running, test DB connection, verify auth callback URL is configured, etc.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines, inlining complete implementations for login forms, realtime components, OAuth buttons, storage uploads, and more. Much of this is boilerplate that Claude can generate from brief instructions. The full LoginForm component, RealtimePosts component, and AvatarUpload component could each be replaced with a 1-2 line description of the pattern. | 1 / 3 |
Actionability | Every section provides fully executable, copy-paste ready TypeScript code with correct imports, proper typing, and real API usage. The code examples are complete and specific, covering setup, schema, clients, middleware, server actions, queries, and components. | 3 / 3 |
Workflow Clarity | The setup steps (install, env vars, config) are listed but lack explicit validation checkpoints. There's no guidance on verifying the Drizzle connection works, running migrations (`npx drizzle-kit push` or `generate`+`migrate`), or testing auth flow end-to-end. The anti-patterns section helps but doesn't compensate for missing workflow sequencing. | 2 / 3 |
Progressive Disclosure | Everything is inlined in a single monolithic file with no references to supporting files. Complete component implementations, query functions, and auth helpers that could be split into separate reference files are all dumped into the main SKILL.md, making it a wall of code. No bundle files exist to offload detail. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | 9 / 11 Passed | |
7e5f7a2
Table of Contents
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.