SQLAlchemy and database patterns for Python. Triggers on: sqlalchemy, database, orm, migration, alembic, async database, connection pool, repository pattern, unit of work.
72
59%
Does it follow best practices?
Impact
94%
2.08xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./data/skills-md/0xdarkmatter/claude-mods/python-database-patterns/SKILL.mdQuality
Discovery
54%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 has strong trigger term coverage with relevant keywords users would naturally use, but it severely lacks specificity about what the skill actually does — no concrete actions or outputs are described. The 'what' portion is essentially just a topic label ('SQLAlchemy and database patterns') rather than a description of capabilities.
Suggestions
Add specific concrete actions the skill covers, e.g., 'Defines SQLAlchemy models, configures connection pools, creates Alembic migrations, implements repository and unit of work patterns.'
Reformat the trigger list into a proper 'Use when...' clause, e.g., 'Use when the user needs help with SQLAlchemy models, Alembic migrations, async database connections, or ORM patterns in Python.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description says 'SQLAlchemy and database patterns for Python' which is vague and abstract. It names a domain but lists no concrete actions like 'create models', 'run migrations', 'configure connection pools', etc. | 1 / 3 |
Completeness | The 'when' is partially addressed via the 'Triggers on:' clause listing keywords, but the 'what' is extremely weak — it only says 'database patterns' without specifying what actions or outputs the skill provides. The trigger list serves as an implicit 'when' but lacks a proper 'Use when...' clause. | 2 / 3 |
Trigger Term Quality | Includes a strong set of natural trigger terms: 'sqlalchemy', 'database', 'orm', 'migration', 'alembic', 'async database', 'connection pool', 'repository pattern', 'unit of work'. These are terms users would naturally use when seeking help in this domain. | 3 / 3 |
Distinctiveness Conflict Risk | Terms like 'database' and 'orm' are somewhat generic and could overlap with other database-related skills (e.g., raw SQL, Django ORM). However, 'sqlalchemy', 'alembic', and 'repository pattern' provide some distinctiveness. | 2 / 3 |
Total | 8 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid reference-style skill with good, executable code examples covering SQLAlchemy 2.0 patterns. Its main weaknesses are the lack of workflow guidance (no migration workflow, no error handling, no validation steps) and the absence of referenced bundle files that would support progressive disclosure. Some content covers patterns Claude already knows well, slightly reducing token efficiency.
Suggestions
Add a workflow section for common multi-step operations like setting up Alembic migrations (init -> create revision -> validate -> upgrade) with explicit validation checkpoints.
Include error handling patterns and common pitfalls (e.g., session lifecycle issues, N+1 queries, connection pool exhaustion) rather than basic query syntax Claude already knows.
Provide the referenced bundle files (sqlalchemy-async.md, connection-pooling.md, transactions.md, migrations.md) to support the progressive disclosure structure, or remove the references.
Move the common query patterns and quick reference table to a reference file to keep the main skill focused on non-obvious patterns and workflows.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with good code examples, but includes some patterns Claude already knows well (basic SQLAlchemy model definitions, simple query patterns like select/filter/join). The quick reference table is somewhat redundant given the code examples above it. | 2 / 3 |
Actionability | All code examples are concrete, executable, and copy-paste ready. The examples cover real-world patterns including model definitions, async usage, query patterns, and FastAPI integration with proper imports shown. | 3 / 3 |
Workflow Clarity | The skill presents patterns as isolated code blocks without a clear workflow sequence. There are no validation checkpoints, no error handling patterns, no guidance on migration workflows (despite referencing Alembic), and no feedback loops for database operations that could fail. | 2 / 3 |
Progressive Disclosure | References to additional files (references/sqlalchemy-async.md, references/connection-pooling.md, etc.) are well-signaled and one-level deep, but no bundle files are provided, meaning these references are broken. The inline content is fairly long and some sections (like common query patterns) could be offloaded to reference files. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
2d09b29
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.