Content
96%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.
The body is a tight, fully executable runbook: every step is a real command with correct flags, sequenced with an explicit pre-apply SQL review, a fix loop for data-loss findings, and a closing checklist. The only minor gap is organization around external material — the pointers to the add-module skill and .agents/rules/database.md are terse, and at 73 lines it sits above the simple-skill size band.
Suggestions
Add a short reference or inline note detailing the add-module steps for new modules (e.g., creating the {X}/ folder and adding the runtime project reference), instead of the one-line "see add-module" pointer.
If the .agents/rules/database.md conventions contain more than a few lines of guidance, pull the migration-relevant subset into a references/ file or a clearly labeled section so the body's external pointers are well-signaled navigation.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Quotes: "dotnet ef migrations add reads the current snapshot, which is regenerated from a build", "the canonical path — migrates the tenant catalog then each tenant's per-module schema". The body is lean: no explanation of what EF Core or migrations are, only project-specific facts Claude could not know (snapshot footgun, DbMigrator applying per-tenant schemas), so every token earns its place — anchor 5. It is not a 4 because there is no over-explanation that could be trimmed; the rationale lines are non-obvious project behavior, not padding. | 5 / 5 |
Actionability | Quotes: "dotnet ef migrations add {MigrationName} --project src/Host/FSH.Starter.Migrations.PostgreSQL --startup-project src/Host/FSH.Starter.Api --context {X}DbContext --output-dir {X}", "dotnet run --project src/Host/FSH.Starter.DbMigrator -- apply", "dotnet tool restore". Every step is a fully executable command with real paths and flags; placeholders are clearly scoped ("match the existing folder for the context") and common cases are covered — anchor 5. It is not a 4 because there are no gaps: build, add, script, apply, and preview (list-pending) are all concrete. | 5 / 5 |
Workflow Clarity | Quotes: "Step 1 — BUILD FIRST (snapshot footgun)", "Check for: unintended table/column drops, non-nullable columns added without a default..., and renames surfacing as drop+add (data loss). Adjust the model or hand-edit the migration if needed", "list-pending # to preview first", plus a closing Checklist. This is a clear 0→4 sequence with an explicit SQL-review validation checkpoint, a fix-and-retry loop ("adjust the model or hand-edit if needed"), and a checklist for a database operation — anchor 5. It is not a 4 because validation is explicit and error-recovery guidance is present, not merely implied; the destructive-operation cap does not apply since validation before applying is a first-class step. | 5 / 5 |
Progressive Disclosure | Quotes: "All migrations live in one project... but are foldered per module/context", "see add-module", "see .agents/rules/database.md" (description). Sections (Steps, Notes, Checklist) are well organized and the body is self-contained with one-level-deep external pointers, matching anchor 4 (good structure, references mostly clear, minor organization gaps). It is not a 5 because at ~73 lines it exceeds the under-50-line simple-skill exception, and the pointers to add-module/.agents rules are terse rather than clearly signaled navigation; it is not a 3 because no content that belongs in a separate file is inlined and nothing is buried. | 4 / 5 |
Total | 19 / 20 Passed |