CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

generate-migration

Generate or review Django database migrations for Sentry. Use when creating or reviewing migrations and data migrations, adding/removing columns or tables, adding indexes, or resolving migration conflicts.

Quality

89%

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

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

A strong, operational skill body: executable commands and examples, non-obvious Sentry-specific guidance, and carefully gated destructive-operation workflows with explicit validation. The main improvements are showing imports for the SafeRemoveField/SafeDeleteModel operations example, deduplicating the repeated two-phase PR boilerplate, and considering reference files for the advanced deletion procedures.

Suggestions

Add the import line(s) for SafeRemoveField, SafeDeleteModel, and DeletionAction to the operations example so it is fully copy-paste ready, mirroring the complete TestMigrations example.

Deduplicate the near-verbatim two-phase PR warning shared by 'Deleting Columns' and 'Removing a Model' — state the rule once (e.g. in a short shared note) and have each section reference it.

Consider moving the Deleting Columns / Removing a Model step-by-step procedures into a references/ file (e.g. deletions.md), leaving a one-line pointer in SKILL.md so the advanced detail loads only when needed.

DimensionReasoningScore

Conciseness

The body is dense and operational — it explains only Sentry-specific non-obvious behavior (e.g. "apps.get_model() returns a historical model class without custom save() methods") rather than concepts Claude already knows. Minor trimming is possible: the two-phase PR warning ("Write both up front, but they must be two separate PRs... merging them together drops the column/table while old code is still running") is repeated nearly verbatim in both the Deleting Columns and Removing a Model sections, and the commentary on keeping auto-generated comments ('useful context, not fluff') could be tightened.

4 / 5

Actionability

Guidance is mostly copy-paste ready: exact commands ("sentry django makemigrations <app_name> --empty", "bin/update-migration <migration_name>"), a complete TestMigrations example, and concrete test flags (--migrations, --reuse-db, --create-db). Minor gap: the migration operations example uses SafeRemoveField and DeletionAction without showing their imports, unlike the fully-imported TestMigrations example — so it is at the 4 anchor rather than fully executable at 5.

4 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints: the After Generating list includes sqlmigrate verification and a local migrate run whose safety checks 'catch unsafe ops... before CI does'; the destructive column/table deletions mandate ordered makemigrations runs, two-PR deploy gating ('phase 2 can't merge until phase 1 has deployed'), and a pre-flight inbound-FK check. This matches the 5 anchor (explicit validation, feedback loops, checklists for complex processes), and the destructive-operation cap at 3 does not apply because validation is present.

5 / 5

Progressive Disclosure

No bundle files exist, and the single SKILL.md is well-sectioned with clear headers (Commands, After Generating, Guidelines, Resolving Merge Conflicts) and no buried references. It sits at the 4 anchor ('good structure; most content appropriately placed') rather than 5 because the specialized Deleting Columns / Removing a Model procedures (~60 lines of advanced material) could plausibly live in reference files to keep the always-loaded overview leaner.

4 / 5

Total

17

/

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 tight, well-scoped description: concrete actions, an explicit 'Use when' clause with natural trigger phrases, and a clearly delimited Sentry/Django-migrations niche. Only minor trigger-synonym gaps (e.g. backfills) keep it from full marks.

DimensionReasoningScore

Specificity

The description states concrete actions ("Generate or review Django database migrations for Sentry") and the Use-when clause enumerates comprehensive coverage: "creating or reviewing migrations and data migrations, adding/removing columns or tables, adding indexes, or resolving migration conflicts". This matches the anchor for multiple specific concrete actions with comprehensive coverage, not the 4 anchor's 'minor gaps'.

5 / 5

Completeness

It explicitly answers both: what ("Generate or review Django database migrations for Sentry") and when ("Use when creating or reviewing migrations and data migrations, adding/removing columns or tables, adding indexes, or resolving migration conflicts") with concrete trigger phrases. The 4 anchor requires a 'when' that could be more explicit, which does not apply here.

5 / 5

Trigger Term Quality

Natural terms include "migrations", "data migrations", "columns", "tables", "indexes", "migration conflicts" — phrasing a Sentry developer would actually say. A few natural variations are missing (e.g. "backfill", "schema change"), which matches the 4 anchor rather than the comprehensive-synonym coverage of 5.

4 / 5

Distinctiveness Conflict Risk

"Django database migrations for Sentry" carves out a clear niche with distinct triggers (migration conflicts, is_post_deployment-style operations), so it is unlikely to fire for an unrelated skill. It is well above the 4 anchor's 'minor overlap risk with closely related skills'.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

getsentry/sentry

Path

.agents/skills/generate-migration/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.