Content
81%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A strong, well-structured body: sequenced steps, executable commands and config, real validation and destructive-operation guardrails, and a verified one-level-deep reference. The main deductions are the incomplete Maven install snippet, a couple of trimmable meta/explanatory passages, and a dangling sister-tools list that gestures at navigation without providing it.
Suggestions
Complete the Maven install path in Step 1: either include the actual `flyway-maven-plugin` `<plugin>` XML or point to a concrete section of references/commands.md, instead of the '# add to pom.xml under <build><plugins>' stub.
Trim meta and redundant text: drop the 'Follow Steps 1 - 7 below in order; each numbered step is the single source' sentence (the step headers already convey this) and fold the 'Safety property' paragraph into the existing `outOfOrder` config comment.
Fix the dangling sister-tool references in the References section: either describe when to switch to `liquibase-migrations` / `atlas-migrations` / `sqlmesh-migrations` with an actionable condition, or drop the list if those skills are not part of this bundle.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense and assumes competence: real commands, a prefix table, an anti-patterns table, and no primers on what databases or migrations are. Minor over-explanation keeps it below a 5: the meta 'Follow Steps 1 - 7 below in order; each numbered step is the single source' sentence and the narrative 'Safety property' paragraph that restates `outOfOrder` semantics already covered in the config comments. | 4 / 5 |
Actionability | Mostly executable: `docker run --rm -e FLYWAY_PASSWORD flyway/flyway ... migrate`, `brew install flyway`, a real `flyway.conf` properties block, and a worked example with actual SQL (`CREATE INDEX idx_users_email ON users(email);`). The gap is the Maven path - the install snippet is a stub comment ('# add to pom.xml under <build><plugins>') with no actual plugin XML, and the Testcontainers pattern is deferred to the reference file. | 4 / 5 |
Workflow Clarity | Steps 1-7 are clearly sequenced, the daily loop 'info -> migrate -> validate' is stated, and validation for destructive operations is explicit: the failed-migration path routes to `flyway repair` instead of editing applied files, the worked example shows `validate` catching a checksum mismatch and recovering with a `V3` migration, and `flyway clean` is guarded by the `cleanDisabled=true` production rule plus an anti-patterns row. This satisfies the destructive-operation feedback-loop requirement rather than triggering the cap at 3. | 5 / 5 |
Progressive Disclosure | One reference file (references/commands.md) is one level deep, referenced inline twice with purpose stated ('Full command reference (baseline, undo, clean, and the rest)' and 'The full GitHub Actions job ... are in references/commands.md') and listed again in the References section; the file exists and delivers the promised command table and CI job. Minor gaps: the 'How to use' section is only a pointer sentence, and the trailing sister-tool list (`liquibase-migrations`, `atlas-migrations`, `sqlmesh-migrations`) names files that are not part of this bundle and give no navigation guidance. | 4 / 5 |
Total | 17 / 20 Passed |