agentleFS
augments-labsaugments-labs/sdlc-skills/skills/testing/requesting-code-review/SKILL.md

requesting-code-review

Skill1 starsChanged 3 months agoMITView on GitHub

Gets an independent review of a frozen code state before completion, push, or merge. Use when a change reaches a done or integration boundary, when review of a frozen state is requested, or when the user says review this, is this ready to merge, or take a look before I push. Skip unfinished checkpoints unless requested, keep/discard/close/reopen transitions, and plan documents, which `reviewing-plans` reviews.

187 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use chinese-code-review, chinese-commit-conventions and 10 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.
  • Leodorareluctant259Skill

    chinese-code-review

    中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈

    Also in 8 projects that use this

  • Leodorareluctant259Skill

    chinese-commit-conventions

    中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化

    Also in 8 projects that use this

  • obraSkill

    diagnosing-superpowers

    Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor results, a skill that didn't fire, "it took too long", "why is it so expensive", "what is it doing" — or wants to build a bug report for the superpowers maintainers, for the current session or a past one identified by id or path, on any harness.

    Also in 20 projects that use this

  • math-incSkill

    heartmula

    Set up and run HeartMuLa, the open-source music generation model family (Suno-like). Generates full songs from lyrics + tags with multilingual support.

    Also in 9 projects that use this

  • Tommy-ywSkill

    webhook-subscriptions

    Create and manage webhook subscriptions for event-driven agent activation, or for direct push notifications (zero LLM cost). Use when the user wants external services to trigger agent runs OR push notifications to chats.

    Also in 5 projects that use this

  • john-data-chenSkill

    touchdesigner-mcp

    Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.

    Also in 7 projects that use this

  • +3 more from Leodorareluctant259

The file

Show its rules and text

We split this skill into the rules it gives an agent

24 rules. 0 are common, 14 are distinctive, and 10 are very specific to this project.

  • 0

    Common

    Most of the 173 edited versions we read keep these.

  • 14

    Distinctive

    This author's own choices. Worth a look.

  • 10

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before you call an exact candidate complete, and before anything is pushed, published, or merged.

    line 15
  2. Distinctive:

    When the user asks for a review of one exact state.

    line 17
  3. Very specific:

    Read references/high-risk-review.md first when the change is a high-risk transformation.

    line 22
  4. Distinctive:

    Stop the writers this task started.

    line 28
  5. Distinctive:

    Read the caller's evidence ledger (add to it, never rewrite it.

    line 30
  6. Distinctive:

    If there is no ledger, or a row is missing or stale,

    line 35
  7. Distinctive:

    Write the depth into the descriptor:

    line 57
  8. Very specific:

    High-risk transformation: read references/high-risk-review.md before assigning anyone.

    line 67
  9. Distinctive:

    Add a specialist role only when the diff matches its trigger below, then open its prompt template.

    line 71
  10. Very specific:

    If a trust boundary changed, the suggested owner is security-audits.

    line 90
  11. Very specific:

    If existing code needs an audit for accidental complexity, the suggested owner is complexity-audit.

    line 96
  12. Very specific:

    If the assurance strategy is hollow or needs challenging, the suggested owner is verification-strategy.

    line 98
  13. Distinctive:

    If the depth is Shallow and its written assignment is recorded in the descriptor, run the self-review below and dispatch nothing.

    line 112
  14. Distinctive:

    Read each returned report, opening its file if only a location was returned.

    line 124
  15. Very specific:

    Before another round, apply receiving-code-review's convergence check.

    line 143
  16. Distinctive:

    If a retry is permitted and the candidate or its bound inputs changed, restart at Step 1 with fresh identities and a fresh receipt.

    line 144
  17. Distinctive:

    If a caller is awaiting this review, return to its pending step.

    line 153
  18. Very specific:

    If the task or plan is owned by executing-plans or subagent-driven-development, return there.

    line 155
  19. Distinctive:

    If this was a review-only request, an unfinished checkpoint, or an unchanged state with an already settled branch choice, return the …

    line 158
  20. Very specific:

    If this is a completed standalone implementation or integration boundary with an unsettled branch choice, invoke finishing-a-branch, even …

    line 161
  21. Distinctive:

    Run no push, PR, merge, keep, or discard here.

    line 165
  22. Very specific:

    Write self-reviewed: ready or self-reviewed: not ready against the exact candidate hash, after reading the complete change and confirming …

    line 170
  23. Distinctive:

    Run a real structural check against that exact candidate.

    line 174
  24. Very specific:

    If there is a trust-boundary finding without an independent security clear on this hash, write self-reviewed: not ready.

    line 175

