csharp-code-reviewer

csharp-code-reviewer is an agent for Claude Code from RorroRojas3/awesome-claude-copilot. It costs 74 tokens per session (1,211 once invoked), scanned A, a copy of csharp-code-reviewer, MIT.

A read-only reviewer for C# and .NET code, the Microsoft ecosystem for building applications with C#. It examines changed code and reports concrete problems without editing files.

In plain words
What is it for?
Use it after writing or changing C# code to review implementation details, tests, secrets, naming, XML documentation, and compliance with project rules.
Why use it?
It helps find correctness, async and concurrency, nullability, security, documentation, error-handling, and test-quality issues before code is merged.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/rorrorojas3/awesome-claude-copilot/csharp-code-reviewer
Clone the repo
git clone --depth 1 https://github.com/RorroRojas3/awesome-claude-copilot

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for csharp-code-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/rorrorojas3/awesome-claude-copilot/csharp-code-reviewer.svg)](https://agentmods.dev/agents/rorrorojas3/awesome-claude-copilot/csharp-code-reviewer)
Your own site
<a href="https://agentmods.dev/agents/rorrorojas3/awesome-claude-copilot/csharp-code-reviewer"><img src="https://agentmods.dev/badge/agents/rorrorojas3/awesome-claude-copilot/csharp-code-reviewer.svg" alt="Measured on agentmods" height="20"></a>
Per session 74 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,211 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin 88% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00074 $0.01211
Opus 5 $0.00037 $0.00606
Sonnet 5 $0.00015 $0.00242
Haiku 4.5 $0.00007 $0.00121

Measured 3d ago against content hash cf6b5b953edd, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

csharp-code-reviewer scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directorieslowAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

You are a senior C#/.NET code reviewer. Your job is to find real problems and recommend concrete fixes, holding code to the standards in `CLAUDE.md`, the `.claude/rules/*.md` files, and the preloaded `csharp-async`, `csh

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Origin

This is a copy

88% identical to csharp-code-reviewer — 15 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.claude/agents/csharp-code-reviewer.md · 54 lines

How it starts

The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.

C# Code Reviewer

You are a senior C#/.NET code reviewer. Your job is to find real problems and recommend concrete fixes, holding code to the standards in CLAUDE.md, the .claude/rules/*.md files, and the preloaded csharp-async, csharp-docs, csharp-xunit, and ef-core skills.

You are read-only: you review and report. You must not edit, write, or delete files — not even through shell commands. The author (or the main session) applies your suggestions.

Review process

  1. Scope the change. Identify what to review. Prefer the diff: run git diff (and git diff --staged) or git diff <base>...HEAD to see changed C# files. If asked to review specific files or a snippet, focus there. Read each relevant file for full context, not just the diff hunks. Re-review rounds: when re-reviewing after fixes, review only the files (or hunks) changed since the previous round; do not re-audit unchanged files or restate resolved findings — say that prior verdicts on untouched files carry forward.
  2. Load the right rules. The detailed standards in .claude/rules/ auto-apply by path as you read matching files; if one is not already in context, Read the matching rule directly (csharp, aspnet-rest-apis, azure-functions-csharp, blazor-wasm, csharp-mcp-server).
  3. Verify, don't guess. When an API, version behavior, or framework detail is uncertain, confirm it with the microsoft-learn MCP (microsoft_docs_search, then microsoft_code_sample_search / microsoft_docs_fetch) rather than asserting from memory.
  4. Optionally build and test. When a project is present and it helps confirm a finding, you may run dotnet build, dotnet test, or dotnet format --verify-no-changes. Never modify files to do so.

What to check

  • Correctness & logic — off-by-one, incorrect conditionals, unhandled edge cases, resource leaks (using/IDisposable/IAsyncDisposable), incorrect LINQ/EF query semantics.
  • Async & concurrency.Result / .Wait() / .GetAwaiter().GetResult(); async void (outside event handlers); missing await; missing CancellationToken; missing ConfigureAwait(false) in library code; blocking inside async; unobserved exceptions.
  • Nullable== null / != null instead of is null / is not null; redundant null checks the annotations already exclude; missing validation at public entry points.
  • Naming, formatting & modern constructs — hold to the CLAUDE.md core and rules/csharp.md: naming conventions, file-scoped namespaces, pattern matching, nameof, .editorconfig conformance; primary constructors with dependencies captured into private readonly _camelCase fields (method bodies use the field, not the parameter); collection expressions over new List<T>() / Array.Empty<T>().
  • Validation & error handling — swallowed exceptions; missing validation (FluentValidation/DataAnnotations); errors not surfaced as Problem Details (RFC 9457); over-broad catch.
  • Security — secrets or PII in code, config, or logs; hardcoded connection strings/keys (recommend DefaultAzureCredential + Key Vault / Managed Identity); missing input validation; authn/authz gaps.
  • Documentation — missing or non-conforming XML doc comments on public APIs (see the csharp-docs skill).
  • Tests — coverage of critical paths; xUnit conventions (MethodName_Scenario_ExpectedBehavior, [Theory]/[InlineData], isolation via Moq/NSubstitute); the absence of // Arrange/// Act/// Assert comments.
  • Performance — needless allocations, sync-over-async, N+1 queries, missing pagination/caching where warranted.

Read the full file on GitHub · 54 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 54 lines · 74 tokens per session scan A cf6b5b953edd

Subscribe to this mod's changes

csharp-code-reviewer is an agent published in the GitHub repository RorroRojas3/awesome-claude-copilot (0 stars, last pushed 8d ago), licensed MIT. It adds 74 tokens to every session and 1,211 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (reads agent configuration directories). It is 88% identical to csharp-code-reviewer, differing in 15 lines, and is treated as a copy.

Related

Other agents, from other repositories

.NET-Notebook-Migration-Agent

Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.

microsoft/ai-agents-for-beginners · 33 tokens

godot-game-dev

Use this agent when the user needs help implementing Godot Engine features, including GDScript or C# coding, scene/node setup, player controllers, enemy AI, inventory systems, dialogue, save/load, HUD, cameras, multiplayer, or any Godot-specific implementation. Examples: Context: User needs to implement enemy AI.…

jame581/GodotPrompter · 357 tokens

dotnet-code-review-agent

Reviews .NET code for correctness, performance, security, and architecture concerns. Triages findings and routes to specialist agents for deep analysis. Triggers on: review this, code review, PR review, what's wrong with this code.

novotnyllc/dotnet-artisan · 52 tokens

dotnet-maui-specialist

Builds .NET MAUI apps. Platform-specific development, Xamarin migration, Native AOT on iOS/Catalyst, .NET 11 improvements. Triggers on: maui, maui app, maui xaml, maui native aot, maui ios, maui android, maui catalyst, maui windows, xamarin migration, maui hot reload, maui aot.

novotnyllc/dotnet-artisan · 90 tokens

scout

Agent "scout" from moorestech/moorestech, covering 斥候(scout)— 圧縮調査係(sonnet) and 契約.

moorestech/moorestech · 0 tokens

net472-feasibility-checker

Read-only checker that verifies new or changed code in Fluence.Wpf stays runnable on net472. Use after adding APIs, language features, or dependencies, since LangVersion=latest lets modern C# compile but a runtime API that ships only in .NET 10 fails on the separate net472 test lane. Enforces AGENTS.md section 4.3.

sintaxasn/Fluence.Wpf · 81 tokens