CtrlK
BlogDocsLog inGet started
Tessl Logo

supabase-node

Express/Hono with Supabase and Drizzle ORM

35

Quality

32%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/supabase-node/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

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 a technology stack label rather than a functional skill description. It completely lacks action verbs, capability details, and explicit trigger guidance ('Use when...'). A user or Claude selecting from many skills would have no way to understand what this skill does beyond involving these four technologies.

Suggestions

Add concrete actions describing what the skill does, e.g., 'Scaffolds Express or Hono API servers with Supabase integration and Drizzle ORM for database schema management, migrations, and queries.'

Add an explicit 'Use when...' clause with trigger terms, e.g., 'Use when the user wants to build a backend API with Express or Hono, connect to Supabase, set up Drizzle ORM schemas, or generate database migrations.'

Include natural keyword variations users might say, such as 'REST API', 'backend server', 'database schema', 'ORM setup', 'API routes', '.ts server files'.

DimensionReasoningScore

Specificity

The description only names technologies (Express, Hono, Supabase, Drizzle ORM) without describing any concrete actions or capabilities. There are no verbs indicating what the skill does.

1 / 3

Completeness

The description answers neither 'what does this do' nor 'when should Claude use it'. It is merely a list of technology names with no explanation of capabilities or trigger conditions.

1 / 3

Trigger Term Quality

It includes some relevant technology keywords (Express, Hono, Supabase, Drizzle ORM) that users might mention, but lacks common variations or related terms like 'API', 'backend', 'database', 'REST', 'server', 'routes', 'schema', or 'migrations'.

2 / 3

Distinctiveness Conflict Risk

The specific combination of Express/Hono + Supabase + Drizzle ORM is somewhat distinctive, but without describing what the skill actually does, it could overlap with any skill involving these technologies (e.g., a migration skill vs. an API scaffolding skill).

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 a complete Express/Hono + Supabase + Drizzle stack, which is its main strength. However, it is far too verbose for a skill file — it's essentially a full project scaffold dumped into one document, most of which Claude could generate from brief patterns and conventions. The lack of progressive disclosure and missing validation checkpoints (both in workflow and in business logic like ownership checks) significantly reduce its effectiveness as a skill.

Suggestions

Reduce the SKILL.md to a concise overview (~50-80 lines) covering core principles, key patterns (auth middleware, Drizzle query style, Supabase client setup), and anti-patterns — move full file implementations to referenced bundle files like ROUTES.md, SCHEMA.md, MIDDLEWARE.md.

Add explicit validation checkpoints to the workflow, e.g., 'After db:push, verify tables exist with db:studio' and 'Test auth middleware with a curl command before building routes'.

Remove boilerplate code that Claude can generate from brief instructions (e.g., full CRUD routes, test setup, package.json scripts) and replace with concise patterns showing only the non-obvious conventions.

Add ownership verification in update/delete routes (check authorId matches req.user.id) — this is a critical security pattern that should be highlighted rather than omitted.

DimensionReasoningScore

Conciseness

This is extremely verbose at ~500+ lines, essentially a full project boilerplate/tutorial. It includes complete file contents for every single file in the project structure, much of which is standard Express/Drizzle/Supabase patterns that Claude already knows. The entire routes/posts.ts CRUD implementation, testing setup, and many other sections are boilerplate that don't need to be spelled out in full.

1 / 3

Actionability

Every section provides fully executable, copy-paste ready TypeScript code with correct imports, proper typing, and real library APIs. The code is complete and specific — from schema definitions to middleware to route handlers — with no pseudocode or vague instructions.

3 / 3

Workflow Clarity

The project structure and setup steps are laid out in a logical order (install → config → db → auth → routes → app), but there are no explicit validation checkpoints. For instance, there's no step to verify the database connection works, no migration workflow validation, and the update/delete routes don't verify ownership before modifying posts — a significant logic gap.

2 / 3

Progressive Disclosure

This is a monolithic wall of code with no references to external files or bundle resources. Everything is inlined into a single massive document. The content would benefit enormously from splitting into separate reference files (e.g., schema patterns, route examples, middleware reference) with the SKILL.md serving as a concise overview.

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.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (837 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

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.