superpowers-mcp 6.0.2 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.ja.md +218 -0
  2. package/README.ko.md +218 -0
  3. package/README.md +26 -3
  4. package/README.zh-TW.md +27 -4
  5. package/out/server.js +15 -15
  6. package/package.json +5 -1
  7. package/skills/brainstorming/SKILL.md +1 -9
  8. package/skills/brainstorming/scripts/server.cjs +3 -2
  9. package/skills/brainstorming/visual-companion.md +7 -0
  10. package/skills/dispatching-parallel-agents/SKILL.md +0 -18
  11. package/skills/executing-plans/SKILL.md +6 -12
  12. package/skills/finishing-a-development-branch/SKILL.md +74 -114
  13. package/skills/receiving-code-review/SKILL.md +0 -8
  14. package/skills/requesting-code-review/SKILL.md +6 -14
  15. package/skills/subagent-driven-development/SKILL.md +314 -228
  16. package/skills/subagent-driven-development/implementer-prompt.md +6 -3
  17. package/skills/subagent-driven-development/re-review-prompt.md +106 -0
  18. package/skills/subagent-driven-development/scripts/review-package +11 -9
  19. package/skills/subagent-driven-development/scripts/review-package.ps1 +17 -10
  20. package/skills/subagent-driven-development/scripts/sdd-workspace +26 -8
  21. package/skills/subagent-driven-development/scripts/sdd-workspace.ps1 +29 -4
  22. package/skills/subagent-driven-development/scripts/task-brief +4 -3
  23. package/skills/subagent-driven-development/scripts/task-brief.ps1 +5 -4
  24. package/skills/subagent-driven-development/task-reviewer-prompt.md +3 -5
  25. package/skills/systematic-debugging/SKILL.md +1 -14
  26. package/skills/systematic-debugging/find-polluter.ps1 +20 -4
  27. package/skills/systematic-debugging/find-polluter.sh +12 -3
  28. package/skills/test-driven-development/SKILL.md +10 -61
  29. package/skills/test-driven-development/writing-good-tests.md +198 -0
  30. package/skills/using-git-worktrees/SKILL.md +9 -44
  31. package/skills/using-superpowers/references/antigravity-tools.md +1 -1
  32. package/skills/using-superpowers/references/codex-tools.md +1 -1
  33. package/skills/using-superpowers/references/gemini-tools.md +44 -32
  34. package/skills/verification-before-completion/SKILL.md +0 -19
  35. package/skills/writing-plans/SKILL.md +0 -6
  36. package/skills/writing-skills/SKILL.md +1 -11
  37. package/skills/test-driven-development/testing-anti-patterns.md +0 -299
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "superpowers-mcp",
3
3
  "displayName": "Superpowers MCP",
4
4
  "description": "Superpowers skills library (TDD, debugging, collaboration workflows) as an MCP server for VSCode and Antigravity",
5
- "version": "6.0.2",
5
+ "version": "6.2.0",
6
6
  "publisher": "superpowers",
7
7
  "license": "MIT",
8
8
  "repository": {
@@ -29,6 +29,10 @@
29
29
  "out/server.js",
30
30
  "skills"
31
31
  ],
