CtrlK
BlogDocsLog inGet started
Tessl Logo

create-migration

Create and apply an EF Core migration for a module's DbContext the FSH way (central Migrations project, per-module folder, correct --context). Use after changing entities/EF config. See .agents/rules/database.md.

73

Quality

92%

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

SKILL.md
Quality
Evals
Security

Quality

Content

96%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 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.

DimensionReasoningScore

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

Description

87%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 description: it explicitly states both what it does and when to use it, with concrete project-specific details (central Migrations project, per-module folder, correct --context) that make it highly distinct. Keyword coverage is good but omits a few natural variations like "database update" or "schema change".

DimensionReasoningScore

Specificity

Quotes: "Create and apply an EF Core migration for a module's DbContext", "central Migrations project, per-module folder, correct --context". It names the domain and concrete actions with specifics of how they must be done, but only covers two actions (create, apply) rather than a comprehensive list of capabilities, matching anchor 4. It is not a 3 ("1-2 concrete actions, but not comprehensive") because the parenthetical adds several concrete specifics (central project, per-module folder, correct --context); not a 5 because coverage is limited to the create/apply pair.

4 / 5

Completeness

Quotes: what — "Create and apply an EF Core migration for a module's DbContext the FSH way"; when — "Use after changing entities/EF config.". Both what and when are explicitly stated, and the when clause uses a concrete trigger phrase, matching anchor 5. It is not a 4 because the 'when' is already explicit and specific (post-entity/config change), not merely present-but-vague.

5 / 5

Trigger Term Quality

Quotes: "EF Core migration", "DbContext", "entities/EF config". These are natural phrases a developer would say when needing this skill ("add an EF Core migration", "after changing entities"), giving good keyword coverage. A few natural variations are missing ("database update", "schema change", "migrations script"), so it fits anchor 4 rather than anchor 5's comprehensive synonym/extension coverage; it clearly exceeds anchor 3 ("some relevant keywords but missing common variations").

4 / 5

Distinctiveness Conflict Risk

Quotes: "for a module's DbContext the FSH way (central Migrations project, per-module folder, correct --context)". This carves out a clear niche — EF Core migrations in this specific FSH project layout — with triggers unlikely to fire for unrelated skills, matching anchor 5 (clear niche, distinct triggers, minimal conflict risk). It is not a 4 because the parenthetical constraints leave essentially no overlap risk with generic migration or database skills.

5 / 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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
fullstackhero/dotnet-starter-kit
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.