CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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`.

75

Quality

94%

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.

An exemplary instruction skill: it supplies only project-specific knowledge (deploy sequencing, lint rules, repo commands), wraps destructive operations in explicit expand/contract discipline, and provides a fully executable workflow with validation at every checkpoint. The only structural note is that the playbook and annotation catalog live entirely inline in a single file.

DimensionReasoningScore

Conciseness

Every section carries project-specific information — the blue/green deploy window, lint rule names, and repo-specific commands — with no padding or explanation of concepts Claude already knows. The per-operation playbook is delivered as a dense table rather than prose, so every token earns its place.

5 / 5

Actionability

The body gives copy-paste-ready commands (`cd packages/db && bunx drizzle-kit generate`, `bun run check:migrations`, `bun run db:migrate`, the `grep -rn "contract-pending" ...` check) plus exact SQL patterns (`CREATE INDEX CONCURRENTLY`, `NOT VALID`, batched idempotent backfills) and literal annotation/marker formats. It fully instructs rather than describes.

5 / 5

Workflow Clarity

The workflow is a clear 6-step sequence with explicit validation checkpoints: the lint gate with per-tier error handling, schema-mock regeneration, re-running drizzle-kit generate to detect drift, and local migration verification. Feedback loops (fix, re-run, split the PR) are present for the destructive and batch operations the skill governs, satisfying the destructive-op validation requirement.

5 / 5

Progressive Disclosure

Sections are well-organized and clearly signaled (The window, Expand/contract, playbook, Tracking the contract, Judgment, Workflow, Hard rule) with all referenced paths being real repo files. However, the ~92-line body keeps the full per-operation playbook and annotation catalog inline with no bundle files for splitting, exceeding the under-50-line simple-skill exception.

4 / 5

Total

19

/

20

Passed

Description

92%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.

A strong description in third-person voice that states concrete capabilities and pairs them with an explicit, path-based Use-when clause. The only gap is modest synonym coverage for trigger terms.

Suggestions

Add one or two natural synonyms users might say, e.g. "Use when making a schema change or database migration under packages/db/...", so the description triggers on phrasings beyond the exact file paths.

Consider naming the deploy-safety angle with a more colloquial term (e.g. "zero-downtime deploys") alongside the existing "zero-downtime safety" to widen natural trigger coverage.

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" lists multiple concrete actions covering everything the skill does, with no coverage gaps. It is not a 4 because the enumerated actions comprehensively span the skill's responsibilities.

5 / 5

Completeness

It explicitly answers both questions: the "what" (author/review a migration, expand/contract phasing, backward-compatibility, writing the annotation) and the "when" via a literal "Use when adding/editing files under `packages/db/migrations/` or changing `packages/db/schema.ts`" clause with concrete triggers. The when-clause is fully explicit, so the 4-anchor's "could be more specific" does not apply.

5 / 5

Trigger Term Quality

Strong natural keywords — "Drizzle DB migration", "zero-downtime", "schema", "check:migrations", plus concrete file paths (`packages/db/migrations/`, `packages/db/schema.ts`). It falls short of 5 because common synonyms a user might say — "schema change", "database migration", "deploy safely" — are absent, but coverage is well beyond the 3-anchor's "some relevant keywords".

4 / 5

Distinctiveness Conflict Risk

"Drizzle DB migration", the named `check:migrations` lint, and repo-specific path triggers carve out a clear niche with essentially no overlap risk against other skills. Not a 4, because the triggers (specific file paths and a named lint) leave no meaningful overlap with closely related skills.

5 / 5

Total

19

/

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: 2 missing

Warning

Total

15

/

16

Passed

Repository

simstudioai/sim

Path

.agents/skills/db-migrate/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.