CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dotnet-backend-patterns

Master C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.

Quality

73%

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

Quality

Content

46%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 well-organized and token-efficient with sensible use/don't-use boundaries, but it fails at its main job as an overview hub: the only reference points to a nonexistent resources/implementation-playbook.md while all four actual bundle files go unmentioned, and the Instructions themselves are too abstract to act on without those missing details. Fixing the reference paths and listing the real bundle files would resolve the biggest weaknesses.

Suggestions

Replace the broken `resources/implementation-playbook.md` reference with the actual bundle paths and enumerate all four files in the Resources section (e.g., "references/ef-core-best-practices.md" for EF Core guidance, "references/dapper-patterns.md" for Dapper guidance, "assets/repository-template.cs" and "assets/service-template.cs" as starting templates) so each is discoverable from SKILL.md.

Make the Instructions concrete by mapping each bullet to the material that implements it, e.g., "For data access, start from assets/repository-template.cs and pick EF Core vs Dapper using the comparison table in references/dapper-patterns.md" instead of the abstract "Validate data access performance and caching."

Give the Instructions an explicit sequence with checkpoints, e.g., order the bullets as a lifecycle (architecture → DI/async → data access → tests) and state when to verify, such as "validate query performance before introducing caching".

DimensionReasoningScore

Conciseness

The body is lean (~33 lines), assumes Claude's competence, and explains nothing the model already knows; every section carries information. Not anchor 5 because of minor redundancy: the playbook path is stated twice (Instructions bullet and Resources section) and the "Use this skill when" list partially restates the frontmatter description's scope.

4 / 5

Actionability

The Instructions are abstract imperatives — "Define architecture boundaries, modules, and layering", "Apply DI, async patterns, and resilience strategies", "Validate data access performance and caching" — with no concrete steps, commands, patterns, or file-level pointers, matching anchor 2's "high-level hints but missing the specific steps to execute". Not anchor 3 because the body contains no concrete executable guidance at all; all specifics are deferred to a reference file, and not anchor 1 because the bullets do direct Claude's actions rather than merely describing.

2 / 5

Workflow Clarity

The Instructions bullets form an implicit lifecycle sequence (architecture boundaries → DI/async/resilience → data access and caching validation → tests/observability) with a conditional escalation ("If detailed patterns are required, open..."), fitting anchor 3's "steps listed but validation gaps; checkpoints missing or implicit". Not anchor 4 because no explicit ordering or verification checkpoints are stated, and not anchor 2 because the steps themselves are clearly enumerated and "Validate data access performance" gestures at a checkpoint.

3 / 5

Progressive Disclosure

Scored against the actual bundle: the body's sole reference, "resources/implementation-playbook.md", does not exist (no resources/ directory or playbook file is present), while the four real bundle files (references/dapper-patterns.md, references/ef-core-best-practices.md, assets/repository-template.cs, assets/service-template.cs) are never mentioned, leaving them undiscoverable — the "references are buried" failure of anchor 2. Not anchor 1 because the body itself is well-sectioned and short rather than a monolithic wall of text, and not anchor 3 because the one reference that is signaled is broken and the entire real bundle is orphaned, so navigation to any detailed content fails.

2 / 5

Total

11

/

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 states concrete coverage areas, uses third person, and closes with an explicit multi-trigger "Use when" clause, closely matching the rubric's good overall examples. The only improvement space is adding a few natural synonyms (ASP.NET Core, Web API) for broader trigger coverage.

DimensionReasoningScore

Specificity

"building robust APIs, MCP servers, and enterprise applications" and "Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit" enumerate several concrete technology areas with only minor gaps (e.g., resilience/error handling from the body is absent). It sits above anchor 3 because coverage is broad and named, but below anchor 5 because "Master... patterns" is topic enumeration rather than discrete concrete actions.

4 / 5

Completeness

The "what" is explicit ("Master C#/.NET backend development patterns... Covers async/await, dependency injection, Entity Framework Core, Dapper...") and the "when" is an explicit trigger clause ("Use when developing .NET backends, reviewing C# code, or designing API architectures"), matching the anchor-5 pattern of concrete actions followed by concrete triggers. Not anchor 4, since the "when" clause is already fully explicit and specific.

5 / 5

Trigger Term Quality

Natural user phrases like ".NET backends", "reviewing C# code", "designing API architectures", "Entity Framework Core", "Dapper", and "xUnit" are present and would be said verbatim by users. Not anchor 5 because common synonyms and variations ("ASP.NET Core", "Web API", ".NET Core", "ORM") are missing.

4 / 5

Distinctiveness Conflict Risk

"C#/.NET backend development patterns" carves out a clear niche with distinct triggers (.NET backend, C# code review, API architecture) that would not naturally fire for frontend, non-.NET, or general-purpose skills. Overlap risk with adjacent skills (e.g., a dedicated testing skill) is minimal because every trigger is scoped to .NET backend work.

5 / 5

Total

18

/

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

rmyndharis/antigravity-skills

Path

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