CtrlK
BlogDocsLog inGet started
Tessl Logo

django-migrations

Django migration patterns and safety workflow for PostHog. Use when creating, adjusting, or reviewing Django/Postgres migrations, including non-blocking index/constraint changes, multi-phase schema changes, data backfills, migration conflict rebasing, and product model moves that require SeparateDatabaseAndState. Also use for any deletion or removal of a model, table, column, product, or app — including deleting migration files or retiring a feature — even when no migration is written.

67

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

75%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 high-quality, safety-focused skill body: actionable code and commands, clear sequenced workflow with validation, and well-structured sections with clearly signaled doc references. Main gaps are a missing explicit error-recovery feedback loop in the main workflow and a few trimmable prose passages.

Suggestions

Add an explicit feedback loop to the Workflow section's Validate step: 'If sqlmigrate/tests fail, fix the migration and re-run before proceeding' — the destructive/batch nature makes the validate->fix->retry cycle especially important.

Trim rhetorical padding (e.g. 'Be honest:', 'Genuinely intentional, reviewed deletions') and tighten long hazard explanations to their rule-motivating core to recover tokens.

For patterns currently deferred to safe-django-migrations.md, consider inlining a one-line executable summary of each (e.g. the SeparateDatabaseAndState skeleton) so the skill is actionable without opening the external doc.

DimensionReasoningScore

Conciseness

Dense and assumes competence — it explains genuinely non-obvious Postgres/PostHog internals (lock ordering, deferred constraints, db_default vs default) rather than basics Claude already knows — with only minor sentences of rhetorical padding ('Be honest:', 'Genuinely intentional, reviewed deletions') that could be trimmed.

4 / 5

Actionability

Gives concrete, copy-paste-ready code (callable choices, db_default example, RunSQL) and exact commands (DEBUG=1 ./manage.py makemigrations, sqlmigrate, rg grep) plus named helpers (SafeDropTable, deprecate_field, untrack_field), but defers several patterns to safe-django-migrations.md rather than inlining them.

4 / 5

Workflow Clarity

The Workflow section sequences Classify -> Generate -> Apply safety rules -> Validate with a validation checkpoint, and the retire-table/retire-column sub-workflows include deploy-cycle waits; it avoids the destructive-skill cap because validation is present, but lacks an explicit 'if validation fails, fix and retry' feedback loop in the main workflow.

4 / 5

Progressive Disclosure

Well-organized with clear section headers and one-level-deep references signaled via 'Read these files first' and 'Full guide:' pointers (safe-django-migrations.md, schema-changes.md); no bundle files exist, and some hazard detail that could live in references is inlined, but that is appropriate for load-bearing safety rules.

4 / 5

Total

16

/

20

Passed

Description

88%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, specific description that clearly states both capability and triggers, with comprehensive concrete actions and good natural keywords. Minor room to add file-extension triggers and tighten the broad deletion clause.

DimensionReasoningScore

Specificity

Lists many concrete actions — 'non-blocking index/constraint changes, multi-phase schema changes, data backfills, migration conflict rebasing, and product model moves that require SeparateDatabaseAndState' plus 'deletion or removal of a model, table, column, product, or app' — giving comprehensive coverage rather than 1-2 actions.

5 / 5

Completeness

Explicitly answers both what ('Django migration patterns and safety workflow for PostHog') and when ('Use when creating, adjusting, or reviewing...', 'Also use for any deletion or removal...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Strong natural keywords users would say ('Django/Postgres migrations', 'data backfills', 'migration conflict rebasing', 'delete a model, table, column') with synonyms, but no file extensions (e.g. .py) and a couple of common phrasings absent, landing just below the comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

A clear niche (PostHog Django/Postgres migrations) with distinct triggers and minimal conflict risk, but the broad 'any deletion or removal' clause leaves minor overlap with general Django/deletion skills.

4 / 5

Total

18

/

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

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository
PostHog/posthog
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.