Code Review
dotnet/macios
Review dotnet/macios PRs against established rules. An agent skill from dotnet/macios.
Review dotnes pull requests against established repository rules.
$ npx skills add jonathanpeppers/dotnes --skill code-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jonathanpeppers/dotnes code-review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jonathanpeppers/dotnes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/code-review .claude/skills/code-review && rm -rf skills-srcUse ~/.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/
Install the "code-review" agent skill from https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-review into .claude/skills/code-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jonathanpeppers/dotnes --skill code-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jonathanpeppers/dotnes code-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jonathanpeppers/dotnes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/code-review .agents/skills/code-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "code-review" agent skill from https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-review into .agents/skills/code-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jonathanpeppers/dotnes --skill code-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jonathanpeppers/dotnes code-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jonathanpeppers/dotnes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/code-review .cursor/skills/code-review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "code-review" agent skill from https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-review into .cursor/skills/code-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jonathanpeppers/dotnes.git --path .github/skills/code-review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jonathanpeppers/dotnes --skill code-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jonathanpeppers/dotnes code-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jonathanpeppers/dotnes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/code-review .gemini/skills/code-review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "code-review" agent skill from https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-review into .gemini/skills/code-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jonathanpeppers/dotnes code-reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jonathanpeppers/dotnes --skill code-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jonathanpeppers/dotnes.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/code-review .github/skills/code-review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "code-review" agent skill from https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-review into .github/skills/code-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jonathanpeppers/dotnes --skill code-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jonathanpeppers/dotnes code-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jonathanpeppers/dotnes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/code-review .opencode/skills/code-review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "code-review" agent skill from https://github.com/jonathanpeppers/dotnes/tree/main/.github/skills/code-review into .opencode/skills/code-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
code-reviewReview dotnes pull requests against established repository rules.
Code Review is an agent skill from jonathanpeppers/dotnes. Review dotnes pull requests against established repository rules. Use this skill whenever the user asks for a code review, says "review this PR", provides a GitHub pull request URL or number, or asks whether a change is ready to merge. Checks transpiler correctness, 6502 assembly, NES and cc65 conventions, MSBuild integration, snapshot tests, C patterns, security, and AI-generated code pitfalls.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `references/ai-pitfalls.md`, `references/csharp-rules.md` and `references/msbuild-rules.md`).
It sits in Development, covering Code review and Pull requests. It works with C#, GitHub and .NET. The repository describes itself as: .NET for the NES game console. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 42ca23d. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Code Review loads about 2.1k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 1,013 words of instructions outside code blocks.
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.
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.
The full file from jonathanpeppers/dotnes at commit 42ca23d, republished under its MIT licence (© jonathanpeppers). 1,013 words, ~2,084 tokens.
.claude/skills/code-review/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Review PRs against guidelines for the dotnes transpiler — a tool that converts .NET IL into 6502 machine code to produce NES ROMs.
Be polite but skeptical. Prioritize bugs, correctness regressions, and transpiler safety over style nitpicks. 3 important comments > 15 nitpicks.
This is a compiler/transpiler project — correctness is paramount. A subtle bug in opcode emission can produce a ROM that silently does the wrong thing, and the only way to catch it may be running in an emulator. Treat every change to Transpiler.cs, IL2NESWriter.cs, NESWriter.cs, BuiltInSubroutines.cs, or Program6502.cs with extra scrutiny.
Flag severity clearly in every comment:
For substantive PRs, prefer at least one useful inline comment over suggestions buried in the summary. Do not invent a nit merely to produce a comment. Only comment on a changed line where the observation is actionable and specific.
If triggered from an agentic workflow (slash command on a PR), use the PR from the event context. Otherwise, extract owner, repo, pr_number from a URL or reference provided by the user.
Formats: https://github.com/{owner}/{repo}/pull/{number}, {owner}/{repo}#{number}, or bare number (defaults to jonathanpeppers/dotnes).
gh pr diff {number} --repo {owner}/{repo}
gh pr view {number} --repo {owner}/{repo} --json filesFor each changed file, read the full source file (not just the diff) to understand surrounding invariants, call patterns, and data flow. If the change modifies a public/internal API or utility, search for callers. Check whether sibling types need the same fix.
Form an independent assessment of what the change does and what problems it has before reading the PR description.
Verify project context before applying a rule. Check the target framework,
project references, build imports, and existing compatibility helpers so a rule
for modern .NET is not incorrectly applied to netstandard2.0, or vice versa.
gh pr view {number} --repo {owner}/{repo} --json title,bodyNow read the PR description and linked issues. Treat them as claims to verify, not facts to accept. Where your independent reading disagrees with the PR description, investigate further. If the PR claims a performance improvement, require evidence. If it claims a bug fix, verify the bug exists and the fix addresses root cause — not symptoms.
gh pr checks {number} --repo {owner}/{repo}Review the CI results. Never post ✅ LGTM if any required CI check is failing or if the code doesn't build. If CI is failing:
Based on the file types identified in step 2, read the appropriate rule files from this skill's references/ directory.
Always load:
references/repo-conventions.md — Formatting, style, and patterns specific to dotnes.references/ai-pitfalls.md — Common AI-generated code mistakes.Conditionally load based on changed file types:
references/csharp-rules.md — When any .cs files changed. Covers nullable, async, error handling, performance, and code organization.references/transpiler-rules.md — When files under src/dotnes.tasks/ changed, especially Transpiler.cs, IL2NESWriter.cs, NESWriter.cs, BuiltInSubroutines.cs, or Program6502.cs. The core of this project.references/nes-program-rules.md — When files under samples/ changed, or when NESLib.cs changed, or when the diff contains NES API calls (e.g., pal_col, ppu_on_all, oam_spr). Covers NES program constraints and neslib API usage.references/testing-rules.md — When test files changed (files under src/dotnes.tests/) or when transpiler changes lack corresponding test additions.references/msbuild-rules.md — When .targets, .props, or .csproj files changed, or when TranspileToNES.cs changed.references/native-rules.md — When .c, .h, or cc65 reference source files
changed. Covers reference parity, C safety, ownership, and compiler limits.references/security-rules.md — When any code files changed (C# or MSBuild).For each changed file, check against the loaded review rules. Record issues as:
{ "path": "src/Example.cs", "line": 42, "side": "RIGHT", "body": "..." }What to look for (in priority order):
.verified.bin output for unchanged samplesRoslynTests, new samples without snapshot datadocs/msbuild-properties.md updatesConstraints:
line = line number in the NEW file (right side). Double-check against the diff.Post your findings directly:
If no issues are found and CI is green, submit a positive summary. Add at most one or two 💡 suggestions only when they are concrete and worthwhile. Truly trivial PRs (dependency bumps, 1-line typo fixes) may have no inline comments.
Copilot-authored PRs: If the PR author is Copilot (the GitHub Copilot coding agent) and the verdict is ⚠️ Needs Changes or ❌ Reject, prefix the review summary with @copilot so the comment automatically triggers Copilot to address the feedback. Do NOT add the prefix for ✅ LGTM verdicts.
🤖 {severity} **{Category}** — {What's wrong and what to do instead.}Where {severity} is ❌, ⚠️, or 💡.
Categories: Transpiler correctness · 6502 emission · ROM layout · Snapshot integrity · NES program · neslib API · C reference · MSBuild · Nullable · Async pattern · Error handling · Resource management · Performance · Code organization · Testing · YAGNI · API design · Documentation · Security
© jonathanpeppers, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (references) in .github/skills/code-review of jonathanpeppers/dotnes.
Open the folder on GitHubat commit 42ca23d
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Code Review this skilljonathanpeppers/dotnes | 780 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Code Reviewdotnet/macios | 2.9k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| MAUI PR Performance Analysisdotnet/maui | 23k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Gh Stackdotnet/macios | 2.9k | 2 repos | ~10k | Automated safety check: Pass | Custom licence | |
| Find Reviewable MAUI PRsdotnet/maui | 23k | — | ~1.7k | Automated safety check: Pass | MIT | |
| .NET MAUI Code Reviewdotnet/efcore | 15k | — | ~2k | Automated safety check: Pass | MIT |
dotnet/macios
Review dotnet/macios PRs against established rules. An agent skill from dotnet/macios.
dotnet/maui
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.
dotnet/macios
Manage stacked branches and pull requests with the gh-stack GitHub CLI extension.
dotnet/maui
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.
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.
dotnet/maui
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.
jonathanpeppers/dotnes
Decompile NES ROM files (.nes) into C projects that can be rebuilt with dotnes.
jonathanpeppers/dotnes
Disassemble and debug NES ROM files (.nes) produced by the dotnes transpiler.
jonathanpeppers/dotnes
Iterate on a GitHub pull request from a coding agent (like Copilot coding agent) until it's ready for human review.
Categories
Review dotnes pull requests against established repository rules. Code Review is an agent skill from jonathanpeppers/dotnes. Review dotnes pull requests against established repository rules.
Code Review fits situations like: the user asks for a code review; says review this PR; provides a GitHub pull request URL; asks whether a change is ready to merge.
Run `npx skills add jonathanpeppers/dotnes --skill code-review -a claude-code`. Or copy the skill folder (.github/skills/code-review in jonathanpeppers/dotnes) into .claude/skills/code-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jonathanpeppers/dotnes --skill code-review -a codex`. Or copy the skill folder (.github/skills/code-review in jonathanpeppers/dotnes) into .agents/skills/code-review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jonathanpeppers/dotnes --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.
Going by SKILL.md and its folder, Code Review needs the command-line tools its instructions call (gh).
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
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.
About 2.1k tokens (SKILL.md is roughly 8.3k 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 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Code Review: Code Review (dotnet/macios, 2.9k stars), MAUI PR Performance Analysis (dotnet/maui, 23k stars), Gh Stack (dotnet/macios, 2.9k stars) and Find Reviewable MAUI PRs (dotnet/maui, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jonathanpeppers (a GitHub user) maintains it in jonathanpeppers/dotnes, which has 780 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 23, 2026.
Source: jonathanpeppers/dotnes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.