SQLite best practices for Python -- PRAGMAs per connection, context manager transactions, parameterized queries, row_factory, executemany, FK indexes
92
90%
Does it follow best practices?
Impact
97%
1.73xAverage score across 5 eval scenarios
Passed
No known issues
Quality
Discovery
100%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 is an excellent skill description that hits all the marks. It provides comprehensive specificity with detailed technical practices, includes natural trigger terms developers would use, explicitly states both what it does and when to use it, and carves out a distinct niche for Python SQLite development. The parenthetical note '(must be set per connection!)' adds helpful context without being verbose.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions and concepts: 'connection setup, WAL mode, foreign keys PRAGMA, context managers for transactions, parameterized queries, row_factory, executemany, connection management, indexes on FKs, and money as INTEGER cents.' | 3 / 3 |
Completeness | Clearly answers both what ('SQLite best practices for Python' with detailed list of practices) AND when ('Use when building or reviewing any Python app with SQLite, when you see sqlite3 imports, or when setting up a new local database in a FastAPI/Flask project'). | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'SQLite', 'Python', 'sqlite3 imports', 'local database', 'FastAPI/Flask project'. These are terms developers naturally use when working with SQLite in Python. | 3 / 3 |
Distinctiveness Conflict Risk | Very clear niche targeting specifically SQLite + Python combination with explicit framework mentions (FastAPI/Flask). Unlikely to conflict with general database skills or other language-specific database skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, actionable skill with excellent executable code examples and clear workflow patterns. The main weakness is verbosity - the content could be tightened by removing explanatory tables and consolidating the checklist with inline guidance. Some advanced sections (migrations, thread safety) could be split into separate files for better progressive disclosure.
Suggestions
Remove the 'Why each pragma matters' table - the inline comments in get_connection() already explain the purpose sufficiently
Consider moving the Migrations Pattern and Thread Safety sections to separate reference files, keeping only brief mentions with links in the main skill
Consolidate or remove the final checklist - it largely duplicates the section headers and inline guidance already provided
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with good code examples, but includes some unnecessary explanation (e.g., the 'Why each pragma matters' table explains things Claude would know, and some sections like 'Do NOT' examples add bulk). The checklist at the end duplicates information already covered. | 2 / 3 |
Actionability | Excellent executable code throughout - the get_connection() function, transaction patterns, parameterized queries, and migration pattern are all copy-paste ready. Specific examples with real SQL and Python code make this highly actionable. | 3 / 3 |
Workflow Clarity | Clear connection lifecycle pattern with try/finally, explicit transaction handling with context managers, and a comprehensive checklist for verification. The migrations pattern shows proper sequencing with validation (checking if migration already applied). | 3 / 3 |
Progressive Disclosure | Content is well-organized with clear section headers, but this is a monolithic document (~250 lines) that could benefit from splitting advanced topics (migrations, thread safety) into separate files. The verifier reference at the end is good but the main content is dense. | 2 / 3 |
Total | 10 / 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 | |
Reviewed
Table of Contents