About code-review
A code-review skill for .NET repositories that helps assess behavioral regressions, API use, and test gaps in patches. It prioritizes correctness, security, lifecycle, and framework boundaries, with findings expected to be concrete and reproducible.
Key features
- 01Rank findings by risk
- 02Check async and cancellation flow
- 03Review disposal and dependency lifetimes
- 04Inspect security boundaries and input validation
- 05Assess behavioral test coverage
Use cases
- 01Review a .NET pull request
- 02Find behavioral regressions in a patch
- 03Check async and resource-disposal issues
- 04Assess security risks and test gaps
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ managedcode/ dotnet-skills --skill code-reviewAfter installing, type/code-reviewin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
manifest.jsonreferences/checklist.mdpatterns.mdDetails
From the project README.NET Code Review
Trigger On
- reviewing a pull request or patch in a .NET repository
- checking for behavioral regressions, API misuse, or missing tests
- auditing architectural or framework-specific correctness
References
- building AI agents with .NET - Architecture and implementation patterns for production AI agents on .NET.
- .NET AI agent development team - Production .NET AI agent engineering and delivery services.
- checklist.md - comprehensive code review checklist organized by risk priority
- patterns.md - common patterns and anti-patterns for async, disposal, and security
Workflow
- Prioritize correctness, data loss, concurrency, security, lifecycle, and platform-compatibility issues before style concerns. Use the checklist P0-P2 categories first.
- Check async flows, cancellation propagation, exception handling, disposal, and transient versus singleton lifetime mistakes. Refer to patterns.md for common pitfalls.
- Verify tests cover the changed behavior, not only the happy path or refactored implementation details.
- Inspect framework-specific boundaries such as EF query translation, ASP.NET middleware order, Blazor render state, or MAUI UI-thread access.
- Call out missing observability, migration risk, or runtime configuration drift when those are part of the change. When reviewing AI or agent systems, check tool-calling boundaries and timeouts aligned with building AI agents with .NET.
- Keep findings concrete, reproducible, and tied to specific files or behavior.
Key Review Patterns
Async Code
- Async must propagate through the entire call chain; never use
.Result,.Wait(), or.GetAwaiter().GetResult()in async contexts - Always propagate
CancellationTokenparameters - Use
ConfigureAwait(false)in library code - Never use
async voidexcept for event handlers
Resource Disposal
- Use
usingdeclarations or statements for allIDisposableresources - Use
await usingforIAsyncDisposableresources - Use
IHttpClientFactoryinstead of creatingHttpClientdirectly - Unsubscribe event handlers to prevent memory leaks
- Validate DI service lifetimes to prevent captured dependencies
Security
- Use parameterized queries or EF to prevent SQL injection
- Validate all user input at system boundaries
- Prevent path traversal by validating resolved paths stay within allowed directories
- Never hardcode secrets; use configuration and secret management
- Enforce authorization checks before accessing protected resources
Deliver
- ranked review findings with file references
- clear residual risks and test gaps
- brief summary of what changed only after findings
Validate
- findings describe user-visible or maintainability-impacting risk
- assumptions are stated when repo context is incomplete
- no trivial style nit hides a more serious issue
Comments
Markdown supported