Official agent skill

Reviewing Csharp

by dotnet in dotnet/docker-tools

Reviews C changes in the ImageBuilder codebase against the repo's modern C conventions and invariants.

OfficialMITAuto-check passedDevelopment

Install Reviewing Csharp

skills CLI
$ npx skills add dotnet/docker-tools --skill reviewing-csharp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dotnet/docker-tools reviewing-csharp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dotnet/docker-tools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/reviewing-csharp .claude/skills/reviewing-csharp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
reviewing-csharp
GitHub stars
181
Token cost
~793 tokens
SKILL.md length
387 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Reviews C changes in the ImageBuilder codebase against the repo's modern C conventions and invariants.

  • Reviewing a C diff
  • SKILL.md covers Scope, Review checks and Output format
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Staged/unstaged changes and you want anti-patterns caught before merge

What it does

Reviewing Csharp is an agent skill from dotnet/docker-tools, published by the product's own GitHub organization. Reviews C changes in the ImageBuilder codebase against the repo's modern C conventions and invariants. Use when reviewing a C diff, pull request, or staged/unstaged changes and you want anti-patterns caught before merge.

Its SKILL.md is about 790 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Pull requests. It works with C# and .NET. The repository describes itself as: This is a repo to house some common tools for our various docker repos. The licence is MIT.

When your agent uses it

  • Reviewing a C diff
  • Staged/unstaged changes and you want anti-patterns caught before merge

Example prompts

  • “Use the reviewing-csharp skill to review C changes in the ImageBuilder codebase against the repo's modern C conventions and invariants”
  • “/reviewing-csharp”

Requirements

  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit fa471a5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Reviewing Csharp loads about 793 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 387 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~793

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from dotnet/docker-tools at commit fa471a5, republished under its MIT licence (© dotnet). 387 words, ~793 tokens.

