Requesting Code Review
Dispatch a reviewer subagent using the canonical code-reviewer.md template to
catch issues before they cascade. The reviewer gets precisely crafted context
for evaluation — never your session's history. This keeps the reviewer focused
on the work product, not your thought process, and preserves your own context
for continued work.
This skill is the canonical review-request workflow for method-pack implementation work. Use it to request review only after you have enough evidence, enough context, and a clear authority boundary for what the reviewer is being asked to assess.
Core principle: Review early, review often.
Findings First: Reviews lead with concrete findings before summary. Use
bugs first, risk first, tests first. Strengths and general assessment are still
useful, but they must not bury correctness, evidence, architecture, or
retirement problems.
Review readiness is not merge approval. A review can reduce uncertainty and
recommend readiness, but it does not replace verification-before-completion
and does not grant completion authority.
When to Request Review
Mandatory:
- After each task in subagent-driven development
- After completing major feature
- Before merge to main
Optional but valuable:
- When stuck (fresh perspective)
- Before refactoring (baseline check)
- After fixing complex bug
Required Outputs
Before you leave this workflow, you must be able to state:
- What exact scope is being reviewed
- What plan, requirement, or contract defines success
- What Product / Requirement Baseline defines accepted behavior and non-goals
- What Architecture / Runtime Boundary Baseline defines the expected architecture state
- What fresh evidence already exists
- What compatibility boundary must still hold
- What old owner / fallback / patch stays, shrinks, or retires
- What the reviewer must specifically validate
- Whether the reviewer is providing advisory review only, or also any higher-level merge recommendation
- Aegis Visibility: why findings-first ordering, evidence sufficiency,
baseline alignment, compatibility, or retirement risk matters for this
review request
- Semantic context scope: which relevant canonical terms, deprecated
aliases, or public naming boundaries the review must preserve
Review in this method pack is advisory and evidence-oriented. It is not authoritative completion by itself.
How to Request
1. Gather minimum review inputs:
- What was implemented
- What requirement / plan / spec / ADR it should match
- What baseline / current authority docs the diff must align with, including
requirements/product alignment and architecture/current-authority alignment
- What evidence already exists (tests, commands, logs, screenshots, diff summary)
- What compatibility boundary or risk deserves reviewer attention
- Whether there is any old path, fallback, duplicate owner, or temporary patch that should retire
- Whether the diff contains durable architecture decisions that need ADR
Auto Backfill or baseline sync findings
- Whether
recording-architecture-decisions was used, or should be used, when
an ADR action or baseline sync closure is in scope
- Relevant active
CONTEXT.md language when public/domain naming is in scope;
passive reading does not load active modeling
If you cannot answer these, stop and gather them before dispatching review.
2. Define the Git review scope:
# Before the coordinator's task commit
REVIEW_SCOPE=working-tree
BASE_SHA=$(git rev-parse HEAD)
# Or for already committed work
REVIEW_SCOPE=committed-range
BASE_SHA=<known-start>
HEAD_SHA=$(git rev-parse HEAD)
For working-tree review, identify task-owned untracked paths explicitly. Do not
stage merely to make them visible to a reviewer.
3. Dispatch reviewer subagent:
Use the Task tool with a general-purpose reviewer subagent. Fill the canonical
template at requesting-code-review/code-reviewer.md; do not rely on a
separate named agent prompt.
Placeholders:
{WHAT_WAS_IMPLEMENTED} - What you just built
{PLAN_OR_REQUIREMENTS} - What it should do
{EVIDENCE} - Fresh tests, commands, logs, or verification already available
{COMPATIBILITY_BOUNDARY} - What existing behavior or interfaces must not break
{RETIREMENT_NOTES} - Old owner / fallback / patch / duplicate branch and expected disposition
{REVIEW_SCOPE} - working-tree or committed-range
{BASE_SHA} - Starting commit
{HEAD_SHA} - Ending commit, or WORKTREE
{DESCRIPTION} - Brief summary
4. Act on feedback:
- Fix Critical issues immediately
- Fix Important issues before proceeding
- Note Minor issues for later
- Push back if reviewer is wrong (with reasoning)
- If feedback reveals evidence gaps, run the missing verification instead of arguing from confidence
- If feedback reveals Design Defect / Implementation Drift, stale logic, or a
legacy alias such as architecture drift, decide explicitly whether to repair
now, correct the baseline, or record retirement conditions
Example
[Just completed Task 2: Add verification function]
You: Let me request code review before proceeding.
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
HEAD_SHA=$(git rev-parse HEAD)
[Dispatch reviewer subagent using requesting-code-review/code-reviewer.md]
WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index
PLAN_OR_REQUIREMENTS: Task 2 from docs/aegis/plans/deployment-plan.md
EVIDENCE: pytest tests/index/test_verify.py -v -> 12 passed
COMPATIBILITY_BOUNDARY: Existing index format and CLI flags must remain stable
RETIREMENT_NOTES: Legacy repair fallback still exists in old helper; remove once new path covers all four issue types
BASE_SHA: a7981ec
HEAD_SHA: 3df7661
DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
[Subagent returns]:
Strengths: Clean architecture, real tests
Issues:
Important: Missing progress indicators
Minor: Magic number (100) for reporting interval
Assessment: Ready to proceed
You: [Fix progress indicators]
[Continue to Task 3]
Integration with Workflows
Subagent-Driven Development:
- Review after EACH task
- Catch issues before they compound
- Fix before moving to next task
Executing Plans:
- Review after each batch (3 tasks)
- Get feedback, apply, continue
Ad-Hoc Development:
- Review before merge
- Review when stuck
What the Reviewer Must Check
The review request must prompt the reviewer to inspect at least:
- Findings First: bugs first, risk first, tests first
- evidence sufficiency
- baseline / current authority alignment
- requirements/product alignment against accepted problem, success evidence, and
non-goals
- architecture/current-authority alignment against owner, contract,
source-of-truth, compatibility, and retirement boundaries
- Design Defect / Implementation Drift classification with
scope: requirements | architecture | both
- legacy phrase mapping: baseline defect, architecture defect, and architecture
drift must map back to Design Defect / Implementation Drift rather than
becoming parallel result vocabularies
- duplicate owner risk
- compatibility boundary
- missing ADR Auto Backfill or baseline sync findings for durable architecture
decisions
- missing
recording-architecture-decisions handoff when ADR action or
baseline sync closure is in scope
- unverified claims or missing proof
- old logic that should retire, stay temporarily, or converge
- public-name drift, deprecated-term re-entry, or a semantic change recorded in
code/docs without composing
establishing-project-context
If the review only asks “is this code good?”, it is underspecified.
Red Flags
Never:
- Skip review because "it's simple"
- Ignore Critical issues
- Proceed with unfixed Important issues
- Argue with valid technical feedback
- Treat reviewer approval as equivalent to authoritative completion
- Ask for review without sharing what evidence already exists
- Add new logic without telling the reviewer what happens to the old path
If reviewer wrong:
- Push back with technical reasoning
- Show code/tests that prove it works
- Request clarification
Review Boundaries
- Review can recommend merge readiness, residual risk, and follow-up work
- Review cannot grant authoritative completion by itself
- Review should reduce uncertainty, not hide it
See template at: requesting-code-review/code-reviewer.md
1---2name: requesting-code-review3description: Use when requesting independent code review, after implementation slices, before merging high-risk work, or when verification exposes evidence, baseline, architecture, compatibility, or retirement uncertainty.4---5
6# Requesting Code Review
7
8Dispatch a reviewer subagent using the canonical `code-reviewer.md` template to
9catch issues before they cascade. The reviewer gets precisely crafted context
10for evaluation — never your session's history. This keeps the reviewer focused
11on the work product, not your thought process, and preserves your own context
12for continued work.
13
14This skill is the canonical review-request workflow for method-pack implementation work. Use it to request review only after you have enough evidence, enough context, and a clear authority boundary for what the reviewer is being asked to assess.
15
16**Core principle:** Review early, review often.
17
18**Findings First:** Reviews lead with concrete findings before summary. Use
19bugs first, risk first, tests first. Strengths and general assessment are still
20useful, but they must not bury correctness, evidence, architecture, or
21retirement problems.
22
23Review readiness is not merge approval. A review can reduce uncertainty and
24recommend readiness, but it does not replace `verification-before-completion`
25and does not grant completion authority.
26
27## When to Request Review
28
29**Mandatory:**
30- After each task in subagent-driven development
31- After completing major feature
32- Before merge to main
33
34**Optional but valuable:**
35- When stuck (fresh perspective)
36- Before refactoring (baseline check)
37- After fixing complex bug
38
39## Required Outputs
40
41Before you leave this workflow, you must be able to state:
42
431. **What exact scope is being reviewed**
442. **What plan, requirement, or contract defines success**
453. **What Product / Requirement Baseline defines accepted behavior and non-goals**
464. **What Architecture / Runtime Boundary Baseline defines the expected architecture state**
475. **What fresh evidence already exists**
486. **What compatibility boundary must still hold**
497. **What old owner / fallback / patch stays, shrinks, or retires**
508. **What the reviewer must specifically validate**
519. **Whether the reviewer is providing advisory review only, or also any higher-level merge recommendation**
5210. **Aegis Visibility**: why findings-first ordering, evidence sufficiency,
53 baseline alignment, compatibility, or retirement risk matters for this
54 review request
5511. **Semantic context scope**: which relevant canonical terms, deprecated
56 aliases, or public naming boundaries the review must preserve
57
58Review in this method pack is advisory and evidence-oriented. It is not authoritative completion by itself.
59
60## How to Request
61
62**1. Gather minimum review inputs:**
63
64- What was implemented
65- What requirement / plan / spec / ADR it should match
66- What baseline / current authority docs the diff must align with, including
67 requirements/product alignment and architecture/current-authority alignment
68- What evidence already exists (tests, commands, logs, screenshots, diff summary)
69- What compatibility boundary or risk deserves reviewer attention
70- Whether there is any old path, fallback, duplicate owner, or temporary patch that should retire
71- Whether the diff contains durable architecture decisions that need ADR
72 Auto Backfill or baseline sync findings
73- Whether `recording-architecture-decisions` was used, or should be used, when
74 an ADR action or baseline sync closure is in scope
75- Relevant active `CONTEXT.md` language when public/domain naming is in scope;
76 passive reading does not load active modeling
77
78If you cannot answer these, stop and gather them before dispatching review.
79
80**2. Define the Git review scope:**
81```bash
82# Before the coordinator's task commit
83REVIEW_SCOPE=working-tree
84BASE_SHA=$(git rev-parse HEAD)
85
86# Or for already committed work
87REVIEW_SCOPE=committed-range
88BASE_SHA=<known-start>
89HEAD_SHA=$(git rev-parse HEAD)
90```
91
92For working-tree review, identify task-owned untracked paths explicitly. Do not
93stage merely to make them visible to a reviewer.
94
95**3. Dispatch reviewer subagent:**
96
97Use the Task tool with a general-purpose reviewer subagent. Fill the canonical
98template at `requesting-code-review/code-reviewer.md`; do not rely on a
99separate named agent prompt.
100
101**Placeholders:**
102- `{WHAT_WAS_IMPLEMENTED}` - What you just built
103- `{PLAN_OR_REQUIREMENTS}` - What it should do
104- `{EVIDENCE}` - Fresh tests, commands, logs, or verification already available
105- `{COMPATIBILITY_BOUNDARY}` - What existing behavior or interfaces must not break
106- `{RETIREMENT_NOTES}` - Old owner / fallback / patch / duplicate branch and expected disposition
107- `{REVIEW_SCOPE}` - `working-tree` or `committed-range`
108- `{BASE_SHA}` - Starting commit
109- `{HEAD_SHA}` - Ending commit, or `WORKTREE`
110- `{DESCRIPTION}` - Brief summary
111
112**4. Act on feedback:**
113- Fix Critical issues immediately
114- Fix Important issues before proceeding
115- Note Minor issues for later
116- Push back if reviewer is wrong (with reasoning)
117- If feedback reveals evidence gaps, run the missing verification instead of arguing from confidence
118- If feedback reveals Design Defect / Implementation Drift, stale logic, or a
119 legacy alias such as architecture drift, decide explicitly whether to repair
120 now, correct the baseline, or record retirement conditions
121
122## Example
123
124```
125[Just completed Task 2: Add verification function]
126
127You: Let me request code review before proceeding.
128
129BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
130HEAD_SHA=$(git rev-parse HEAD)
131
132[Dispatch reviewer subagent using requesting-code-review/code-reviewer.md]
133 WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index
134 PLAN_OR_REQUIREMENTS: Task 2 from docs/aegis/plans/deployment-plan.md
135 EVIDENCE: pytest tests/index/test_verify.py -v -> 12 passed
136 COMPATIBILITY_BOUNDARY: Existing index format and CLI flags must remain stable
137 RETIREMENT_NOTES: Legacy repair fallback still exists in old helper; remove once new path covers all four issue types
138 BASE_SHA: a7981ec
139 HEAD_SHA: 3df7661
140 DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
141
142[Subagent returns]:
143 Strengths: Clean architecture, real tests
144 Issues:
145 Important: Missing progress indicators
146 Minor: Magic number (100) for reporting interval
147 Assessment: Ready to proceed
148
149You: [Fix progress indicators]
150[Continue to Task 3]
151```
152
153## Integration with Workflows
154
155**Subagent-Driven Development:**
156- Review after EACH task
157- Catch issues before they compound
158- Fix before moving to next task
159
160**Executing Plans:**
161- Review after each batch (3 tasks)
162- Get feedback, apply, continue
163
164**Ad-Hoc Development:**
165- Review before merge
166- Review when stuck
167
168## What the Reviewer Must Check
169
170The review request must prompt the reviewer to inspect at least:
171
172- Findings First: bugs first, risk first, tests first
173- evidence sufficiency
174- baseline / current authority alignment
175- requirements/product alignment against accepted problem, success evidence, and
176 non-goals
177- architecture/current-authority alignment against owner, contract,
178 source-of-truth, compatibility, and retirement boundaries
179- Design Defect / Implementation Drift classification with
180 `scope: requirements | architecture | both`
181- legacy phrase mapping: baseline defect, architecture defect, and architecture
182 drift must map back to Design Defect / Implementation Drift rather than
183 becoming parallel result vocabularies
184- duplicate owner risk
185- compatibility boundary
186- missing ADR Auto Backfill or baseline sync findings for durable architecture
187 decisions
188- missing `recording-architecture-decisions` handoff when ADR action or
189 baseline sync closure is in scope
190- unverified claims or missing proof
191- old logic that should retire, stay temporarily, or converge
192- public-name drift, deprecated-term re-entry, or a semantic change recorded in
193 code/docs without composing `establishing-project-context`
194
195If the review only asks “is this code good?”, it is underspecified.
196
197## Red Flags
198
199**Never:**
200- Skip review because "it's simple"
201- Ignore Critical issues
202- Proceed with unfixed Important issues
203- Argue with valid technical feedback
204- Treat reviewer approval as equivalent to authoritative completion
205- Ask for review without sharing what evidence already exists
206- Add new logic without telling the reviewer what happens to the old path
207
208**If reviewer wrong:**
209- Push back with technical reasoning
210- Show code/tests that prove it works
211- Request clarification
212
213## Review Boundaries
214
215- Review can recommend merge readiness, residual risk, and follow-up work
216- Review cannot grant authoritative completion by itself
217- Review should reduce uncertainty, not hide it
218
219See template at: requesting-code-review/code-reviewer.md