Official agent skill

.NET MAUI Code Review

by dotnet in dotnet/efcore

Deep code-only review of a pull request or candidate patch for correctness, safety and .NET MAUI conventions, judging the code before reading the PR description.

OfficialMITAuto-check passedDevelopment

Install .NET MAUI Code Review

skills CLI
$ npx skills add dotnet/efcore --skill code-review -a claude-code

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

GitHub CLI
$ gh skill install dotnet/efcore code-review --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/efcore.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/code-review .claude/skills/code-review && 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
code-review
GitHub stars
15k
Token cost
~2k tokens
SKILL.md length
1,064 words
Files
3 (incl. references)
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Deep code-only review of a pull request or candidate patch for correctness, safety and .NET MAUI conventions, judging the code before reading the PR description.

  • Works in 7 steps: Establish the Review Surface → Form an Independent Assessment → Reconcile Pull Request Context → …
  • Reviewing a .NET MAUI pull request for correctness before merge
  • SKILL.md covers Scope and Safety, Workflow, Validation and Common Pitfalls
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

This skill reviews the code of a PR, or a materialized candidate patch, for correctness, safety, performance and fit with .NET MAUI conventions. It works independence-first: the agent forms its view from the code before reading the PR description, reads whole source files instead of only diffs, checks callers and git history, cites specific lines and separates errors from warnings and suggestions. Per-dimension evaluation is delegated to the maui-expert-reviewer agent.

It is code-only and does not run tests, modify the PR or summarize what changed. Related skills cover other jobs: pr-review for the full four-phase workflow with test verification and fix attempts, and pr-finalize for checking the title and description before merge. Extra rules cover guards such as early returns and idempotency flags, tracing every set and clear path, and not stopping for a token when gh is unauthenticated but the PR is public. Verdicts include LGTM, NEEDS_DISCUSSION and NEEDS_CHANGES, and the folder carries test fixtures and eval files.

When your agent uses it

  • Reviewing a .NET MAUI pull request for correctness before merge
  • Analyzing a candidate patch for safety and convention problems
  • Getting a second opinion on the guards and state transitions in a change
  • Reviewing code only, without running tests or editing the PR

Example prompts

  • “Review the code in the PR that fixes the CollectionView crash.”
  • “Do a code review of this candidate patch and give me a verdict.”
  • “Check the code quality of the open Shell navigation PR without running the tests.”

Requirements

  • Access to the pull request or patch, since public GitHub PRs can be read without gh login
  • The maui-expert-reviewer agent

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Establish the Review Surface
  2. Form an Independent Assessment
  3. Reconcile Pull Request Context
  4. Route Conditional Reviews
  5. Analyze Behavior and Coverage
  6. Verify and Report Findings
  7. Optionally Post Pull Request Comments

What it can do on your machine

Read from SKILL.md and the folder at commit 7adff35. 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

.NET MAUI Code Review loads about 2k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 1,064 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

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/efcore at commit 7adff35, republished under its MIT licence (© dotnet). 1,064 words, ~1,995 tokens.

Download SKILL.mdSave it as .claude/skills/code-review/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
code-review
description
Review EF Core pull requests or local changes for concrete correctness, compatibility, performance, security, and test-coverage problems. Use when asked to review, critique, or check code changes before merge or submission.

EF Core Code Review

Review pull requests and local working-tree changes without modifying source. Findings must be concrete, evidence-backed problems introduced or exposed by the change, not style preferences or general improvement ideas.

Scope and Safety

  • Review the provided pull request, or staged, unstaged, and untracked local changes. Ask for clarification when both are plausible.
  • Never checkout, switch branches, stash, reset, clean, or otherwise mutate the working tree, except for checking out the requested head for review purposes. Never edit source as part of a review.
  • For a pull request, record its base, head, and immutable head SHA. If local HEAD differs, use read-only repository or GitHub context when sufficient; otherwise ask the user to checkout the requested commit.
  • Never submit an APPROVE or REQUEST_CHANGES event. COMMENT emission follows Step 7.
  • Do not use this skill to address existing review comments or implement fixes.

Workflow

1. Establish the Review Surface
  1. Load .github/copilot-instructions.md and any area skill whose description matches the changed implementation.
  2. Obtain the complete diff and changed-file list once. Include staged, unstaged, and untracked files for local reviews.
  3. For pull requests, gather the base/head refs and head SHA, but defer the PR body, linked issues, and prior review comments until Step 3.
  4. Stop with a clear limitation if the requested change surface cannot be established.
2. Form an Independent Assessment

