CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flyway-migrations

Use whenever a schema is managed with Flyway: versioned, repeatable and undo migration files, migrate, info, validate, baseline and repair, the schema history table, migration ordering questions, and CI gates on schema changes, via CLI, Maven, Gradle or Docker.

Quality

91%

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

The canonical home for this skill is testland/flyway-migrations

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 a well-structured, Flyway-specific workflow with real commands, strong safety emphasis (cleanDisabled guard, checksum validation, repair path), and a properly split one-level reference file. It falls just short of top marks on conciseness and actionability due to a non-executable Maven stub, a vague Step 7, and a few general-knowledge asides.

Suggestions

Replace the Maven comment stub in Step 1 ('# add to pom.xml under <build><plugins>') with the actual flyway-maven-plugin XML snippet, or move the full snippet into references/commands.md so every install path is executable.

Make Step 7 concrete by turning the classification ('additive / breaking / data-loss / locking') into an explicit per-migration checklist (e.g., 'does it lock a prod-sized table? does it drop a column with data?'), possibly with an EXPLAIN-based check to run before merge.

Trim the general-knowledge asides — the docker `-e` env-forwarding explanation and the 'never put the password on the command line' warning — down to the one non-obvious fact (FLYWAY_PASSWORD is the env var CI should set from its secret store).

DimensionReasoningScore

Conciseness

The body is mostly lean, Flyway-specific operational knowledge (prefix table, config keys, anti-patterns table, worked example), but a few general-knowledge asides could be trimmed: 'a bare `-e FLYWAY_PASSWORD` forwards the host's value into the container' (Docker basics), 'Never put the password on the command line or in a committed file', and the meta sentence 'Follow Steps 1 - 7 below in order; each numbered step is the single source for that part of the workflow'. This fits 'efficient; minor instances of over-explanation that could be trimmed' rather than the level-5 anchor, since not every token earns its place.

4 / 5

Actionability

Concrete executable material dominates: 'docker run --rm -e FLYWAY_PASSWORD flyway/flyway -url=... migrate', the copy-paste flyway.conf properties block, the 'info -> migrate -> validate' daily loop, and a worked example with exact filenames and SQL ('CREATE INDEX idx_users_email ON users(email);'). Two gaps keep it below 'fully executable; copy-paste ready': the Maven install path is a comment stub ('# add to pom.xml under <build><plugins>') and Step 7 ('apply adversarial review of new migrations - classify each as additive / breaking / data-loss / locking') gives direction with no method. It clearly exceeds level 3's 'pseudocode instead of executable code; missing key details'.

4 / 5

Workflow Clarity

Seven clearly ordered steps (Install -> First migration -> Core commands -> Pending semantics -> Configuration -> CI -> Composition) with validation present: the 'info -> migrate -> validate' daily loop, 'After a failed migration, `flyway repair` fixes flyway_schema_history', and the worked example's recovery loop ('flyway validate fails with a checksum mismatch, so they add V3__... instead of mutating V2'). Feedback loops exist for these database operations, so the destructive/batch cap at 3 does not apply. It stays at 4 rather than 5 because per-step verification checkpoints are implicit and Steps 6-7 defer their verification detail to the reference file instead of stating explicit checkpoints inline.

4 / 5

Progressive Disclosure

A single one-level-deep, well-signaled reference verified to exist in the bundle: Step 3 ('Full command reference (baseline, undo, clean, and the rest): references/commands.md') and Step 6 ('The full GitHub Actions job and the Testcontainers @BeforeAll pattern are in references/commands.md') each name exactly what the file contains, commands.md is referenced from the body and References section with nothing nested deeper, and the body keeps only overview-level content inline. This matches 'clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation'.

5 / 5

Total

17

/

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 explicitly states both what the skill covers and when to use it, densely packed with tool-specific concrete terms and no padding. It occupies a clear niche with minimal conflict risk.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities spanning file types ('versioned, repeatable and undo migration files'), commands ('migrate, info, validate, baseline and repair'), artifacts ('the schema history table'), concerns ('migration ordering questions, and CI gates on schema changes'), and delivery channels ('via CLI, Maven, Gradle or Docker'). This matches the 'multiple specific concrete actions; comprehensive coverage' anchor and clearly exceeds the level-4 anchor ('several specific actions; minor gaps'), with no generic filler present.

5 / 5

Completeness

It explicitly answers 'what' (file types, commands, history table, ordering, CI gates) and 'when' via the explicit trigger clause 'Use whenever a schema is managed with Flyway'. This matches the top anchor ('clearly and explicitly answers both what AND when with concrete trigger phrases'); it is not level 4, where the 'when' clause is present but less specific.

5 / 5

Trigger Term Quality

Natural terms a user would actually say are comprehensively covered: 'Flyway', 'migration files', the command verbs 'migrate, info, validate', 'schema history table', 'CI gates', and 'CLI, Maven, Gradle or Docker'. Both the tool name and its command vocabulary appear (synonym-level coverage), matching the comprehensive anchor rather than level 4's 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

'whenever a schema is managed with Flyway' carves a clear niche anchored on a distinct tool-name trigger, so conflict risk with generic SQL or sister-tool skills (Liquibase, Atlas) is minimal. This fits 'clear niche with distinct triggers; minimal conflict risk' rather than level 4's 'minor overlap risk with closely related skills'.

5 / 5

Total

20

/

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

testland/qa

Path

plugins/qa-db-migrations/skills/flyway-migrations/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.