CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

database-migrator

Use this skill when the user wants to run database migrations, manage schema changes, use alembic, upgrade or downgrade a database schema, or track schema versions.

Quality

77%

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 ./skills/database-migrator/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 code-dense, highly actionable reference that respects token budget and stays free of concept padding. Its weakest point is workflow clarity: destructive database operations get principles ("always backup, always support rollback") but no explicit validated sequence, and one programmatic snippet mishandles downgrade offsets.

Suggestions

Add an explicit ordered workflow with validation checkpoints for migrations: backup → verify the backup exists/is non-empty → migrate → confirm the new revision with `alembic current` / `get_migration_status()` → roll back via `downgrade` if verification fails.

Trim the Quick Reference table to rows not already shown verbatim above (e.g., keep history/current/pg_dump rows, drop the duplicated autogenerate/upgrade/downgrade rows), and de-duplicate the timestamp/backup logic between `backup_postgres` and `backup_sqlite`.

Fix the programmatic `migrate()` so negative relative offsets route to `command.downgrade` instead of `command.upgrade`, and replace the "Edit migrations/env.py..." comment with the two or three concrete lines actually needed in env.py.

DimensionReasoningScore

Conciseness

The body is dominated by executable code with almost no concept explanation — the Overview is two sentences and comments are sparse — matching the "efficient with minor trimming" anchor. Not 5 because the Quick Reference table repeats commands already shown verbatim (e.g., `alembic revision --autogenerate`, `alembic upgrade head`, `alembic downgrade -1`), and the backup functions duplicate the timestamp logic and imports, so not every token earns its place; not 3 because there is no unnecessary explanation of concepts Claude already knows.

4 / 5

Actionability

Guidance is mostly executable: copy-paste-ready Alembic commands, working functions for status checks, version-tracked raw SQL, transactional psycopg2 migration, and backups. Not 5 because of minor gaps: the programmatic `migrate()` routes negative offsets like "-1" to `command.upgrade`, which is invalid in Alembic (relative downgrade belongs to `command.downgrade`), and the "Edit migrations/env.py to set your DATABASE_URL and metadata" setup step is hand-waved rather than shown.

4 / 5

Workflow Clarity

Sections imply a rough order (setup → generate → apply → check; ensure table → apply → track) and some checks exist (`get_migration_status`, transactional rollback in `pg_migrate`), but there is no explicit sequenced workflow with validation checkpoints for these destructive/batch database operations. The rubric caps workflow clarity at 3 when destructive or batch operations lack validation steps — no checkpoint verifies the backup succeeded or confirms the post-migration revision, and the Overview's "Always backup before migrating" principle is never wired into an ordered procedure. Not 2 because the per-tool procedures are individually coherent and error-handling/rollback code is present.

3 / 5

Progressive Disclosure

No bundle files exist and the ~155-line body is organized into well-labeled sections (Alembic, raw SQL, PostgreSQL, backup, quick reference) with a navigable summary table — good structure with content appropriately inline for this size. Not 5 because the skill exceeds the under-50-line simple-skill case and the programmatic Alembic/raw-SQL code blocks could plausibly live in reference files; not 3 because organization is clear, not in need of restructuring.

4 / 5

Total

15

/

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.

A solid description with an explicit, multi-trigger "Use when" clause and concrete, natural language throughout. Its main limitation is that everything is framed as trigger conditions with no standalone statement of what the skill does, and it omits the backup and raw-SQL capabilities the skill actually provides.

DimensionReasoningScore

Specificity

Quotes several concrete actions — "run database migrations", "manage schema changes", "use alembic", "upgrade or downgrade a database schema", "track schema versions" — which matches the anchor for several specific actions with minor gaps. Not 5 because coverage is not comprehensive: the skill's backup and raw-SQL/non-Alembic capabilities are not mentioned; not 3 because far more than 1-2 actions are named and each is concrete rather than generic.

4 / 5

Completeness

The "when" is explicit and well-developed ("Use this skill when the user wants to run database migrations, ... or track schema versions"), and a "what" is conveyed through the concrete trigger verbs. Not 5 because there is no distinct statement of what the skill actually does (e.g., that it provides Alembic workflows, raw-SQL version tracking, and pre-migration backups) — the what exists only embedded inside the when-clause; not 3 because the when is explicit and the what is more than weakly implied.

4 / 5

Trigger Term Quality

Natural phrases users would say are present: "database migrations", "schema changes", "alembic", "upgrade or downgrade a database schema", "track schema versions". Not 5 because common synonyms and variations are missing (e.g., "migrate the database", "rollback", "migration files", specific databases like PostgreSQL/MySQL); not 3 because keyword coverage goes well beyond the some-relevant-keywords anchor.

4 / 5

Distinctiveness Conflict Risk

The migration niche is well targeted with distinctive triggers like "alembic" and "upgrade or downgrade a database schema", giving minimal conflict risk with unrelated skills. Not 5 because "manage schema changes" is broad enough to overlap with general database-administration or SQL skills; not 3 because the domain is clearly bounded rather than merely "somewhat specific".

4 / 5

Total

16

/

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

ProwlrBot/prowlr-marketplace

Path

skills/database-migrator/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.