“Common” is measured: kept by at least 6 in 10 of the 173 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

Requesting Code Review

Get an independent verdict on one frozen candidate, in this order: verify, freeze, dispatch, poll, receive. Never say a review is running, and never wait on one, until the dispatch action has returned a non-empty receipt (the tool-issued dispatch ID).

When to use

  • Before you call an exact candidate complete, and before anything is pushed, published, or merged. A checkpoint you were authorized to commit is not done.
  • When the user asks for a review of one exact state.
  • Skip here, and go through finishing-a-branch directly, for keep, discard, and PR-only close or reopen: those need its identity and authority checks, not a readiness review.
  • Skip a plan document; reviewing-plans reviews it.
  • Read references/high-risk-review.md first when the change is a high-risk transformation; it owns the role separation, and one review of an aggregate diff nobody can read does not satisfy it.

Step 1: Verify and freeze

  1. Stop the writers this task started; report any other writer to its owner and keep review pending until it stops.
  2. Read the caller's evidence ledger (add to it, never rewrite it; it sits outside the candidate) for the frozen state and its raw results. Reuse each row whose candidate, bound inputs and environment, check requirements, and evidence freshness still match. Never rerun a matching row.
  3. If there is no ledger, or a row is missing or stale, REQUIRED SUB-SKILL: invoke verification-before-completion to obtain evidence for this review, then resume here. Keep failures and pending results: they permit review, never readiness.
  4. Open assets/review-candidate.md, the descriptor, after the evidence is bound. Fill every field: mode, identities, complete inventory, artifact controls, terminal contract, continuation, review history. Keep that history across successor candidates. Record a caller only when it has a step awaiting this verdict. A skill whose work ended at this handoff is not a pending return step.

    A change regenerates api/client.ts from a schema through the project's generator and adds api/retry.ts, typed by the agent. Both go in the complete inventory. Only the first is generated, so the inventory binds it by identity. The second is human-authored for review; leaving it out as "generated" ships it unreviewed under a ready verdict.

  5. Compare its result identity with the state identity the verification evidence carries. If they differ, go back to Step 1.

Step 2: Choose depth and roles

  1. Write the depth into the descriptor:
    • Shallow: a self-review. Only when the user, project policy, or the plan's task row assigns it in writing. Never chosen here: the size of the diff grants nothing.
    • Standard: one independent breadth reviewer. A specialist joins only when the diff matches its trigger in Step 2.3, and at most three roles run at once; the rest wait for a second round.
    • Deep: breadth, specialists, a security role filled from security-audits' report template and checklists before Step 3.2, and an independent adversarial pass.
    • High-risk transformation: read references/high-risk-review.md before assigning anyone.
  2. Give every role a stable ID, including each omitted role. For an omitted role, record the evidence, owner, expiry, compensating check, and approver.
  3. Add a specialist role only when the diff matches its trigger below, then open its prompt template. If no trigger matches, the breadth reviewer runs alone:
    • assets/silent-failures-reviewer.md when catches, retries, fallbacks, or defaults could swallow a failure
    • assets/type-design-reviewer.md when a type, interface, schema, or shape callers bind to is new or changed
    • assets/test-coverage-reviewer.md when tests should pin the behavior, or behavior moved between covered and uncovered code
    • assets/comment-accuracy-reviewer.md when comments, docstrings, or prose claim something about the code
    • assets/equivalence-reviewer.md when the change claims high-risk equivalence
    • assets/yagni-reviewer.md when enduring surface is new or expanded, or a simplification review is requested
    • assets/problem-reviewer.md when the change claims to fix a reported problem; it sees the problem and the result, never the diff
  4. Report what another skill owns as a finding with a suggested owner; the caller routes it, and review ends at its report:

    • If a trust boundary changed, the suggested owner is security-audits. That finding blocks readiness at every depth until an independent security clear on this candidate is recorded, unless the Deep security role returned it. Request that audit once, on the first round whose other roles return no blocking finding; until then the finding is carried forward in the review history, not audited per round.
    • If existing code needs an audit for accidental complexity, the suggested owner is complexity-audit.
    • If the assurance strategy is hollow or needs challenging, the suggested owner is verification-strategy.

    Record each such finding in the external review ledger. If no caller is recorded, return the finding with the verdict and name its suggested owner as the next skill. If the recorded caller owns that activity, add any brief it supplied to the Step 3.2 dispatch and return the result to its pending step.

  5. Pick each reviewer's tier with the Model selection section of dispatching-parallel-agents. Depth sets coverage and independence, not the largest tier for every role.

