Cloudflare D1 SQLite database with Workers, Drizzle ORM, migrations
40
41%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/cloudflare-d1/SKILL.mdQuality
Discovery
40%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 identifies a specific technology stack (Cloudflare D1, Workers, Drizzle ORM) which gives it good distinctiveness, but it reads more like a tag list than a proper skill description. It lacks concrete actions the skill enables and completely omits any 'Use when...' guidance, making it difficult for Claude to know when to select this skill.
Suggestions
Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when the user asks about Cloudflare D1 databases, edge database setup, or Drizzle ORM configuration with Workers.'
List specific concrete actions the skill covers, e.g., 'Creates D1 database schemas, generates and runs Drizzle ORM migrations, configures Workers bindings, and writes database queries.'
Include additional natural trigger terms users might say, such as 'serverless database', 'edge database', 'wrangler d1', 'database schema', or 'SQL queries'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Cloudflare D1 SQLite database) and some related technologies (Workers, Drizzle ORM, migrations), but doesn't list concrete actions like 'create schemas', 'run migrations', 'query databases', etc. | 2 / 3 |
Completeness | Only addresses 'what' at a high level (Cloudflare D1 with related technologies) but completely lacks any 'when should Claude use it' guidance — no 'Use when...' clause or equivalent trigger guidance. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Cloudflare D1', 'SQLite', 'Workers', 'Drizzle ORM', and 'migrations' that users might naturally mention, but misses common variations like 'database queries', 'schema', 'wrangler', 'serverless database', or 'edge database'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Cloudflare D1, Workers, and Drizzle ORM is a very specific technology stack that creates a clear niche unlikely to conflict with other skills. | 3 / 3 |
Total | 8 / 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 is highly actionable with complete, executable code examples covering the full D1 + Drizzle stack. However, it is far too verbose for a SKILL.md—most of the content (query patterns, full CRUD examples, testing boilerplate, CLI reference) should be in separate referenced files. It also lacks validation checkpoints in its workflows, particularly around migration application and deployment.
Suggestions
Extract query patterns, full worker implementation, testing setup, and CLI reference into separate bundle files (e.g., QUERIES.md, WORKER_EXAMPLE.md, TESTING.md, CLI_REFERENCE.md) and reference them from the main skill.
Remove explanations Claude already knows (what D1 is, what each component does in the stack table, basic CRUD patterns) and focus on D1-specific gotchas and configuration.
Add explicit validation steps to the migration workflow: verify migration applied successfully, check table structure after migration, and include error recovery guidance for failed production migrations.
Trim the main SKILL.md to ~100 lines covering setup, Drizzle config, migration workflow with validation, and pointers to detailed reference files.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines, with extensive inline code examples that could be split into reference files. The component table, full CRUD worker implementation, exhaustive query patterns, and complete test file are all things Claude already knows how to construct given minimal guidance. The introductory explanation of what D1 is and the stack table add little value. | 1 / 3 |
Actionability | Every section provides fully executable, copy-paste ready code with concrete commands. The setup flow from project creation through deployment is complete with real CLI commands, TypeScript code, SQL, and configuration files. | 3 / 3 |
Workflow Clarity | The migration workflow includes a dry-run step for production, and the setup is sequenced logically. However, there are no explicit validation checkpoints or error recovery steps—e.g., no guidance on what to do if migrations fail, no verification after applying migrations to production, and no feedback loops for destructive operations like database deletion. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no references to supporting files. The full CRUD implementation, exhaustive query patterns, testing setup, multi-environment config, and CLI reference should all be in separate referenced files. Everything is inlined into a single massive document with no bundle files to support it. | 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 (661 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 | |
df6ab96
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.