Skip to content

Commit 0d2863f

Browse files
alexeyvclaude
andauthored
fix: separate subagent launch from skill invocation in code review (#2069)
* fix: separate subagent launch from skill invocation in code review The step-02-review prompt fused "invoke skill X" with "in a subagent" into one instruction, causing LLMs to search for a named agent instead of launching a generic subagent that uses the skill. Aligns with the working pattern in quick-dev step-04: upfront gate with inline fallback, and "Invoke via the skill" as a separate concern from subagent setup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(code-review): address PR review findings on subagent fallback wording Capitalize "Markdown" (proper noun) in Acceptance Auditor prompt and simplify fallback trigger from "context-free subagents" to "subagents" to eliminate ambiguity about when the fallback activates. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a092209 commit 0d2863f

1 file changed

Lines changed: 8 additions & 15 deletions

File tree

src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,20 @@ failed_layers: '' # set at runtime: comma-separated list of layers that failed o
1313

1414
## INSTRUCTIONS
1515

16-
1. Launch parallel subagents. Each subagent gets NO conversation history from this session:
16+
1. If `{review_mode}` = `"no-spec"`, note to the user: "Acceptance Auditor skipped — no spec file provided."
1717

18-
- **Blind Hunter** -- Invoke the `bmad-review-adversarial-general` skill in a subagent. Pass `content` = `{diff_output}` only. No spec, no project access.
18+
2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
1919

20-
- **Edge Case Hunter** -- Invoke the `bmad-review-edge-case-hunter` skill in a subagent. Pass `content` = `{diff_output}`. This subagent has read access to the project.
20+
- **Blind Hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
2121

22-
- **Acceptance Auditor** (only if `{review_mode}` = `"full"`) -- A subagent that receives `{diff_output}`, the content of the file at `{spec_file}`, and any loaded context docs. Its prompt:
23-
> You are an Acceptance Auditor. Review this diff against the spec and context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
22+
- **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.
2423

25-
2. **Subagent failure handling**: If any subagent fails, times out, or returns empty results, append the layer name to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
24+
- **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — receives `{diff_output}`, the content of the file at `{spec_file}`, and any loaded context docs. Its prompt:
25+
> You are an Acceptance Auditor. Review this diff against the spec and context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a Markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
2626
27-
3. If `{review_mode}` = `"no-spec"`, note to the user: "Acceptance Auditor skipped — no spec file provided."
27+
3. **Subagent failure handling**: If any subagent fails, times out, or returns empty results, append the layer name to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
2828

29-
4. **Fallback** (if subagents are not available): Generate prompt files in `{implementation_artifacts}` -- one per active reviewer:
30-
- `review-blind-hunter.md` (always)
31-
- `review-edge-case-hunter.md` (always)
32-
- `review-acceptance-auditor.md` (only if `{review_mode}` = `"full"`)
33-
34-
HALT. Tell the user to run each prompt in a separate session and paste back findings. When findings are pasted, resume from this point and proceed to step 3.
35-
36-
5. Collect all findings from the completed layers.
29+
4. Collect all findings from the completed layers.
3730

3831

3932
## NEXT

0 commit comments

Comments
 (0)