CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dotnet-core-expert

Use when building .NET 8 applications with minimal APIs, clean architecture, or cloud-native microservices. Invoke for Entity Framework Core, CQRS with MediatR, JWT authentication, AOT compilation.

64

Quality

80%

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/dotnet-core-expert/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

92%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 strong example of skill content: executable C# 12 examples with file-path annotations, build/test feedback loops embedded in the workflow, checklists as constraints, and a clean one-level-deep reference structure with explicit load conditions. The only weakness is minor token redundancy between code examples and a non-instructional footer.

DimensionReasoningScore

Conciseness

The body is dense and instructional with no concept-explanation padding, but a few tokens could be trimmed: the "EF Core DbContext with Async Query" example duplicates the projection pattern already shown in the MediatR handler (AsNoTracking/Select/ToListAsync), "Use .NET 8 and C# 12 features" restates the skill's title, and the maintainer footer is non-instructional. This fits anchor 4 (efficient, minor trimmable instances) rather than 5 (every token earns its place).

4 / 5

Actionability

Fully executable guidance throughout: concrete commands ("run `dotnet build` to verify compilation", "run `dotnet test`", "verify endpoints with `curl`"), precise settings ("`<Nullable>enable</Nullable>` in the `.csproj`", "`WebApplicationFactory<Program>`"), and four complete, syntactically valid C# 12 code blocks annotated with file paths that are mutually consistent (UserDto defined, handler wired to the endpoint). This matches anchor 5 (copy-paste ready, covers the common cases).

5 / 5

Workflow Clarity

The five-step Core Workflow has explicit validation checkpoints with feedback loops for error recovery — "if build fails, review errors, fix issues, and rebuild before proceeding" and "if tests fail, diagnose failures, fix the implementation, and re-run before continuing" — reinforced by MUST DO / MUST NOT checklists. This matches anchor 5 (explicit validation steps, error-recovery loops, checklists); the destructive/batch cap does not apply since validation is present.

5 / 5

Progressive Disclosure

A clear overview with a well-signaled reference table giving each file's topic and a "Load When" condition (e.g., "Minimal APIs | references/minimal-apis.md | Creating endpoints, routing, middleware"). All five referenced files exist in references/, none chain to further reference files (verified one level deep), and ~2,300 lines of detail are appropriately kept out of SKILL.md. Matches anchor 5.

5 / 5

Total

19

/

20

Passed

Description

57%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 highly specific with strong, natural trigger terms for the .NET 8 ecosystem, but it is a trigger-only description: it never states what the skill actually does, which leaves the 'what' half of completeness unanswered. Adding a leading capability sentence and a few synonym triggers (C#, ASP.NET Core, EF Core) would round it out.

Suggestions

Add a leading capability statement before the trigger clauses, e.g., "Implements .NET 8 services with minimal APIs, clean architecture, and EF Core data access. Use when building..." — this answers the 'what' that is currently missing and would raise the completeness score.

Include common synonym trigger terms users naturally say: "C#", "C# 12", "ASP.NET Core", ".NET Core", and the "EF Core" abbreviation alongside "Entity Framework Core".

Consider narrowing or context-anchoring the broad pattern terms ("clean architecture", "cloud-native microservices", "JWT authentication") to .NET specifically (e.g., "clean architecture in .NET solutions") to reduce overlap with general architecture and security skills.

DimensionReasoningScore

Specificity

The description enumerates concrete, specific technologies ("minimal APIs, clean architecture, or cloud-native microservices. Invoke for Entity Framework Core, CQRS with MediatR, JWT authentication, AOT compilation") with broad domain coverage, but these are technology nouns rather than capability verbs — it never states what the skill does, only what topics it covers. This matches anchor 4 (several specific items, minor gaps) rather than 5 (comprehensive concrete actions).

4 / 5

Completeness

"When" is explicit and detailed ("Use when building .NET 8 applications... Invoke for Entity Framework Core, CQRS with MediatR..."), but the "what" is entirely absent — no capability statement of what the skill does (e.g., "Implements high-performance services with..."). This directly matches anchor 2 ("only 'when' is present without 'what'"), and does not fit anchor 3, which requires a clear 'what' with a weak 'when' — the inverse profile.

2 / 5

Trigger Term Quality

Includes many natural terms a .NET developer would actually say — ".NET 8", "minimal APIs", "Entity Framework Core", "CQRS", "MediatR", "JWT authentication" — giving good keyword coverage. It falls short of anchor 5 because common variations and synonyms are missing ("C#", "C# 12", "ASP.NET Core", ".NET Core", the "EF Core" abbreviation).

4 / 5

Distinctiveness Conflict Risk

The technology-specific triggers (.NET 8, Entity Framework Core, MediatR, minimal API) anchor a clear niche, but broader pattern terms — "clean architecture", "cloud-native microservices", "JWT authentication" — carry minor overlap risk with closely related architecture, microservices, and security skills. This fits anchor 4 (mostly distinct, minor overlap risk) rather than 5 (minimal conflict risk).

4 / 5

Total

14

/

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

Jeffallan/claude-skills

Path

skills/dotnet-core-expert/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.