CtrlK
BlogDocsLog inGet started
Tessl Logo

db-migrate

Author or review a Drizzle DB migration for zero-downtime safety — expand/contract phasing, backward-compatibility with the deployed app version, and writing the `-- migration-safe` acknowledgment the check:migrations lint requires. Use when adding/editing files under `packages/db/migrations/` or changing `packages/db/schema.ts`.

77

Quality

98%

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

SKILL.md
Quality
Evals
Security

Quality

Content

96%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 an exceptionally tight, fully executable runbook: it teaches only what is repo-specific, gives concrete SQL and commands for every operation class, and closes the loop with a validated workflow and a hard rule against gaming the lint. The only structural weakness is that all reference-grade detail (the playbook table, marker and annotation specs) is inlined rather than split one level deep.

Suggestions

Split the per-operation playbook table into a one-level-deep reference file (e.g. references/playbook.md) and leave a lean overview plus the workflow in SKILL.md, moving the body toward an overview/detail split.

Add a short orientation or checklist at the top of the body (e.g. 'expand now, contract later, annotate only what you verified') so the reader gets the shape of the whole procedure before the dense detail.

The lint-tier reference detail (hard-error vs annotate-tier vs warning rule names in Workflow step 3) could move alongside the playbook in the reference file, keeping SKILL.md's workflow step focused on the decision logic.

DimensionReasoningScore

Conciseness

Every section adds repo-specific knowledge Claude cannot already have — the blue/green cutover window, the `COMMIT;` breakpoint idiom, the marker format — with zero tutorial padding. The one recap (marker rules in Workflow step 1) is a one-line cross-reference ("see 'Tracking the contract'") that earns its place. Not 4: there is no over-explanation to trim; the 8-row playbook table is the most token-dense form the content could take.

5 / 5

Actionability

Fully executable throughout: `cd packages/db && bunx drizzle-kit generate`, `bun run check:migrations`, `grep -rn "contract-pending" packages/db apps/sim`, `CREATE INDEX CONCURRENTLY IF NOT EXISTS`, `ADD CONSTRAINT ... NOT VALID`, and two copy-paste-ready annotation examples with an exact format spec (`contract-pending(<precondition>): <what to drop> — <why>`). Not 4: no gaps — common cases (add, rename, drop, type change, FK, index, backfill) each get concrete SQL-level direction.

5 / 5

Workflow Clarity

The 4-step Workflow is clearly sequenced with the lint as an explicit validation checkpoint, tiered failure handling (hard errors → rewrite into expand/contract; annotate tier → only after confirming steps 1–3; warnings → confirm batching before merging), and local verification (`bun run db:migrate` against a dev DB). Validation and feedback loops are present, so the destructive/batch cap does not apply. Not 4: checkpoints are explicit and error recovery is spelled out per lint tier.

5 / 5

Progressive Disclosure

Sections are well-organized and navigation is easy, but there is no overview/detail split — the full per-operation playbook table, the marker spec, and the lint-tier reference detail are all inline in an 89-line body, and the skill is over the ~50-line range where a self-contained single file earns a 5. Not 5: anchor 5 expects content "appropriately split"; the playbook and annotation-format reference material could live one level deep in a reference file with a lean overview left in SKILL.md. Not 3: structure is genuinely good — headers are clear, no buried or nested references, and nothing is misplaced.

4 / 5

Total

19

/

20

Passed

Description

100%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 exemplary: it states concrete capabilities in third person, anchors them to a specific tool and repo paths, and closes with an explicit, path-based 'Use when' trigger clause. It is both specific and concise with no filler or over-claims.

DimensionReasoningScore

Specificity

"Author or review a Drizzle DB migration for zero-downtime safety", "expand/contract phasing", "backward-compatibility with the deployed app version", and "writing the `-- migration-safe` acknowledgment the check:migrations lint requires" name multiple concrete, repo-specific actions that comprehensively cover the skill's scope. Not 4: there are no coverage gaps — the description spans authoring, reviewing, the phasing discipline, and the lint's annotation mechanism.

5 / 5

Completeness

Both what ("Author or review a Drizzle DB migration for zero-downtime safety...") and when ("Use when adding/editing files under `packages/db/migrations/` or changing `packages/db/schema.ts`") are explicit, with concrete trigger phrases. Not 4: the when-clause names specific file paths rather than leaving the trigger generic.

5 / 5

Trigger Term Quality

Natural terms a user would say ("Drizzle DB migration", "zero-downtime", "schema") plus concrete file-path triggers ("packages/db/migrations/", "packages/db/schema.ts", "check:migrations") give comprehensive coverage including path-level equivalents of file extensions. Not 4: no natural synonym or trigger variation is missing for this domain.

5 / 5

Distinctiveness Conflict Risk

Scoping to Drizzle plus this repo's specific migration paths and the named `check:migrations` lint gives it a clear niche with essentially no overlap risk against generic SQL, ORM, or deploy skills. Not 4: it is not merely "mostly distinct" — the triggers (repo paths, a named lint) cannot plausibly fire for another skill.

5 / 5

Total

20

/

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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository
simstudioai/sim
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.