agentleFS
NoobyGainsNoobyGains/godmode/skills/code-review/SKILL.md

code-review

Skill115 starsChanged 7 days agoMITView on GitHub

Use when a task, feature or bug fix is implemented and before it is committed, merged or handed back to the user, and when the user asks for a review of a change, a branch or a pull request.

We split this skill into the rules it gives an agent

9 rules. 0 are common, 9 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 185 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No exceptions. No workarounds.

    line 16
  2. Distinctive:

    After every task in a plan, before the next task starts.

    line 21
  3. Distinctive:

    After a feature or a bug fix, before it is committed to a shared branch or merged.

    line 22
  4. Distinctive:

    Before a pull request is opened or marked ready.

    line 23
  5. Distinctive:

    When the user asks for a review of a diff, a branch or a pull request.

    line 24
  6. Distinctive:

    Write these files to a scratch directory or a git-ignored path, never into tracked source.

    line 43
  7. Distinctive:

    every requirement is implemented and has a test.

    line 48
  8. Distinctive:

    Commit a change you have not disclosed to the user.

    line 120
  9. Distinctive:

    Write the plain-language walkthrough before committing a multi-file or behavioural change.

    line 127

“Common” is measured: kept by at least 6 in 10 of the 185 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Code Review

A change is reviewed by someone who did not write it, in two stages: first "does it do exactly what was asked", then "is it built well". The author then explains the change to the user in plain language and discloses everything that was not asked for. The author's confidence is not evidence; a fresh reviewer reading the diff is.

The Prime Directive

NO CHANGE LANDS UNTIL A FRESH REVIEWER HAS PASSED IT AND THE USER HAS SEEN WHAT CHANGED

No exceptions. No workarounds. No shortcuts.

When to Use

Required:

  • After every task in a plan, before the next task starts.
  • After a feature or a bug fix, before it is committed to a shared branch or merged.
  • Before a pull request is opened or marked ready.
  • When the user asks for a review of a diff, a branch or a pull request.

Skip:

  • A one-line typo or comment fix the user dictated verbatim; still disclose it.
  • Exploratory spikes that will be deleted. The code that replaces them is reviewed.