Step 3: Dispatch and receive

  1. If the depth is Shallow and its written assignment is recorded in the descriptor, run the self-review below and dispatch nothing. If no assignment is recorded, the depth is Standard.
  2. Otherwise open assets/code-reviewer.md before dispatch, with each selected specialist template. Fill Inputs from the descriptor and raw evidence. Insert assets/review-report.md before sending, in its Report template slot; leave the report fields for the reviewer.
  3. Send each filled fenced prompt once, following dispatching-parallel-agents Step 2, with the descriptor's deadline as the frozen deadline. If the answer there assigns a self-review, quote it as the Shallow assignment in a successor descriptor and return to Step 3.1.
  4. Success means exactly one current report for each role.
  5. Read each returned report, opening its file if only a location was returned. Match Candidate, Review inputs, Role, and the role's allowed Verdict to the frozen request. If a field is missing, unreadable, conflicting, or mismatched, review stays pending. Check the complete inventory and every human-authored change; reject unrelated traversal.
  6. Decide each Declined to judge entry and record it in the ledger, except one that turns on a product, scope, or requirement reading: that goes to its decision owner through clarifying-intent. An undecided entry keeps review pending.
  7. Block readiness while required current verification or role coverage is missing, failed, inconclusive, or conditional, or while a blocking finding or an attempt's effects remain unresolved. Keep every failed attempt on record; an accepted successor attempt linked to it can satisfy its current role once effects are reconciled. Reconcile each advisory finding's recorded decision without adding acceptance criteria.
  8. Record each report's location, its recorded decision, and the tool-issued dispatch ID in the external review ledger.
  9. REQUIRED SUB-SKILL: invoke receiving-code-review with every report before responding to it, including a not_ready that asks for no edit.
  10. Before another round, apply receiving-code-review's convergence check. If a retry is permitted and the candidate or its bound inputs changed, restart at Step 1 with fresh identities and a fresh receipt. Carry prior coverage and recorded decisions forward; focus the successor review on fixes, affected paths, and regressions. A security clear recorded on an earlier candidate is rebound to the successor only by the focused independent re-audit of the round's edit that security-audits Step 3.4 describes, never by a new audit of the candidate. The Deep security role reruns the same way.
  11. REQUIRED — continue a ready verdict through the recorded owner:

    • If a caller is awaiting this review, return to its pending step; never invoke the caller recursively.
    • If the task or plan is owned by executing-plans or subagent-driven-development, return there; it owns cadence and plan-end finishing.
    • If this was a review-only request, an unfinished checkpoint, or an unchanged state with an already settled branch choice, return the verdict.
    • If this is a completed standalone implementation or integration boundary with an unsettled branch choice, invoke finishing-a-branch, even without a user request for a Git action.

    Run no push, PR, merge, keep, or discard here. A ready verdict does not choose an integration action.

Self-review, assigned depth only

  • Write self-reviewed: ready or self-reviewed: not ready against the exact candidate hash, after reading the complete change and confirming it does only what was requested.
  • Account for untracked and generated files, and every affected caller.
  • Run a real structural check against that exact candidate.
  • If there is a trust-boundary finding without an independent security clear on this hash, write self-reviewed: not ready.
  • On not ready, do not hand off. Either the assignment did not fit the change: report that to the user, void a no-dispatch answer that assigned it, raise the depth to Standard, and restart at Step 2. Or there is a defect: fix it, then restart at Step 1.

Gotchas

  • Rerunning a caller's matching rows looks like rigor, but it verifies one frozen state twice, and a second run that disagrees gets argued away instead of diagnosed.
  • A reviewer sees only what the descriptor inventories. An untracked or generated file left out of the inventory ships unreviewed.
  • A trust-boundary finding without security clear is not advisory. Filing it as advice to reach ready ships a boundary nobody audited.
  • Each fix round restarts at Step 1 with a fresh candidate, and a fresh candidate reads as needing a fresh audit: one run audited every round of every task, 102 audits in 193 dispatches. The audit runs once at convergence; a fix round after it gets a focused re-audit of its edit, not a new audit.

Common mistakes

  • Treating checks, workspace size, urgency, or completion pressure as an independent reviewer or as permission to downgrade.
  • Inventing delegation authority, or treating an action as disclosure consent.
  • Asking a reviewer to mutate the frozen candidate; destructive challenge runs only in a reviewer-owned copy or against retained evidence.
  • Filling high-risk roles that must stay separate with the same party, without a direct recorded exception.

Download now (ZIP)

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.