Before reading the author's narrative:

  1. Read each changed implementation beyond its diff hunk. Diff-only review is insufficient evidence for a finding. For very large files, read the containing members, their contracts, and relevant state. When many files are changed, use subagents to break down the review into manageable parts and gather context incrementally.
  2. Search callers, implementations, overrides, sibling provider paths, and nearby tests. Read shared helpers whose contracts control the changed behavior.
  3. Use focused history when it can explain an invariant, revert, or prior fix attempt.
  4. Describe the old and new behavior, likely motivation, affected callers/providers, and initial concerns in your own words.
3. Reconcile Pull Request Context

For pull requests, now read the description, linked issues, and existing review threads. Treat them as claims to verify against the code. Do not duplicate an existing finding unless the changed revision leaves it unresolved.

4. Route Conditional Reviews
  • Read references/api-review.md when the change adds, removes, or changes supported public or protected API outside an .Internal namespace and not annotated with [EntityFrameworkInternal].
  • Read references/security-review.md when changed data crosses a documented trust boundary or the change affects serialization, generated code from database metadata, command construction, sensitive-data handling, caches or complexity bounds, assembly loading, elevated operations, or another high-risk path.
5. Analyze Behavior and Coverage

For each non-trivial production change, identify:

  1. Changed behavior: the concrete old and new code paths.
  2. Affected surfaces: callers, providers, public contracts, generated output, persistence, diagnostics, and concurrency where applicable.
  3. Regression risks: plausible inputs, interleavings, failures, or compatibility breaks.
  4. Expected coverage: the focused test that would fail without the change or expose the regression.
  5. Coverage gaps: affected behavior not exercised by changed or existing tests.

Check correctness, error handling, async behavior, concurrency, state and resource lifetime, compatibility, provider hierarchy behavior, NativeAOT constraints, and performance only where the changed path plausibly makes them relevant.

For new functionality consider other feature areas that might be affected but are not directly touched by the change.

Do not request tests for documentation-only changes, comments, formatting, or demonstrably behavior-preserving mechanical changes. Do not flag issues that the compiler, formatter, or existing analyzers deterministically report.

Show full SKILL.md (481 more words)Show less
6. Verify and Report Findings

Before reporting a concern:

  • Verify it against surrounding and unchanged code, including caller/callee defenses.
  • Identify a realistic failure or user impact. Do not promote a theoretical possibility with negligible likelihood into a finding.
  • Verify factual claims about APIs from repository evidence or current documentation; never rely on model memory to claim an API is absent, deprecated, or unavailable.
  • Report only test results actually observed. Separate unexecuted validation and residual risk from findings.

Order findings by severity:

  • Critical: practical exploitation, arbitrary code execution, widespread data loss, or similarly catastrophic impact.
  • High: merge-blocking correctness, security, compatibility, data-integrity, or concurrency defect.
  • Medium: concrete defect with limited impact or a meaningful regression gap for changed behavior.
  • Low: minor but real defect worth fixing in this change.
  • Info: observations or suggestions that do not constitute a defect but may improve code quality or maintainability.

Each finding must contain:

  1. Severity and concise title.
  2. Certainty level or confidence in the finding based on the available evidence.
  3. Changed file and line or symbol.
  4. Concrete failure mode and impact.
  5. Evidence that makes the finding actionable.
  6. Fix direction and, when relevant, the missing regression-test shape.

Present findings first. If none meet the evidence bar, say No findings and then state any validation gaps or residual risk. Do not add praise or filler.

7. Optionally Post Pull Request Comments

Posting is allowed through either authorization path:

  • Direct invocation: number the findings, let the user select or edit them, and obtain explicit confirmation before posting.
  • Code-reviewer agent delegation: an invoking code-reviewer agent may explicitly authorize COMMENT emission and provide the selected findings or complete review payload. That caller contract is sufficient authorization; do not add a redundant confirmation prompt. An analysis-only delegation does not authorize posting.

Immediately before posting, confirm that the pull request is still open and its base, head, and head SHA match the reviewed revision. If they changed, stop and refresh the review context.

Create a pending review, add only authorized findings, and submit it as COMMENT. Never approve or request changes. Include a concise AI-generated disclosure when posting under a user's identity rather than a bot identity. Do not post findings that are similar to existing or resolved comments; for multiple defects in the same area, consolidate them into a single finding when appropriate.

Validation

  • Every finding resolves to changed code or a changed contract and cites supporting repository evidence.
  • Test requests follow the behavior-impact analysis.
  • No source or worktree mutation occurred.
  • Any posted review used the reviewed head SHA and COMMENT-only authorization.

Common Pitfalls

  • Reviewing hunks without their callers or provider hierarchy.
  • Treating a public CLR member in .Internal as supported public API.
  • Reporting a security keyword without tracing attacker-controlled data to an impact.
  • Inferring that passing broad tests covers the changed failure mode.
  • Turning uncertainty into a firm finding instead of investigating or recording a limitation.

© 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

