CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

drizzle-starter

Scaffold a Drizzle ORM project with TypeScript, schema definition (pgTable/mysqlTable), migrations via drizzle-kit, query builder, relations, Drizzle Studio, and type-safe queries.

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./database/drizzle-starter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is dense with executable, copy-paste-near Drizzle code and avoids explaining concepts Claude already knows, making it a strong working reference. Its weaknesses are the missing scaffold workflow with validation checkpoints (notably no verify step around migrations/push), duplicated command listings, and the absence of any progressive disclosure — a long single file where reference material is inlined.

Suggestions

Add an explicit numbered scaffold workflow with a validation checkpoint, e.g. 1. install 2. write drizzle.config.ts 3. define schema 4. `npx drizzle-kit check` 5. `generate` → verify the SQL 6. `migrate` — the missing validate-before-migrate loop caps workflow clarity.

Move full repository implementations, the migration runner, and Integration Notes into references/ files (e.g. references/repositories.md) and keep a quick-start overview in SKILL.md.

De-duplicate the command lists (merge "Database Initialization" into "Common Commands") and drop the blockquote repeating the frontmatter description; also fix the missing `posts` import in findUserWithPosts and add the dev-dependency flags to the MySQL/SQLite install lines.

DimensionReasoningScore

Conciseness

The body is code-heavy with lean, non-obvious prose ("generate creates SQL from schema diffs", "Use relational API for reads with joins, SQL-like API for inserts/updates/deletes") and assumes Claude's competence rather than explaining concepts. Not 5: there is redundancy — the frontmatter description is repeated verbatim as a blockquote, and "Database Initialization" duplicates four of the six commands re-listed under "Common Commands".

4 / 5

Actionability

Nearly everything is executable: install commands per dialect, a complete drizzle.config.ts, connection setup, full schema/relations/repositories/transaction examples, and the full drizzle-kit command set. Not 5: minor gaps break copy-paste readiness — findUserWithPosts uses posts without importing it, and the install commands omit -D typescript/@types/node/tsx for the MySQL and SQLite variants.

4 / 5

Workflow Clarity

The scaffold sequence is implied by section order (install → config → schema → push/generate/migrate → studio), but there is no explicit numbered workflow and no validation checkpoints — drizzle-kit check is listed as a bare command, never wired into a validate-before-migrate step. Per the scoring notes, database operations without feedback loops cap workflow_clarity at 3. Not 4: no verify/recover loop exists for the risky operations (push, migrate, drop).

3 / 5

Progressive Disclosure

Sections are well-organized with clear headers, but the ~390-line file inlines full reference-grade material — complete repository implementations, the programmatic migration runner, and integration notes — that belongs in one-level-deep reference files. Not 2: structure is good, not minimal; not 4: no content is split out to separate files, so the overview-vs-detail split the anchor rewards is absent.

3 / 5

Total

14

/

20

Passed

Description

75%Weight 40%Scale 1-5

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 is specific, third-person, and rich with Drizzle-named tools and APIs, giving it a distinct niche with minimal conflict risk. Its main weakness is the absence of a 'Use when...' trigger clause and of common synonym keywords (database, PostgreSQL/MySQL/SQLite, ORM), which cap completeness and trigger-term quality below the top anchors.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to set up Drizzle ORM, define database schemas, or run migrations in a TypeScript project."

Include natural synonyms and dialect names users would say — "database", "PostgreSQL", "MySQL", "SQLite", "ORM setup" — to broaden trigger-term coverage.

State when to choose Drizzle vs another ORM (e.g. "Use when starting a new TypeScript project that needs a lightweight SQL ORM") to sharpen the 'when' half of the description.

DimensionReasoningScore

Specificity

"Scaffold a Drizzle ORM project with TypeScript, schema definition (pgTable/mysqlTable), migrations via drizzle-kit, query builder, relations, Drizzle Studio, and type-safe queries" lists multiple specific concrete actions, each tied to named tools/APIs (pgTable/mysqlTable, drizzle-kit, Drizzle Studio), giving comprehensive coverage of the skill's domain. Not 4: unlike 'several specific actions; minor gaps', the enumerated actions span the full scope (schema, migrations, queries, relations, studio) rather than leaving coverage gaps.

5 / 5

Completeness

The 'what' is clear and detailed (scaffold a Drizzle ORM project with schema, migrations, queries, relations, Studio), but there is no 'Use when...' clause or equivalent trigger guidance — per the judging guidelines, a missing 'when' caps completeness at 3. Not 4: nothing in the description explicitly signals when Claude should reach for this skill.

3 / 5

Trigger Term Quality

Natural terms users would say are present: "Drizzle ORM", "migrations", "schema", "Drizzle Studio", "type-safe queries", "TypeScript". Not 5: common variations and synonyms are missing — users would naturally say "set up a database", "PostgreSQL/MySQL/SQLite", "ORM", or "database schema", none of which appear; not 3 because the included keyword set is genuinely good rather than merely 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

"Drizzle ORM" is a clear niche with distinct triggers; pgTable, drizzle-kit, and Drizzle Studio are Drizzle-specific terms unlikely to fire for other ORM skills. Not 4: the Drizzle-specific vocabulary dominates, leaving only minimal overlap risk with generic database-scaffolding skills; generic phrases like 'type-safe queries' are secondary.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

database/drizzle-starter/SKILL.md

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.