# Code Review Skill **A code review skill for AI coding agents — Claude Code, Cursor, Codex, Gemini CLI, and anything that reads `SKILL.md`.** One agent. One pass. ~1,700 words. Most AI code review produces a wall of plausible findings. Half are real, half are guesses, and the reader can't tell which — so they stop reading. This skill makes the opposite trade: **nothing gets reported without a demonstrated failure.** Every finding names the input, state, or sequence that produces the wrong outcome, and findings that can't be traced to one get dropped silently. It reviews in the order a senior engineer actually reviews — **design, spec conformance, correctness, complexity, tests, naming, blast radius** — because design problems are the expensive ones and the only ones that get harder to fix after merge. ## Install **Claude Code:** ```bash /plugin marketplace add artificialguybr/code-review-skill /plugin install code-review ``` **Any agent** — it's one Markdown file, no dependencies, no API keys, no external service: ```bash git clone https://github.com/artificialguybr/code-review-skill /tmp/crs cp -r /tmp/crs/skills/code-review ~/.claude/skills/code-review # or .claude/skills for one project ``` Cursor reads `.cursor/skills/`, Codex `.codex/skills/`, Gemini CLI `.gemini/skills/` — same directory, different destination. ## Use ``` review my changes review this branch against main review PR #418 is this safe to merge? review my changes and fix what you find ``` A PR number routes through `gh`; otherwise it pins the merge-base with your tracking branch and reviews `git diff ...HEAD` (three dots, so commits that landed on the base branch don't pollute the review). ## What it does differently **Evidence or silence.** No failure scenario, no finding. No "possible issues, unverified" appendix — that's the noise you were avoiding, relabelled. **Never guesses where it can read.** A finding conditioned on unfinished research — "this breaks unless the backend validates it" — isn't allowed when the backend is right there. **Honest severity.** Impact × likelihood, with explicit floors. A Critical label on a Low finding costs more credibility than the finding was worth. **Design before details.** And it applies the counter-test to any refactor: count the concepts a reader must hold. If a "cleaner" version leaves that count unchanged, complexity was relocated, not reduced. **Fresh eyes first.** Existing review comments on the PR get read *after* the audit, never before — reading them first anchors you and costs you the findings only fresh eyes get. **Diff scope only.** Pre-existing problems in untouched files aren't findings. **Catches the classes that get missed.** Authorization checked for login but not for *this specific object*. Scope creep as a finding, not a bonus. A migration that isn't reversible mid-rollout. A changed env var or port that breaks everyone's local build. A bulk dependency bump with no changelog read. **Deletes its own weak findings.** A final pass drops anything it couldn't defend out loud to the author — which removes more bad findings than any checklist adds good ones. **Defers to your repo.** `CONTRIBUTING.md`, `CLAUDE.md`, `AGENTS.md`, `.cursor/rules/` and your lint config all outrank the skill. Anything the linter or type-checker already reports is off the table. **Approves like a colleague.** Approve when the change definitely improves code health, even if imperfect — "not how I'd have written it" is not a defect. But no rubber stamps either: an unearned "LGTM" tells everyone downstream the change was checked when it wasn't. **Won't fix by suppression.** When asked to fix its own findings: each gets the regression test that would have caught it, and no widened `catch`, disabled lint rule, or loosened assertion. ## Why it's short ``` skills/code-review/ ├── SKILL.md # the review, always loaded └── references/ └── traps.md # per-language defects + dependency review, loaded on demand ``` The heaviest code review skills are not the best ones, and a 2,000-item checklist makes a model work the list instead of reading the code. `SKILL.md` is ~1,700 words of judgment and rules — the parts a good reviewer needs told to them, not the parts they already know. The one reference file holds the concrete stuff that's only sometimes relevant, so a small review stays cheap. ## License MIT — see [LICENSE](LICENSE). Issues and PRs welcome; a rule that caught a real bug in your codebase is worth more than one that sounds thorough. --- **Keywords:** code review · AI code review · automated code review · agent skill · Claude Code skill · Claude skill · Cursor skill · Codex skill · Gemini CLI skill · SKILL.md · pull request review · PR review · diff review · git diff · code quality · security review · SQL injection · IDOR · N+1 query · performance review · design review · code smells · refactoring · technical debt · test quality · severity triage · maintainability · LLM code review · agentic code review · developer tools