Reviews and refactors .NET/C# code: fixes async patterns, validates DI registration, corrects error handling, adds documentation, enforces style conventions. USE FOR: review C# code, audit project, enforce coding standards, apply .NET best practices, clean up code, fix style issues, apply coding standards, tidy up this file, make this idiomatic C#, fix code quality issues, get PR-ready, prepare for code review, add documentation, fix async patterns, check DI registration, check error handling, fix configuration, bring this up to standard, make this code production-ready. DO NOT USE FOR: non-.NET codebases, read-only .NET questions, trivial single-variable edits.
96
100%
Does it follow best practices?
Impact
92%
1.27xAverage score across 6 eval scenarios
Passed
No known issues
Async patterns and error handling
No blocking async calls
100%
100%
ConfigureAwait in infrastructure
0%
100%
CancellationToken last param
100%
100%
CancellationToken propagated
100%
100%
Structured log templates
100%
100%
LoggerMessage source generator
0%
100%
Specific exceptions thrown
100%
100%
IExceptionHandler used
40%
100%
ProblemDetails response
80%
100%
ArgumentException guard methods
0%
100%
IAsyncEnumerable for streaming
100%
100%
Task not void async
100%
100%
DI registration and configuration options
No captive dependencies
100%
100%
Keyed services used
0%
100%
IOptionsMonitor for background service
100%
100%
IOptionsSnapshot for web API
0%
100%
Sealed options classes
0%
100%
required keyword on options
0%
100%
ValidateDataAnnotations and ValidateOnStart
100%
100%
Service interfaces present
33%
83%
Primary constructor DI
0%
100%
ArgumentNullException.ThrowIfNull
0%
100%
IServiceCollection extension methods
0%
0%
Record DTOs
0%
50%
Code quality and target framework compliance
Target framework detection
50%
100%
No .NET 8 APIs on net6 project
100%
100%
Frozen collections on net8 project
100%
100%
File-scoped namespaces
0%
100%
Nullable reference types enabled
0%
100%
Constants extracted to static class
37%
100%
Naming conventions
100%
100%
IReadOnlyList return types
100%
100%
Pattern matching over if/else chains
100%
100%
Unused usings removed
83%
100%
Excluded files not touched
100%
100%
Findings summary table
80%
80%
XML documentation and inheritdoc conventions
Summary on public classes
100%
100%
Summary on public methods
100%
100%
Summary on public properties
100%
100%
Param tags present
100%
100%
Returns tag present
100%
100%
Exception tag present
100%
100%
inheritdoc on implementations
100%
100%
Remarks on complex APIs
100%
100%
Example block on complex API
0%
100%
Namespace unchanged
100%
62%
No summary duplication
100%
100%
Localization with IStringLocalizer and resx resource files
IStringLocalizer used
100%
100%
No ResourceManager direct use
100%
100%
User strings moved to resx
100%
100%
Log templates NOT moved to resx
100%
100%
ErrorMessages.resx created
100%
100%
AddLocalization registered
100%
100%
IStringLocalizer injected via DI
100%
100%
Resources path specified
100%
100%
Resx placed in Resources folder
100%
87%
All user-facing strings externalized
100%
100%
Command/Handler pattern, Factory pattern, record DTOs, IDisposable
Command/Handler separation
66%
66%
Handler class present
0%
20%
Factory pattern for complex creation
91%
100%
Record types for DTOs
100%
100%
IDisposable implemented
100%
100%
IAsyncDisposable implemented
0%
0%
Interface I-prefix naming
100%
100%
No logic in command object
100%
100%
Record immutability
100%
100%
Dispose releases resources
87%
100%
GC.SuppressFinalize called
0%
0%
94e070f
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.