32
+ "overrides": {
33
+ "@hono/node-server": ">=2.0.5",
34
+ "fast-uri": ">=3.1.4"
35
+ },
32
36
  "scripts": {
33
37
  "build": "node esbuild.js --production",
34
38
  "watch": "node esbuild.js --watch",
@@ -77,6 +77,7 @@ digraph brainstorming {
77
77
  - Propose 2-3 different approaches with trade-offs
78
78
  - Present options conversationally with your recommendation and reasoning
79
79
  - Lead with your recommended option and explain why
80
+ - YAGNI ruthlessly - remove unnecessary features from every approach and design
80
81
 
81
82
  **Presenting the design:**
82
83
 
@@ -130,15 +131,6 @@ Wait for the user's response. If they request changes, make them and re-run the
130
131
  - Invoke the writing-plans skill to create a detailed implementation plan
131
132
  - Do NOT invoke any other skill. writing-plans is the next step.
132
133
 
133
- ## Key Principles
134
-
135
- - **One question at a time** - Don't overwhelm with multiple questions
136
- - **Multiple choice preferred** - Easier to answer than open-ended when possible
137
- - **YAGNI ruthlessly** - Remove unnecessary features from all designs
138
- - **Explore alternatives** - Always propose 2-3 approaches before settling
139
- - **Incremental validation** - Present design, get approval before moving on
140
- - **Be flexible** - Go back and clarify when something doesn't make sense
141
-
142
134
  ## Visual Companion
143
135
 
144
136
  A browser-based companion for showing mockups, diagrams, and visual options during brainstorming. Available as a tool — not a mode. Accepting the companion means it's available for questions that benefit from visual treatment; it does NOT mean every question goes through the browser.
@@ -535,9 +535,10 @@ function maybeOpenBrowser() {
535
535
  if (clients.size > 0) return; // the user already opened it
536
536
  const url = companionUrl(); // must carry the key or the gate 403s it
537
537
  const cp = require('child_process');
538
- // Operator-provided launcher: run as given (this env var is trusted operator input).
538
+ // Operator-provided launcher: run via execFile (no shell) so a malicious env var
539
+ // cannot inject commands through shell metacharacters.
539
540
  if (process.env.BRAINSTORM_OPEN_CMD) {
540
- try { cp.exec(process.env.BRAINSTORM_OPEN_CMD + ' ' + JSON.stringify(url), () => {}); } catch (e) { /* best effort */ }
541
+ try { cp.execFile(process.env.BRAINSTORM_OPEN_CMD, [url], () => {}); } catch (e) { /* best effort */ }
541
542
  return;
542
543
  }
543
544
  // Platform launchers: pass the URL as an argv element via execFile (no shell),
@@ -79,6 +79,13 @@ For native PowerShell, use `scripts/start-server.ps1` with the same flags. It wr
79
79
  scripts/start-server.sh --project-dir /path/to/project --open
80
80
  ```
81
81
 
82
+ **Gemini CLI:**
83
+ ```bash
84
+ # Use --foreground and set is_background: true on your shell tool call
85
+ # so the process survives across turns
86
+ scripts/start-server.sh --project-dir /path/to/project --open --foreground
87
+ ```
88
+
82
89
  **Copilot CLI:**
83
90
  ```bash
84
91
  # Use --foreground and start the server via the bash tool with mode: "async"
@@ -158,15 +158,6 @@ Agent 3 → Fix tool-approval-race-conditions.test.ts
158
158
 
159
159
  **Integration:** All fixes independent, no conflicts, full suite green
160
160
 
161
- **Time saved:** 3 problems solved in parallel vs sequentially
162
-
163
- ## Key Benefits
164
-
165
- 1. **Parallelization** - Multiple investigations happen simultaneously
166
- 2. **Focus** - Each agent has narrow scope, less context to track
167
- 3. **Independence** - Agents don't interfere with each other
168
- 4. **Speed** - 3 problems solved in time of 1
169
-
170
161
  ## Verification
171
162
 
172
163
  After agents return:
@@ -174,12 +165,3 @@ After agents return:
174
165
  2. **Check for conflicts** - Did agents edit same code?
175
166
  3. **Run full suite** - Verify all fixes work together
176
167
  4. **Spot check** - Agents can make systematic errors
177
-
178
- ## Real-World Impact
179
-
180
- From debugging session (2025-10-03):
181
- - 6 failures across 3 files
182
- - 3 agents dispatched in parallel
183
- - All investigations completed concurrently
184
- - All fixes integrated successfully
185
- - Zero conflicts between agent changes
@@ -11,15 +11,16 @@ Load plan, review critically, execute all tasks, report when complete.
11
11
 
12
12
  **Announce at start:** "I'm using the executing-plans skill to implement this plan."
13
13
 
14
- **Note:** Tell your human partner that Superpowers works much better with access to subagents. The quality of its work will be significantly higher if run on a platform with subagent support (Claude Code, Codex CLI, Codex App, and Copilot CLI all qualify; see the per-platform tool refs in `../using-superpowers/references/`). If subagents are available, use superpowers:subagent-driven-development instead of this skill.
14
+ **Note:** Tell your human partner that Superpowers works much better with access to subagents (Claude Code, Codex CLI, Codex App, Copilot CLI, and Gemini CLI all qualify; see the per-platform tool refs in `../using-superpowers/references/`). If subagents are available, use superpowers:subagent-driven-development instead of this skill.
15
15
 
16
16
  ## The Process
17
17
 
18
18
  ### Step 1: Load and Review Plan
19
- 1. Read plan file
20
- 2. Review critically - identify any questions or concerns about the plan
21
- 3. If concerns: Raise them with your human partner before starting
22
- 4. If no concerns: Create todos for the plan items and proceed
19
+ 1. Ensure an isolated workspace: use superpowers:using-git-worktrees to create one or verify the existing one
20
+ 2. Read plan file
21
+ 3. Review critically - identify any questions or concerns about the plan
22
+ 4. If concerns: Raise them with your human partner before starting
23
+ 5. If no concerns: Create todos for the plan items and proceed
23
24
 
24
25
  ### Step 2: Execute Tasks
25
26
 
@@ -61,10 +62,3 @@ After all tasks complete and verified:
61
62
  - Reference skills when plan says to
62
63
  - Stop when blocked, don't guess
63
64
  - Never start implementation on main/master branch without explicit user consent
64
-
65
- ## Integration
66
-
67
- **Required workflow skills:**
68
- - **superpowers:using-git-worktrees** - Ensures isolated workspace (creates one or verifies existing)
69
- - **superpowers:writing-plans** - Creates the plan this skill executes
70
- - **superpowers:finishing-a-development-branch** - Complete development after all tasks
@@ -1,71 +1,58 @@
1
1
  ---
2
2
  name: finishing-a-development-branch
3
- description: Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
3
+ description: Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
4
4
  ---
5
5
 
6
6
  # Finishing a Development Branch
7
7
 
8
8
  ## Overview
9
9
 
10
- Guide completion of development work by presenting clear options and handling chosen workflow.
11
-
12
10
  **Core principle:** Verify tests → Detect environment → Present options → Execute choice → Clean up.
13
11
 
14
12
  **Announce at start:** "I'm using the finishing-a-development-branch skill to complete this work."
15
13
 
16
- ## The Process
17
-
18
- ### Step 1: Verify Tests
14
+ ## Step 1: Verify Tests
19
15
 
20
- **Before presenting options, verify tests pass:**
16
+ Run the project's full test suite (`npm test` / `cargo test` / `pytest` / `go test ./...`).
21
17
 
22
- ```bash
23
- # Run project's test suite
24
- npm test / cargo test / pytest / go test ./...
25
- ```
18
+ **If tests fail**, report the failures and stop — the menu comes after a green suite:
26
19
 
27
- **If tests fail:**
28
20
  ```
29
21
  Tests failing (<N> failures). Must fix before completing:
30
22
 
31
23
  [Show failures]
32
-
33
- Cannot proceed with merge/PR until tests pass.
34
24
  ```
35
25
 
36
- Stop. Don't proceed to Step 2.
37
-
38
- **If tests pass:** Continue to Step 2.
26
+ **If tests pass:** continue to Step 2.
39
27
 
40
- ### Step 2: Detect Environment
41
-
42
- **Determine workspace state before presenting options:**
28
+ ## Step 2: Detect Environment
43
29
 
44
30
  ```bash
45
31
  GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
46
32
  GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
33
+ # Capture now, while still inside the workspace — Step 5 changes directory
34
+ # before cleanup (Step 6) needs this value
35
+ WORKTREE_PATH=$(git rev-parse --show-toplevel)
47
36
  ```
48
37
 
49
38
  This determines which menu to show and how cleanup works:
50
39
 
51
40
  | State | Menu | Cleanup |
52
41
  |-------|------|---------|
53
- | `GIT_DIR == GIT_COMMON` (normal repo) | Standard 4 options | No worktree to clean up |
54
- | `GIT_DIR != GIT_COMMON`, named branch | Standard 4 options | Provenance-based (see Step 6) |
55
- | `GIT_DIR != GIT_COMMON`, detached HEAD | Reduced 3 options (no merge) | No cleanup (externally managed) |
56
-
57
- ### Step 3: Determine Base Branch
42
+ | `GIT_DIR == GIT_COMMON` (normal repo) | Standard 3 options | No worktree to clean up |
43
+ | `GIT_DIR != GIT_COMMON`, named branch | Standard 3 options | Provenance-based (see Step 6) |
44
+ | `GIT_DIR != GIT_COMMON`, detached HEAD | Reduced 2 options (no merge) | Externally managed — leave in place |
58
45
 
59
- ```bash
60
- # Try common base branches
61
- git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
62
- ```
46
+ ## Step 3: Determine Base Branch
63
47
 
64
- Or ask: "This branch split from main - is that correct?"
48
+ The base branch is whatever this work forked from — usually named in the
49
+ plan, the conversation, or the branch's upstream. If it is not already
50
+ known, ask: "This branch split from <your best guess> - is that correct?"
51
+ Confirm before merging: merging into the wrong base is expensive to undo.
65
52
 
66
- ### Step 4: Present Options
53
+ ## Step 4: Present Options
67
54
 
68
- **Normal repo and named-branch worktree — present exactly these 4 options:**
55
+ **Normal repo and named-branch worktree — present exactly these 3 options:**
69
56
 
70
57
  ```
71
58
  Implementation complete. What would you like to do?
@@ -73,28 +60,30 @@ Implementation complete. What would you like to do?
73
60
  1. Merge back to <base-branch> locally
74
61
  2. Push and create a Pull Request
75
62
  3. Keep the branch as-is (I'll handle it later)
76
- 4. Discard this work
77
63
 
78
64
  Which option?
79
65
  ```
80
66
 
81
- **Detached HEAD — present exactly these 3 options:**
67
+ **Detached HEAD — present exactly these 2 options:**
82
68
 
83
69
  ```
84
70
  Implementation complete. You're on a detached HEAD (externally managed workspace).
85
71
 
86
72
  1. Push as new branch and create a Pull Request
87
73
  2. Keep as-is (I'll handle it later)
88
- 3. Discard this work
89
74
 
90
75
  Which option?
91
76
  ```
92
77
 
93
- **Don't add explanation** - keep options concise.
78
+ Present the menu exactly as written — concise, with every option coming
79
+ from the list above. Discarding the work happens only in response to your
80
+ human partner explicitly asking for it (see "If your human partner asks to
81
+ discard the work" below). Wait for their answer; the integration decision
82
+ is theirs.
94
83
 
95
- ### Step 5: Execute Choice
84
+ ## Step 5: Execute Choice
96
85
 
97
- #### Option 1: Merge Locally
86
+ ### Option 1: Merge Locally
98
87
 
99
88
  ```bash
100
89
  # Get main repo root for CWD safety
@@ -108,34 +97,43 @@ git merge <feature-branch>
108
97
 
109
98
  # Verify tests on merged result
110
99
  <test command>
111
-
112
- # Only after merge succeeds: cleanup worktree (Step 6), then delete branch
113
100
  ```
114
101
 
115
- Then: Cleanup worktree (Step 6), then delete branch:
102
+ If tests fail on the merged result: stop, leave the worktree and branch in
103
+ place, and investigate — nothing has been pushed, so the merge is local
104
+ and recoverable.
105
+
106
+ Once the merged result is green: clean up the worktree (Step 6), then
107
+ delete the branch:
116
108
 
117
109
  ```bash
118
110
  git branch -d <feature-branch>
119
111
  ```
120
112
 
121
- #### Option 2: Push and Create PR
113
+ ### Option 2: Push and Create PR
122
114
 
123
115
  ```bash
124
- # Push branch
125
116
  git push -u origin <feature-branch>
117
+ # From a detached HEAD, name the new branch on the remote:
118
+ # git push origin HEAD:refs/heads/<new-branch>
126
119
  ```
127
120
 
128
- **Do NOT clean up worktree** — user needs it alive to iterate on PR feedback.
121
+ Then create the pull/merge request against <base-branch> with the forge's
122
+ tooling — its CLI if one is available, or the creation URL most forges
123
+ print when you push — following the repo's PR template and conventions if
124
+ present, and report the URL to your human partner.
125
+
126
+ Keep the worktree — your human partner iterates on PR feedback there.
129
127
 
130
- #### Option 3: Keep As-Is
128
+ ### Option 3: Keep As-Is
131
129
 
132
130
  Report: "Keeping branch <name>. Worktree preserved at <path>."
133
131
 
134
- **Don't cleanup worktree.**
132
+ ### If your human partner asks to discard the work
135
133
 
136
- #### Option 4: Discard
134
+ This path exists only as a response to an explicit request to throw the
135
+ work away. Confirm first:
137
136
 
138
- **Confirm first:**
139
137
  ```
140
138
  This will permanently delete:
141
139
  - Branch <name>
@@ -145,41 +143,39 @@ This will permanently delete:
145
143
  Type 'discard' to confirm.
146
144
  ```
147
145
 
148
- Wait for exact confirmation.
146
+ Wait for that exact confirmation. When it arrives:
149
147
 
150
- If confirmed:
151
148
  ```bash
152
149
  MAIN_ROOT=$(git -C "$(git rev-parse --git-common-dir)/.." rev-parse --show-toplevel)
153
150
  cd "$MAIN_ROOT"
154
151
  ```
155
152
 
156
- Then: Cleanup worktree (Step 6), then force-delete branch:
153
+ Then clean up the worktree (Step 6) and force-delete the branch:
154
+
157
155
  ```bash
158
156
  git branch -D <feature-branch>
159
157
  ```
160
158
 
161
- ### Step 6: Cleanup Workspace
159
+ ## Step 6: Cleanup Workspace
162
160
 
163
- **Only runs for Options 1 and 4.** Options 2 and 3 always preserve the worktree.
164
-
165
- ```bash
166
- GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
167
- GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
168
- WORKTREE_PATH=$(git rev-parse --show-toplevel)
169
- ```
161
+ **Runs for Option 1 and confirmed discards.** Options 2 and 3 always
162
+ preserve the worktree. Both callers have already changed directory to the
163
+ main repo root — worktree removal must run from outside the worktree —
164
+ and use the `GIT_DIR`/`GIT_COMMON`/`WORKTREE_PATH` values captured in
165
+ Step 2, from before that directory change.
170
166
 
171
167
  **If `GIT_DIR == GIT_COMMON`:** Normal repo, no worktree to clean up. Done.
172
168
 
173
- **If worktree path is under `.worktrees/` or `worktrees/`:** Superpowers created this worktree — we own cleanup.
169
+ **If `WORKTREE_PATH` is under `.worktrees/` or `worktrees/`:** Superpowers
170
+ created this worktree — we own cleanup:
174
171
 
175
172
  ```bash
176
- MAIN_ROOT=$(git -C "$(git rev-parse --git-common-dir)/.." rev-parse --show-toplevel)
177
- cd "$MAIN_ROOT"
178
173
  git worktree remove "$WORKTREE_PATH"
179
174
  git worktree prune # Self-healing: clean up any stale registrations
180
175
  ```
181
176
 
182
- **Otherwise:** The host environment (harness) owns this workspace. Do NOT remove it. If your platform provides a workspace-exit tool, use it. Otherwise, leave the workspace in place.
177
+ **Otherwise:** The host environment owns this workspace — leave it in
178
+ place. If your platform provides a workspace-exit tool, use it.
183
179
 
184
180
  ## Quick Reference
185
181
 
@@ -188,54 +184,18 @@ git worktree prune # Self-healing: clean up any stale registrations
188
184
  | 1. Merge locally | yes | - | - | yes |
189
185
  | 2. Create PR | - | yes | yes | - |
190
186
  | 3. Keep as-is | - | - | yes | - |
191
- | 4. Discard | - | - | - | yes (force) |
192
-
193
- ## Common Mistakes
194
-
195
- **Skipping test verification**
196
- - **Problem:** Merge broken code, create failing PR
197
- - **Fix:** Always verify tests before offering options
198
-
199
- **Open-ended questions**
200
- - **Problem:** "What should I do next?" is ambiguous
201
- - **Fix:** Present exactly 4 structured options (or 3 for detached HEAD)
202
-
203
- **Cleaning up worktree for Option 2**
204
- - **Problem:** Remove worktree user needs for PR iteration
205
- - **Fix:** Only cleanup for Options 1 and 4
206
-
207
- **Deleting branch before removing worktree**
208
- - **Problem:** `git branch -d` fails because worktree still references the branch
209
- - **Fix:** Merge first, remove worktree, then delete branch
210
-
211
- **Running git worktree remove from inside the worktree**
212
- - **Problem:** Command fails silently when CWD is inside the worktree being removed
213
- - **Fix:** Always `cd` to main repo root before `git worktree remove`
214
-
215
- **Cleaning up harness-owned worktrees**
216
- - **Problem:** Removing a worktree the harness created causes phantom state
217
- - **Fix:** Only clean up worktrees under `.worktrees/` or `worktrees/`
218
-
219
- **No confirmation for discard**
220
- - **Problem:** Accidentally delete work
221
- - **Fix:** Require typed "discard" confirmation
222
-
223
- ## Red Flags
224
-
225
- **Never:**
226
- - Proceed with failing tests
227
- - Merge without verifying tests on result
228
- - Delete work without confirmation
229
- - Force-push without explicit request
230
- - Remove a worktree before confirming merge success
231
- - Clean up worktrees you didn't create (provenance check)
232
- - Run `git worktree remove` from inside the worktree
233
-
234
- **Always:**
235
- - Verify tests before offering options
236
- - Detect environment before presenting menu
237
- - Present exactly 4 options (or 3 for detached HEAD)
238
- - Get typed confirmation for Option 4
239
- - Clean up worktree for Options 1 & 4 only
240
- - `cd` to main repo root before worktree removal
241
- - Run `git worktree prune` after removal
187
+ | Discard (explicit request only) | - | - | - | yes (force) |
188
+
189
+ ## Common Rationalizations
190
+
191
+ | Excuse | Reality |
192
+ |--------|---------|
193
+ | "Tests passed earlier this session" | Run the suite on the tree you are about to integrate. A green run only proves the tree it ran on. |
194
+ | "They obviously want it merged" | Integration is your human partner's decision. Present the menu and wait. |
195
+ | "They seem done with this feature — I'll offer to discard it" | The menu is complete as written. Discard happens only when your human partner asks for it in so many words. |
196
+ | "'Yeah, get rid of it' counts as confirmation" | Only the typed word `discard` authorizes deletion. |
197
+ | "The PR is up, so the worktree is clutter now" | PR feedback gets fixed in that worktree. It stays until the work lands. |
198
+ | "This other worktree looks stale — I'll clean it too" | Clean up only worktrees under `.worktrees/` or `worktrees/`. Everything else belongs to the host. |
199
+ | "The merged-result failure is probably flaky" | A failing merged result stops everything. Branch and worktree stay put while you investigate. |
200
+ | "The base branch is obviously main" | Confirm the fork point or ask. Merging into the wrong base is expensive to undo. |
201
+ | "The push was rejected — force-push will fix it" | A rejected push means the remote moved. Investigate; force-push only on your human partner's explicit request. |
@@ -203,11 +203,3 @@ You understand 1,2,3,6. Unclear on 4,5.
203
203
  ## GitHub Thread Replies
204
204
 
205
205
  When replying to inline review comments on GitHub, reply in the comment thread (`gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies`), not as a top-level PR comment.
206
-
207
- ## The Bottom Line
208
-
209
- **External feedback = suggestions to evaluate, not orders to follow.**
210
-
211
- Verify. Question. Then implement.
212
-
213
- No performative agreement. Technical rigor always.
@@ -5,7 +5,7 @@ description: Use when completing tasks, implementing major features, or before m
5
5
 
6
6
  # Requesting Code Review
7
7
 
8
- Dispatch a code reviewer subagent 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.
8
+ Dispatch a code reviewer subagent to catch issues before they cascade. The reviewer gets precisely crafted context for evaluation — never your session's history.
9
9
 
10
10
  **Core principle:** Review early, review often.
11
11
 
@@ -72,20 +72,12 @@ You: [Fix progress indicators]
72
72
  [Continue to Task 3]
73
73
  ```
74
74
 
75
- ## Integration with Workflows
75
+ ## Common Rationalizations
76
76
 
77
- **Subagent-Driven Development:**
78
- - Review after EACH task
79
- - Catch issues before they compound
80
- - Fix before moving to next task
81
-
82
- **Executing Plans:**
83
- - Review after each task or at natural checkpoints
84
- - Get feedback, apply, continue
85
-
86
- **Ad-Hoc Development:**
87
- - Review before merge
88
- - Review when stuck
77
+ | Excuse | Reality |
78
+ |--------|---------|
79
+ | "I'll just review the diff myself instead of dispatching a reviewer" | You're the coordinator — reviewing the diff inline burns the context window you need to keep driving the work. Dispatch a reviewer subagent: the diff and the evaluation live in its context, and only the findings come back to you. |
80
+ | "The reviewer needs my whole session history to understand the change" | Hand it precisely crafted context, never your session's history. That keeps the reviewer on the work product, not your thought process. |
89
81
 
90
82
  ## Red Flags
91
83