CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

efcore-patterns

Entity Framework Core best practices including NoTracking by default, query splitting for navigation collections, migration management, dedicated migration services, and common pitfalls to avoid.

Quality

71%

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/efcore-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

This is a strong, highly actionable reference with excellent copy-paste code for every pattern, but it is a monolithic 630-line document rather than an overview with references, repeats the NoTracking-update example multiple times, teaches pitfalls Claude already knows, and omits validation checkpoints for database/migration operations.

Suggestions

Add explicit verification steps to the migration workflows (e.g., check `GetAppliedMigrationsAsync` or `GetPendingMigrationsAsync` after `database update`, and verify rollback state) with a fix-and-retry loop.

Move the full MigrationService/MigrationWorker code, Aspire AppHost configuration, and testing sections into reference files (e.g., references/migration-service.md, references/testing.md), keeping SKILL.md a concise overview with one-level-deep links.

Trim the third repetition of the NoTracking update example and drop or compress Pitfalls 4 and 5 (async consistency, querying in loops), which restate knowledge Claude already has.

DimensionReasoningScore

Conciseness

Mostly efficient pattern-then-code structure, but there is real tightening opportunity: the wrong/right 'update with NoTracking' example is repeated three times (Pattern 1, the Explicit Add/Update section, and Pitfall 1), and Pitfalls 4 (async) and 5 (querying inside loops) plus the N+1 explanation cover basic knowledge Claude already has. This matches anchor 3 — some unnecessary explanation and redundancy that could be trimmed.

3 / 5

Actionability

The guidance is fully executable and copy-paste ready: complete DbContext configuration, working `dotnet ef migrations` CLI invocations with project flags, a full MigrationWorker with ExecutionStrategy, Aspire AppHost wiring, and ExecuteUpdateAsync/ExecuteDeleteAsync examples covering the common cases. This matches the anchor 5 example set.

5 / 5

Workflow Clarity

The Aspire migration flow is well sequenced (MigrationService → WaitForCompletion → API) and each pattern is internally ordered, but the database workflows lack verification checkpoints: no step to confirm applied migrations or validate state after `dotnet ef database update`, no rollback verification, and no validate→fix→retry loop. Per the rubric, missing validation in database operations caps workflow clarity at 3.

3 / 5

Progressive Disclosure

Sections are clearly headed and well organized, but this is a ~630-line monolithic SKILL.md with no bundle files at all — content that naturally belongs in references (the full MigrationService/MigrationWorker implementation, the testing section, the Aspire configuration) is inlined. This matches anchor 3: good structure with content that should be separate kept inline.

3 / 5

Total

14

/

20

Passed

Description

66%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 is specific and distinctive, clearly scoping the skill to EF Core with named patterns (NoTracking, query splitting, migration services). Its main weakness is the complete absence of a 'when to use' clause, which both caps completeness and weakens its value as a trigger surface.

Suggestions

Append an explicit trigger clause such as: 'Use when setting up or optimizing EF Core / .NET data access, managing migrations, or debugging change tracking or query performance issues.'

Include common synonyms users actually type ('EF Core', 'EF', 'DbContext', 'dotnet ef') to broaden natural trigger coverage.

Replace the vague tail 'common pitfalls to avoid' with the concrete pitfalls covered (e.g., 'silent SaveChanges failures with NoTracking, cartesian explosion from multiple Includes').

DimensionReasoningScore

Specificity

The description names the domain and several concrete items: 'NoTracking by default, query splitting for navigation collections, migration management, dedicated migration services, and common pitfalls to avoid'. It lists multiple specific patterns rather than generic actions, but 'migration management' and 'common pitfalls' are less concrete than the rest, leaving minor gaps in coverage — matching anchor 4 rather than the fully comprehensive anchor 5.

4 / 5

Completeness

The 'what' is clear (EF Core best practices with named patterns), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3 — a clear 'what' with 'when' absent.

3 / 5

Trigger Term Quality

Good natural keywords users would say: 'Entity Framework Core', 'NoTracking', 'query splitting', 'migration management', 'migration services'. However, common synonyms like 'EF Core', 'EF', '.NET', 'DbContext', or 'dotnet ef' are missing, so coverage is good but not comprehensive — anchor 4, not anchor 5.

4 / 5

Distinctiveness Conflict Risk

'Entity Framework Core' is a clearly named niche with minimal conflict risk against unrelated skills. Minor overlap remains with closely related skills (general .NET, database, or migration-tool skills), since terms like 'migration management' are not EF-Core-exclusive — anchor 4 rather than the fully distinct anchor 5.

4 / 5

Total

15

/

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

skill_md_line_count

SKILL.md is long (630 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

Aaronontheweb/dotnet-skills

Path

skills/efcore-patterns/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.