FastAPI with Supabase and SQLAlchemy/SQLModel
35
32%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/supabase-python/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 tell Claude what the skill does or when to use it, making it very difficult to select appropriately from a pool of skills. It needs substantial expansion to be functional.
Suggestions
Add concrete actions describing what the skill does, e.g., 'Sets up FastAPI projects with Supabase backend, defines SQLAlchemy/SQLModel database models, creates API endpoints, and configures database connections.'
Add an explicit 'Use when...' clause with trigger terms, e.g., 'Use when the user asks to build a FastAPI application, connect to Supabase, define ORM models, create REST APIs, or set up a Python backend with a database.'
Include natural keyword variations users might say, such as 'REST API', 'backend', 'database', 'ORM', 'Python web app', 'API endpoints', '.py'.
| Dimension | Reasoning | Score |
|---|---|---|
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 | There is no 'what does this do' beyond naming technologies, 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 keywords (FastAPI, Supabase, SQLAlchemy, SQLModel) that users might naturally mention, but lacks common variations like 'API', 'REST', 'database', 'ORM', 'backend', or file extensions that would improve matching. | 2 / 3 |
Distinctiveness Conflict Risk | The specific combination of FastAPI + Supabase + SQLAlchemy/SQLModel is fairly distinctive, but without any described actions or triggers, it could overlap with general Python web development or database skills. | 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.
This skill is essentially a complete project template/boilerplate rather than a focused skill document. While the code is high-quality and fully executable, it's far too verbose—most of the content (FastAPI setup, Alembic config, test fixtures, CORS middleware) is standard knowledge that Claude already possesses. The unique value proposition (Supabase auth + SQLAlchemy for queries) could be communicated in a fraction of the space.
Suggestions
Reduce to ~80-100 lines focusing only on Supabase-specific patterns: the auth dependency (JWT validation via supabase-py), the dual-client pattern (anon vs service role), and the core principle of SQLAlchemy for queries + Supabase for auth/storage. Remove boilerplate Claude already knows (FastAPI app setup, CORS, Alembic init, test fixtures, pyproject.toml).
Split detailed examples (full route implementations, storage patterns, realtime, testing setup) into separate referenced files like ROUTES_EXAMPLES.md, TESTING.md, STORAGE.md.
Add explicit validation checkpoints: verify Supabase connection on startup, check migration status before running the app, validate JWT configuration with a test command.
Remove the anti-patterns section or condense to 2-3 truly non-obvious items specific to the Supabase+SQLAlchemy combination.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines, essentially a full project template/boilerplate dump. Much of this (CORS setup, basic FastAPI routing, Alembic init, test fixtures, pyproject.toml) is standard knowledge Claude already has. The anti-patterns section lists obvious best practices. This could be condensed to ~100 lines focusing on the Supabase-specific integration patterns. | 1 / 3 |
Actionability | All code examples are fully executable, copy-paste ready, and cover the complete stack from config to routes to testing. Concrete commands for running, migrating, and installing are provided with specific package versions. | 3 / 3 |
Workflow Clarity | The migration workflow has clear sequential commands, and the project structure is well-defined. However, there are no validation checkpoints (e.g., verifying Supabase connection works, checking migration success, validating auth setup). The overall flow from setup to running is implicit rather than explicitly sequenced. | 2 / 3 |
Progressive Disclosure | Everything is inlined in a single monolithic file with no references to external files for detailed content. The full route implementations, test fixtures, Alembic config, and storage examples could all be split into separate reference files, with SKILL.md serving as a concise overview with pointers. | 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 (711 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.