CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

model-building

Implementation details for EF Core model building. Use when changing ConventionSet, ModelBuilder, IConvention implementations, ModelRuntimeInitializer, RuntimeModel, or related classes.

65

Quality

82%

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

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

An excellent, dense repository-reference skill: it assumes EF Core competence, packs every line with repo-specific paths, classes, and procedures, and closes with concrete validation and testing guidance. The only structural improvement would be splitting some domain sections into reference files and adding explicit error-recovery loops to the step-by-step procedures.

DimensionReasoningScore

Conciseness

Quotes: 'DbSetFindingConvention — discovers entities from DbSet<T>', 'IReadOnly* → IMutable* → IConvention* → IRuntime*', 'Filter in RuntimeModelConvention.ProcessModelAnnotations if it's a design-time-only annotation'. Every section is dense, repo-specific fact (file paths, class/method names, test locations) with no padding and no explanation of concepts Claude already knows — lean and efficient, matching anchor 5 rather than anchor 4's 'minor instances of over-explanation'.

5 / 5

Actionability

Quotes: the 5-step 'Adding A Configurable Metadata Facet' procedure with exact artifacts ('CSharpRuntimeModelCodeGenerator', 'CSharpSnapshotGenerator'), concrete APIs ('GetFlattenedProperties()', 'AddInverseNavigation'), exact test paths ('test/EFCore.Design.Tests/Migrations/ModelSnapshotSqlServerTest.cs'), and the command 'EF_TEST_REWRITE_BASELINES=1'. Guidance is mostly executable and specific for an instruction-only skill, but minor gaps remain (e.g. 'Update public API baselines' states the step without the how), keeping it just below anchor 5's copy-paste-ready, common-cases-covered bar.

4 / 5

Workflow Clarity

Quotes: the ordered facet and annotation procedures ending in 'Update public API baselines and cover configuration-source precedence, convention dispatch, runtime/compiled model propagation, and snapshot round trips', plus a dedicated Validation checklist ('Model builds without InvalidOperationException during finalization', 'No spurious migration is generated against a project with an existing snapshot'). Sequences are clear with validation checkpoints embedded, matching anchor 4, but there is no explicit error-recovery feedback loop (validate → fix → retry), which anchor 5 requires.

4 / 5

Progressive Disclosure

Quotes: eleven clearly headed sections including a Testing table ('| Convention unit tests | test/EFCore.Tests/Metadata/Conventions/ |') and a Validation checklist. Structure is good and navigable with no bundle files to reference, matching anchor 4's 'good structure; most content is appropriately placed'; it does not reach anchor 5 because all detail lives inline in a 107-line SKILL.md with no one-level-deep references, and sections like 'Relational Model' or 'Migration Snapshot Compatibility' are candidates for split-out reference files.

4 / 5

Total

17

/

20

Passed

Description

73%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, well-targeted description: it names a precise domain, uses an explicit 'Use when changing...' clause with concrete class-name triggers, and stays in third-person voice without fluff. Its main weakness is that the 'what' half ('implementation details') describes no concrete capabilities, relying entirely on the trigger list to convey scope.

Suggestions

Replace the generic 'Implementation details for EF Core model building' what-clause with concrete actions, e.g. 'Guides adding metadata facets and annotations, writing and overriding conventions, and propagating changes to compiled/runtime models in EF Core.'

Add natural trigger phrases users would say beyond class names, such as 'conventions', 'fluent API', 'metadata', and 'compiled model', to broaden keyword coverage.

Drop or tighten 'or related classes' — the named triggers are already distinctive enough, and the vague tail slightly weakens both specificity and trigger quality.

DimensionReasoningScore

Specificity

Quotes: 'Implementation details for EF Core model building' plus concrete class names ('ConventionSet, ModelBuilder, IConvention implementations, ModelRuntimeInitializer, RuntimeModel'). The domain is named precisely with concrete technical targets, but the capability is described with no action verbs ('implementation details' is generic), matching anchor 3's 'names domain and 1-2 concrete actions but not comprehensive' rather than anchor 4's list of several specific actions; it is well above anchor 2 ('Processes PDF files') because the class list delimits scope concretely.

3 / 5

Completeness

Quotes: 'Implementation details for EF Core model building' (what) and 'Use when changing ConventionSet, ... or related classes' (when). Both are present and the 'when' clause is explicit with concrete triggers, but the 'what' is stated abstractly ('implementation details') rather than as concrete actions, so it does not clearly match anchor 5's fully explicit what-and-what-for example; it is well above anchor 3 because the 'when' is explicit, not weakly implied.

4 / 5

Trigger Term Quality

Quotes: 'Use when changing ConventionSet, ModelBuilder, IConvention implementations, ModelRuntimeInitializer, RuntimeModel'. These are the exact class names an EF Core developer would naturally mention, giving good keyword coverage, but common variations like 'conventions', 'fluent API', 'metadata', or 'compiled model' are missing, so it falls short of anchor 5's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

Quotes: 'EF Core model building' with triggers 'ConventionSet', 'IConvention implementations', 'ModelRuntimeInitializer', 'RuntimeModel'. This is a clear niche with unambiguous, distinctive class-name triggers and minimal conflict risk; the trailing 'or related classes' adds slight breadth but does not realistically cause the wrong skill to trigger.

5 / 5

Total

16

/

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

dotnet/efcore

Path

.agents/skills/model-building/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.