Download SKILL.mdSave it as .claude/skills/reviewing-csharp/SKILL.md (or your agent's skills folder).
name
reviewing-csharp
description
Reviews C# changes in the ImageBuilder codebase against the repo's modern C# conventions and invariants. Use when reviewing a C# diff, pull request, or staged/unstaged changes and you want anti-patterns caught before merge.

Reviewing C# changes

Review changed C# code in dotnet/docker-tools for high-confidence violations of repository conventions. Read .github/instructions/csharp.instructions.md first and treat it as the source of truth for implementation guidance.

Scope

  • Review the C# diff and behavior directly affected by it. Do not report unrelated, pre-existing code.
  • Report only issues with clear maintenance, correctness, or operational impact. Skip subjective style preferences and uncertain findings.
  • Do not edit code.
  • Use the exemplars in .github/instructions/csharp.instructions.md when recommending a repository-specific pattern.

Review checks

Language and API design
  • New files use file-scoped namespaces and do not disable nullable reference types.
  • New code is null-annotation clean. Flag ! when it masks a nullable-correctness problem, but not deliberate negative tests such as passing null! to verify a guard.
  • Use the least accessibility needed; do not introduce public APIs without a demonstrated caller.
  • Reuse existing methods and services. Flag unused or speculative methods, parameters, and abstractions.
Async
  • Async methods end with Async; async calls are awaited rather than discarded.
  • Thread a CancellationToken through async I/O.
  • Do not add async/await when directly returning the task preserves behavior.
  • Do not add ConfigureAwait(...); this repository does not use it.
Control flow and failures
  • Use LINQ for transformations and loops for side effects or async work.
  • Avoid multiple enumeration when it can change behavior or repeat meaningful work.
  • Return empty collections rather than using null as control flow.
  • Flag broad catches, success-shaped fallbacks, or swallowed failures without an explicit recovery path.
Show full SKILL.md (149 more words)Show less
Tests
  • Use MSTest attributes, Shouldly for new assertions, and Moq for mocks.
  • Tests must run in any order and in parallel; no shared mutable state or ordering assumptions.
  • Reuse test helpers under src/ImageBuilder.Tests/Helpers/. Avoid disk I/O when an in-memory alternative or mock tests the same behavior.
  • Do not add comments that only label Arrange, Act, or Assert sections.
Documentation and comments
  • New public or internal APIs have XML documentation where their contract is not obvious. Primary XML doc comments go directly on interfaces. Implementations use <inheritdoc/>.
  • Comments should explain the intention behind code; do not accept comments that merely restate the code.
  • Comments identify ambiguous input requirements such as fully qualified vs. relative paths, string formats, etc. Include examples where appropriate.

Output format

Group findings by file. For each finding, return:

path:line - <rule violated> - <concrete impact> - <suggested fix>

End with N issues to address or No convention violations found.

© dotnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/reviewing-csharp of dotnet/docker-tools.

Open the folder on GitHubat commit fa471a5

Compare with similar skills

Reviewing Csharp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Reviewing Csharp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Reviewing Csharp this skilldotnet/docker-tools181—~793Automated safety check: PassMIT
Code Reviewjonathanpeppers/dotnes780—~2.1kAutomated safety check: PassMIT
Gh Stackdotnet/macios2.9k2 repos~10kAutomated safety check: PassCustom licence
Maintain DisCatSharpAiko-IT-Systems/DisCatSharp140—~1.2kAutomated safety check: PassMIT
Dotnet Copfmflurry/settings-opencode171—~2kAutomated safety check: PassMIT
Speckit ConstitutionWeihanLi/WeihanLi.Common24211 repos~2.1kAutomated safety check: PassApache-2.0

Similar skills

  • Code Review

    jonathanpeppers/dotnes

    Review dotnes pull requests against established repository rules.

    780 GitHub stars~2.1k tokensUpdated 13 days ago
    DevelopmentAuto-check passed
  • Gh Stack

    dotnet/macios

    Official

    Manage stacked branches and pull requests with the gh-stack GitHub CLI extension.

    2.9k GitHub starsUsed in 2 repos~10k tokens
    DevelopmentAuto-check passed
  • Maintain DisCatSharp

    Aiko-IT-Systems/DisCatSharp

    Guides changes to the DisCatSharp C# Discord library: tracing a payload field through parsing, serialization and caches, then validating across target frameworks.

    140 GitHub stars~1.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dotnet Cop

    fmflurry/settings-opencode

    Pre-merge code review for .NET 10 pull requests. An agent skill from fmflurry/settings-opencode.

    171 GitHub stars~2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Speckit Constitution

    WeihanLi/WeihanLi.Common

    Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.

    242 GitHub starsUsed in 11 repos~2.1k tokens
    DevelopmentAuto-check passed
  • Official

    Scans C# and .NET code for about 50 performance anti-patterns and reports prioritized findings with concrete fixes, at a scan depth you choose.

    5.6k GitHub starsUsed in 3 repos~3.1k tokens
    DevelopmentAuto-check passed

More from dotnet/docker-tools

  • Investigating Pipeline

    dotnet/docker-tools

    Official

    Diagnoses a single Azure Pipelines build. An agent skill from dotnet/docker-tools.

    181 GitHub stars~259 tokensUpdated today
    Auto-check passed
  • Investigating Pull Request

    dotnet/docker-tools

    Official

    Inspect GitHub pull request status, read review comments, and diagnose PR validation failures.

    181 GitHub stars~318 tokensUpdated today
    Auto-check passed
  • Triaging Pipelines

    dotnet/docker-tools

    Official

    Triage recent Azure Pipelines runs and failures. An agent skill from dotnet/docker-tools.

    181 GitHub stars~248 tokensUpdated today
    Auto-check passed
  • Docs Maintenance

    dotnet/docker-tools

    Official

    Reviews or updates repository documentation as a dedicated task after implementation is complete.

    181 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Triaging Pull Requests

    dotnet/docker-tools

    Official

    Triage open pull requests into actionable categories. An agent skill from dotnet/docker-tools.

    181 GitHub stars~510 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Reviewing Csharp

What does Reviewing Csharp do?

Reviews C changes in the ImageBuilder codebase against the repo's modern C conventions and invariants. Reviewing Csharp is an agent skill from dotnet/docker-tools, published by the product's own GitHub organization. Reviews C changes in the ImageBuilder codebase against the repo's modern C conventions and invariants.

When should I use Reviewing Csharp?

Reviewing Csharp fits situations like: reviewing a C diff; staged/unstaged changes and you want anti-patterns caught before merge.

How do I install Reviewing Csharp in Claude Code?

Run `npx skills add dotnet/docker-tools --skill reviewing-csharp -a claude-code`. Or copy the skill folder (.github/skills/reviewing-csharp in dotnet/docker-tools) into .claude/skills/reviewing-csharp in your project. Claude Code loads it when a task matches its description.

How do I install Reviewing Csharp in Codex?

Run `npx skills add dotnet/docker-tools --skill reviewing-csharp -a codex`. Or copy the skill folder (.github/skills/reviewing-csharp in dotnet/docker-tools) into .agents/skills/reviewing-csharp in your project. Codex loads it when a task matches its description.

Can I use Reviewing Csharp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnet/docker-tools --skill reviewing-csharp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reviewing-csharp, .gemini/skills/reviewing-csharp, .github/skills/reviewing-csharp and .opencode/skills/reviewing-csharp in your project.

What does Reviewing Csharp need to run?

SKILL.md names no scripts, command-line tools or credentials: Reviewing Csharp is instructions for the agent only. Our summary lists: Docker.

Does Reviewing Csharp access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Reviewing Csharp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Reviewing Csharp use?

Reviewing Csharp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Reviewing Csharp use?

About 793 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Reviewing Csharp?

Skills that share tags, products or a category with Reviewing Csharp: Code Review (jonathanpeppers/dotnes, 780 stars), Gh Stack (dotnet/macios, 2.9k stars), Maintain DisCatSharp (Aiko-IT-Systems/DisCatSharp, 140 stars) and Dotnet Cop (fmflurry/settings-opencode, 171 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Reviewing Csharp?

dotnet (a GitHub organization, an official publisher) maintains it in dotnet/docker-tools, which has 181 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 7, 2026.

Source: dotnet/docker-tools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.