SKILL.md and 2 other files (references) in .agents/skills/code-review of dotnet/efcore.

  • SKILL.md
  • references/api-review.md
  • references/security-review.md

Open the folder on GitHubat commit 7adff35

Compare with similar skills

.NET MAUI Code Review 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.

.NET MAUI Code Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
.NET MAUI Code Review this skilldotnet/efcore15k—~2kAutomated safety check: PassMIT
Find Reviewable MAUI PRsdotnet/maui23k—~1.7kAutomated safety check: PassMIT
MAUI PR Review Orchestratordotnet/maui23k—~3.6kAutomated safety check: PassMIT
GitHub Review Iterationprisma/orm48k—~2.2kAutomated safety check: PassApache-2.0
Cherry Studio PR ReviewCherryHQ/cherry-studio52k—~3.9kAutomated safety check: PassAGPL-3.0
MAUI PR Performance Analysisdotnet/maui23k—~2.4kAutomated safety check: PassMIT

Similar skills

  • Official

    Lists open pull requests in dotnet/maui and dotnet/docs-maui that are worth reviewing next, ranked by priority labels, milestone and partner or community origin.

    23k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Runs a three-phase review of a dotnet/maui pull request (pre-flight, try-fix, report), writing results to local files and never posting comments to the PR.

    23k GitHub stars~3.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.

    48k GitHub stars~2.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Cherry Studio PR Review

    CherryHQ/cherry-studio

    Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.

    52k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Interprets pinned managed benchmark evidence for a dotnet/maui pull request and writes a narrative for the performance review workflow, without running or publishing anything.

    23k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Review

    jaemk/self_update

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.

    961 GitHub stars~1.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes

More from dotnet/efcore

All 17 skills in this repo
  • Make Skill

    dotnet/efcore

    Official

    Create and evaluate new Agent Skills for GitHub Copilot. An agent skill from dotnet/efcore.

    15k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Make Custom Agent

    dotnet/efcore

    Official

    Create custom GitHub Copilot agents. An agent skill from dotnet/efcore.

    15k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Official

    Create GitHub Actions workflows for CI, automation, or PR management.

    15k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Make Instructions

    dotnet/efcore

    Official

    Create and evaluate VS Code file-based instructions (.instructions.md files).

    15k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Model Building

    dotnet/efcore

    Official

    Implementation details for EF Core model building. An agent skill from dotnet/efcore.

    15k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Run Apichief

    dotnet/efcore

    Official

    Run ApiChief in the EF Core repo to emit baselines, summaries, deltas, review files, or breaking-change checks.

    15k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about .NET MAUI Code Review

What does .NET MAUI Code Review do?

Deep code-only review of a pull request or candidate patch for correctness, safety and .NET MAUI conventions, judging the code before reading the PR description. NET MAUI conventions. It works independence-first: the agent forms its view from the code before reading the PR description, reads whole source files instead of only diffs, checks callers and git history, cites specific lines and separates errors from warnings and suggestions.

When should I use .NET MAUI Code Review?

.NET MAUI Code Review fits situations like: reviewing a .NET MAUI pull request for correctness before merge; analyzing a candidate patch for safety and convention problems; getting a second opinion on the guards and state transitions in a change; reviewing code only, without running tests or editing the PR.

How do I install .NET MAUI Code Review in Claude Code?

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

How do I install .NET MAUI Code Review in Codex?

Run `npx skills add dotnet/efcore --skill code-review -a codex`. Or copy the skill folder (.agents/skills/code-review in dotnet/efcore) into .agents/skills/code-review in your project. Codex loads it when a task matches its description.

Can I use .NET MAUI Code Review 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/efcore --skill code-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-review, .gemini/skills/code-review, .github/skills/code-review and .opencode/skills/code-review in your project.

What does .NET MAUI Code Review need to run?

SKILL.md names no scripts, command-line tools or credentials: .NET MAUI Code Review is instructions for the agent only. Our summary lists: Access to the pull request or patch, since public GitHub PRs can be read without gh login; The maui-expert-reviewer agent.

Does .NET MAUI Code Review 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 .NET MAUI Code Review 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 .NET MAUI Code Review use?

.NET MAUI Code Review 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 .NET MAUI Code Review use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.

What are the alternatives to .NET MAUI Code Review?

Skills that share tags, products or a category with .NET MAUI Code Review: Find Reviewable MAUI PRs (dotnet/maui, 23k stars), MAUI PR Review Orchestrator (dotnet/maui, 23k stars), GitHub Review Iteration (prisma/orm, 48k stars) and Cherry Studio PR Review (CherryHQ/cherry-studio, 52k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains .NET MAUI Code Review?

dotnet (a GitHub organization, an official publisher) maintains it in dotnet/efcore, which has 14,800 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.

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