The Protocol

  1. Check entry conditions. The suite passes on the branch, the work is committed, and you can say in two sentences what was built and why. If the suite is red, fix it first; a reviewer's time is wasted on a change that does not run.
  2. Fix the range and write the diff to a file. Take the base commit (the merge base with the target branch, or the commit before the task) and the head commit:

    BASE=$(git merge-base origin/main HEAD)   # or the commit before this task
    HEAD_SHA=$(git rev-parse HEAD)
    git diff --stat "$BASE" "$HEAD_SHA" > review-stat.txt
    git diff "$BASE" "$HEAD_SHA" > review.diff

    Write these files to a scratch directory or a git-ignored path, never into tracked source. The reviewer reads the file instead of receiving a pasted diff, which keeps both contexts small.

  3. Dispatch a fresh reviewer. Dispatch a subagent that has none of your session history, using the reviewer template. Fill in the summary, the requirements (plan file and task, or the user's words), the base and head commits, and the paths to the diff files. Name the reviewer's model and effort on the dispatch (see godmode:model-routing); the final review of a whole branch takes the top tier. The reviewer is read-only and does not dispatch helpers of its own. If your harness ships a code reviewer agent definition, you may dispatch that persona with the same filled-in template.
  4. Stage one: spec compliance. The reviewer checks the diff against the requirements line by line:

    • every requirement is implemented and has a test;
    • nothing was built that was not asked for;
    • behaviour the spec is silent on matches what a reasonable user would expect.

    A stage-one failure goes back to the implementer before stage two is worth running. Small diffs may run both stages in one dispatch; the reviewer still reports them separately.

  5. Stage two: quality. Correctness at the edges, error handling, security surface, tests that assert real behaviour, conventions of the surrounding code, simplicity, performance where it matters. The template carries the full checklist.
  6. Triage the findings.

    SeverityMeaningWhat you do
    CriticalWrong behaviour, data loss, a security hole, a crash, a broken buildFix now, then re-review the fix
    ImportantMissing requirement, weak error handling, test gaps, structural problemsFix before the next task or before landing
    MinorNaming, style, small clean-upsFix if cheap, otherwise record it for the user

    Evaluate every finding with godmode:review-response: verify it against the code before you act, and push back with evidence when the reviewer is wrong. Rule on every item the reviewer listed as "declined to judge"; nothing set aside is dropped silently.

  7. Bound the fix loop. After fixes, re-review only the fixes against the findings they address, with a fresh reviewer or the same one. If the same Critical or Important finding survives two fix rounds, stop and hand over to godmode:error-recovery; a third identical round is not progress.
  8. Write the change walkthrough. For the user, in plain language, before you commit or merge. One entry per changed file or per coherent group of files:

    ### src/middleware/rate-limit.ts
    What: logins are now limited to five attempts per minute per IP address.
    Why: the login endpoint accepted unlimited password guesses.
    Context: runs before the auth routes; counters live in Redis.
    Risk: if Redis is down the limiter lets everything through. Decide whether it should block instead.

    Finish with structural consequences (new dependencies, new layers, changed data flow) and open questions for the user. If you cannot explain a change in plain words, you do not understand it well enough to ship it; go back and find out.

  9. Disclose unsolicited changes. List every change the user did not ask for, separately and before the commit:

    Not requested: I also renamed parseDate to parseIsoDate in three files because the old name hid that it rejects other formats. Keep it or revert it?

    This includes reformatting, dependency bumps, renamed symbols, deleted dead code and "while I was there" fixes. The user decides; you do not commit an undisclosed change.

  10. Record the outcome. In the progress ledger, the task notes or the pull request description: the range reviewed, the reviewer's model, the verdict, which findings were fixed and which were declined with the reason. Then hand on to godmode:cross-model-review before landing, or to godmode:merge-protocol.

What the Reviewer Gets, and What It Does Not

GiveWithhold
The requirements in full, or the path to the plan and the task numberYour session history and reasoning
The base and head commits and the diff file pathsYour opinion of the code ("it is solid, just check style")
What was built, in two sentencesPre-written findings you want confirmed
Known limitations and decisions the user already madeInstructions to be lenient or quick

A reviewer handed your conclusion tends to return it confirmed. Give it the work and the requirements, not your verdict.

Cognitive Traps

RationalisationTruth
"It is a small change; review is overkill."Small diffs cause large outages, and a small diff reviews in minutes.
"I tested it thoroughly."Tests and review catch different kinds of defect. A test cannot tell you that you built the wrong thing.
"I will review my own diff; it is faster."You will read what you meant, not what you wrote. A reviewer without your context reads the code.
"The reviewer needs my whole history to understand."If the change cannot be understood from the requirements and the diff, the next maintainer cannot understand it either.
"The tests pass, so the user does not need the walkthrough."Passing tests say the code does something. The walkthrough says what, so the user can own it.
"That extra rename was obviously helpful; no need to mention it."Every undisclosed change is a surprise in someone's next debugging session. Disclose it.
"We will batch the review into the next pull request."Defects compound across tasks. Review each task before the next one builds on it.

Guardrails

Never:

  • Land, merge or open a ready pull request with an open Critical or Important finding.
  • Review your own change and call it reviewed.
  • Paste your session history or your verdict into the reviewer's brief.
  • Let the reviewer edit the working tree, move HEAD or dispatch its own reviewers.
  • Commit a change you have not disclosed to the user.
  • Mark a finding "won't fix" without a technical reason recorded next to it.

Always:

  • Review against the written requirements, not against your memory of them.
  • Give the reviewer the base and head commits and the diff as a file.
  • Name the reviewer's model on the dispatch.
  • Write the plain-language walkthrough before committing a multi-file or behavioural change.
  • Rule explicitly on everything the reviewer declined to judge.

Connections

  • godmode:review-response: how you evaluate and answer each finding the reviewer returns.
  • godmode:cross-model-review: after this review passes, one narrow pass by a different model family before landing.
  • godmode:completion-gate: re-run the verification after the last fix, before you say the work is done.
  • godmode:delegated-execution: runs this review after every implementer task.
  • godmode:model-routing: which model takes the reviewer seat.
  • godmode:error-recovery: takes over when the same finding survives two fix rounds.
  • godmode:merge-protocol: landing the reviewed branch.

Download now (ZIP)

  • Other versions194 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 194

    1. mattpocock/skills★ 309ksame name
    2. TheAlgorithms/Python★ 226ksame name
    3. microsoft/vscode★ 194ksame name
    4. github/spec-kit★ 145ksame name
    5. ggml-org/llama.cpp★ 133ksame name
    6. shareAI-lab/analysis_claude_code★ 80ksame name
    7. shareAI-lab/learn-claude-code★ 80ksame name
    8. vectorize-io/hindsight★ 57ksame name
    9. dbeaver/dbeaver★ 52ksame name
    10. roboflow/supervision★ 51ksame name

    184 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use add-new-model, azsdk-common-sdk-breaking-change and 9 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • PydanticSkill

      add-new-model

      Add support for a newly-released language or image generation model in pydantic-ai (e.g. openai:gpt-5.6, anthropic:claude-sonnet-5, openai:gpt-image-2). Use when a provider ships a new model id and you need to wire literals, profile flags, adapters, and tests to recognize it. Handles SDK-lag, gateway list conventions, capability probing, and direct image-model geometry.

      Also in 9 projects that use this

    • Microsoft AzureSkill

      azsdk-common-sdk-breaking-change

      Detect and mitigate SDK Breaking changes for an SDK package which is generated from TypeSpec. WHEN: "Detect SDK breaking changes for a service", "Detect SDK breaking changes for an SDK package", "Detect and mitigate SDK breaking changes for a service", "Detect and mitigate SDK breaking changes for an SDK package". INVOKES: skill: azsdk-common-generate-sdk-locally; MCP tools: azure-sdk-mcp:azsdk_customized_code_update, azure-sdk-mcp:azsdk_package_detect_breaking_change.

      Also in 4 projects that use this

    • ww-w-aiSkill

      bkend-auth

      bkend.ai authentication guide. Signup, login, JWT tokens, sessions, role-based access control, and password management with bkend.ai BaaS. Triggers: bkend auth, bkend login, bkend signup, JWT, session, RBAC, password, bkend 인증, 로그인, 회원가입, bkend認証, ログイン, 新規登録, bkend认证, 登录, 注册, autenticacion bkend, authentification bkend, bkend-Auth Do NOT use for: data operations (use $bkend-data), file storage (use $bkend-storage).

      Also in 4 projects that use this

    • ww-w-aiSkill

      bkend-cookbook

      bkend.ai cookbook with step-by-step tutorials and example projects. Build a todo app, blog, e-commerce store, and more with bkend.ai BaaS. Triggers: bkend cookbook, bkend tutorial, bkend example, todo app, blog app, bkend 쿡북, bkend 튜토리얼, 예제 프로젝트, bkendクックブック, チュートリアル, bkend教程, 示例项目, tutorial bkend, tutoriel bkend, bkend-Tutorial, ricettario Do NOT use for: initial setup (use $bkend-quickstart), specific features (use $bkend-data/auth/storage).

      Also in 4 projects that use this

    • dzhngSkill

      close-spec

      When a spec under specs/<feature>/ is done shipping (a write-spec build, or any planned task that produced a spec), archive it to specs/done/ and rewrite it from a build-plan into a durable rationale — the why, the principles, the invariants — pointing back to the real code for the how. Use when implementation has landed and the plan no longer matches what shipped, or the user says a feature/spec is finished. Pairs with [write-spec](../write-spec/SKILL.md) (the plan this closes) and [review](../review/SKILL.md) (run before closing).

      Also in 4 projects that use this

    • dzhngSkill

      design-with-images

      Explore UI and visual design with image generation, then iterate the real implementation against the user-selected concept. Use when brainstorming visual directions, offering mockup variants, or implementing an approved generated design; do not stop at the mockups or the first code approximation.

      Also in 4 projects that use this

    • +5 more from ww-w-ai
  • In this repository33 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.