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.
79
67%
Does it follow best practices?
Impact
85%
1.32xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/dotnet-contribution/skills/dotnet-backend-patterns/SKILL.mdAsync patterns and service design
Parallel dispatch
100%
100%
ConfigureAwait(false)
100%
100%
ValueTask hot path
0%
0%
No blocking calls
100%
100%
No async void
100%
100%
CancellationToken propagation
100%
100%
Result<T> return type
70%
70%
Typed configuration via IOptions
100%
100%
Record types for models
0%
100%
IServiceCollection extension
100%
100%
EF Core data access patterns
AsNoTracking on reads
50%
100%
DTO/projection select
0%
0%
Include and ThenInclude
100%
100%
AsSplitQuery
0%
0%
Compiled query
100%
100%
ExecuteUpdateAsync bulk
100%
100%
DbContext pooling
100%
100%
Retry on failure
100%
100%
IEntityTypeConfiguration
66%
100%
Column constraints
100%
100%
Indexes defined
0%
100%
Global soft-delete filter
100%
100%
Dapper patterns and caching
CommandDefinition + CT
100%
100%
DynamicParameters
100%
100%
QueryMultiple pagination
100%
100%
IDbConnectionFactory
0%
100%
No SQL injection
100%
100%
Multi-mapping splitOn
0%
100%
Two-tier cache check
0%
0%
Consistent cache keys
100%
100%
Stale-while-revalidate
100%
100%
Mock dependencies + _sut
44%
55%
Theory + InlineData
100%
100%
Integration testing with WebApplicationFactory
WebApplicationFactory fixture
100%
100%
Remove and replace DbContext
90%
100%
Replace distributed cache
100%
100%
Seed via service scope
70%
100%
HttpClient from factory
100%
100%
Response deserialized to DTO
100%
100%
Status code assertion
100%
100%
404 not-found test
100%
100%
WithWebHostBuilder usage
70%
100%
No IHttpClientFactory misuse
100%
100%
Clean architecture, keyed services, factory pattern, Result mapping
Clean Architecture layers
100%
100%
IServiceCollection extension
100%
100%
Keyed service registration
40%
100%
FromKeyedServices injection
100%
0%
Factory delegate registration
20%
100%
IOptions with SectionName const
100%
100%
IHttpClientFactory usage
100%
100%
Record types for DTOs
0%
100%
Result<T> return type
60%
100%
Result Map or MapAsync
0%
30%
Correct DI lifetimes
80%
100%
Advanced Dapper patterns, EF Core transactions, cache invalidation
Table-Valued Parameter
0%
0%
Stored procedure call
0%
100%
Stored procedure output param
0%
100%
Dapper explicit transaction
0%
0%
Custom type handler
0%
100%
Unbuffered streaming query
0%
100%
EFCore.BulkExtensions insert
0%
100%
EF Core explicit transaction
0%
0%
Row versioning for concurrency
50%
100%
Cache invalidation both tiers
100%
100%
Consistent cache key format
100%
100%
Dapper CommandDefinition + CT
0%
100%
70444e5
Table of Contents
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.