CtrlK
BlogDocsLog inGet started
Tessl Logo

supabase-python

FastAPI with Supabase and SQLAlchemy/SQLModel

44

Quality

32%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/supabase-python/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 with no verbs, actions, or trigger guidance. It fails to communicate what the skill does or when it should be selected, making it very difficult for Claude to choose it appropriately from a list of skills. It needs a complete rewrite with concrete capabilities and explicit usage triggers.

Suggestions

Add concrete actions describing what the skill does, e.g., 'Build REST APIs using FastAPI with Supabase as the backend database, using SQLAlchemy/SQLModel for ORM modeling, migrations, and query construction.'

Add an explicit 'Use when...' clause with trigger terms, e.g., 'Use when the user asks to create FastAPI endpoints, connect to Supabase, define SQLModel/SQLAlchemy models, or build a Python backend with database integration.'

Include natural keyword variations users might say, such as 'REST API', 'backend', 'CRUD operations', 'database models', 'API routes', '.py files', 'async endpoints'.

DimensionReasoningScore

Specificity

The description names technologies (FastAPI, Supabase, SQLAlchemy/SQLModel) but describes no concrete actions whatsoever. There are no verbs or capabilities listed—it reads as a topic label, not a capability description.

1 / 3

Completeness

It answers neither 'what does this do' nor 'when should Claude use it'. There is no 'Use when...' clause and no description of capabilities—just a list of technology names.

1 / 3

Trigger Term Quality

It includes relevant technology keywords (FastAPI, Supabase, SQLAlchemy, SQLModel) that users might naturally mention, but lacks action-oriented trigger terms like 'API endpoint', 'database', 'REST', 'CRUD', 'backend', or file extensions.

2 / 3

Distinctiveness Conflict Risk

The specific combination of FastAPI + Supabase + SQLAlchemy/SQLModel is somewhat distinctive, but without actions or scope, it could overlap with any general Python web development or database 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 the full FastAPI+Supabase+SQLModel stack, which is its main strength. However, it is far too verbose for a skill file — it reads more like a project template or tutorial than a concise reference. The lack of progressive disclosure (everything inline, no external file references) and missing validation checkpoints in the workflow significantly reduce its effectiveness as a skill document.

Suggestions

Reduce the SKILL.md to a concise overview (~80-100 lines) covering the core principle, project structure, key patterns (auth dependency, async session, SQLModel models), and anti-patterns — move full route implementations, test fixtures, alembic config, storage, and realtime examples to separate referenced files.

Add explicit validation checkpoints: verify DB connection after setup, confirm migrations applied successfully, test auth flow before building protected routes.

Remove boilerplate that Claude can generate from minimal instruction (e.g., full CORS middleware setup, complete pyproject.toml, health check endpoint) and focus on the non-obvious integration patterns specific to Supabase+SQLModel.

Add a 'Quick start' section at the top with the 3-4 most important patterns in minimal code, then link to detailed files for full implementations.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines, presenting a full project scaffold that Claude could generate from minimal guidance. Most of this is boilerplate code (config, models, routes, tests, alembic setup) that doesn't need to be spelled out in full — a concise skill would state the core principle and show only the non-obvious patterns (auth dependency, SQLModel+async session setup) with brief examples.

1 / 3

Actionability

Every section contains fully executable, copy-paste ready code with correct imports, proper async patterns, and complete type annotations. The code examples are concrete and specific — from config to models to routes to tests — with no pseudocode.

3 / 3

Workflow Clarity

The content follows a logical sequence (setup → config → db → auth → routes → migrations → testing → running), but lacks explicit validation checkpoints. For example, there's no step to verify the database connection works, no validation after running migrations, and no guidance on verifying auth is properly configured before building routes.

2 / 3

Progressive Disclosure

This is a monolithic wall of code with no references to external files for detailed content. The full route implementations, test fixtures, alembic config, storage helpers, and realtime examples are all inline when most should be split into separate reference files (e.g., ROUTES.md, TESTING.md, STORAGE.md) with the SKILL.md serving as an 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 (712 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.