@ikunin/sprintpilot 2.3.0 → 2.3.1
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.
- package/README.md +2 -8
- package/_Sprintpilot/Sprintpilot.md +0 -2
- package/_Sprintpilot/manifest.yaml +1 -3
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/architecture-mapper.md +10 -8
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/concerns-hunter.md +11 -9
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/integration-mapper.md +11 -9
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/quality-assessor.md +10 -8
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/stack-analyzer.md +11 -9
- package/_Sprintpilot/skills/sprintpilot-codebase-map/workflow.md +1 -1
- package/lib/commands/install.js +0 -2
- package/package.json +1 -1
- package/_Sprintpilot/skills/sprintpilot-code-review/SKILL.md +0 -6
- package/_Sprintpilot/skills/sprintpilot-code-review/agents/acceptance-auditor.md +0 -51
- package/_Sprintpilot/skills/sprintpilot-code-review/agents/blind-hunter.md +0 -39
- package/_Sprintpilot/skills/sprintpilot-code-review/agents/edge-case-hunter.md +0 -46
- package/_Sprintpilot/skills/sprintpilot-code-review/workflow.md +0 -111
- package/_Sprintpilot/skills/sprintpilot-party-mode/SKILL.md +0 -6
- package/_Sprintpilot/skills/sprintpilot-party-mode/workflow.md +0 -138
package/README.md
CHANGED
|
@@ -192,13 +192,11 @@ Full handoff report format + ledger semantics: [docs/USAGE.md](docs/USAGE.md#han
|
|
|
192
192
|
| `/sprint-autopilot-on` | Engage autonomous sprint execution |
|
|
193
193
|
| `/sprint-autopilot-off` | Disengage and show status |
|
|
194
194
|
| `/sprintpilot-update` | Check for updates and install the latest version |
|
|
195
|
-
| `/sprintpilot-code-review` | Parallel 3-layer adversarial code review |
|
|
196
195
|
| `/sprintpilot-codebase-map` | 5-stream brownfield codebase analysis |
|
|
197
196
|
| `/sprintpilot-assess` | Tech debt, dependency audit, migration assessment |
|
|
198
197
|
| `/sprintpilot-reverse-architect` | Extract architecture document from existing code |
|
|
199
198
|
| `/sprintpilot-migrate` | 12-step legacy migration planning |
|
|
200
199
|
| `/sprintpilot-research` | Parallel web research fan-out |
|
|
201
|
-
| `/sprintpilot-party-mode` | Multi-persona BMad agent discussions |
|
|
202
200
|
|
|
203
201
|
Multi-agent skill internals: [docs/USAGE.md](docs/USAGE.md#multi-agent-skills).
|
|
204
202
|
|
|
@@ -348,11 +346,9 @@ Decision matrix and additional knobs: [`modules/git/branching-and-pr-strategy.md
|
|
|
348
346
|
|
|
349
347
|
## Multi-Agent Intelligence
|
|
350
348
|
|
|
351
|
-
Beyond the autopilot,
|
|
349
|
+
Beyond the autopilot, multi-agent skills launch parallel subagents for tasks that benefit from diverse perspectives.
|
|
352
350
|
|
|
353
|
-
**`/sprintpilot-
|
|
354
|
-
|
|
355
|
-
**`/sprintpilot-codebase-map`** — 5 parallel agents scan an existing codebase: stack, architecture, quality, concerns, integrations. Output under `_bmad-output/codebase-analysis/`.
|
|
351
|
+
**`/sprintpilot-codebase-map`** — 5 parallel agents scan an existing codebase: stack, architecture, quality, concerns, integrations. Output under `_bmad-output/codebase-analysis/`. Inspired by [GSD's map-codebase](https://github.com/gsd-build/get-shit-done) — see [NOTICES.md](NOTICES.md).
|
|
356
352
|
|
|
357
353
|
**`/sprintpilot-assess`** — Dependency auditor (CVEs), debt classifier (prioritized), migration analyzer. Output: prioritized findings with severity / confidence / effort.
|
|
358
354
|
|
|
@@ -362,8 +358,6 @@ Beyond the autopilot, 7 multi-agent skills launch parallel subagents for tasks t
|
|
|
362
358
|
|
|
363
359
|
**`/sprintpilot-research`** — Fan out research across multiple topics in parallel; synthesized into a unified report.
|
|
364
360
|
|
|
365
|
-
**`/sprintpilot-party-mode`** — 2–3 BMad personas (architect, PM, QA, dev) debate a topic over multiple rounds. Output: consensus points, disagreements, action items.
|
|
366
|
-
|
|
367
361
|
Skill internals + output schemas: [docs/USAGE.md](docs/USAGE.md#multi-agent-skills).
|
|
368
362
|
|
|
369
363
|
## Requirements
|
|
@@ -178,13 +178,11 @@ These launch parallel subagents for deeper, faster analysis:
|
|
|
178
178
|
|
|
179
179
|
| Skill | Agents | When to use |
|
|
180
180
|
|-------|--------|-------------|
|
|
181
|
-
| `sprintpilot-code-review` | 3 | Parallel adversarial code review (Blind Hunter + Edge Case + Acceptance) |
|
|
182
181
|
| `sprintpilot-codebase-map` | 5 | Brownfield codebase mapping (stack, architecture, quality, concerns, integrations) |
|
|
183
182
|
| `sprintpilot-assess` | 3 | Tech debt assessment (dependency audit, debt classification, migration analysis) |
|
|
184
183
|
| `sprintpilot-reverse-architect` | 3 | Extract architecture from existing code (components, data flow, patterns) |
|
|
185
184
|
| `sprintpilot-migrate` | 4 | Full migration planning — 12 steps from current stack to target stack |
|
|
186
185
|
| `sprintpilot-research` | N | Parallel research fan-out with web search |
|
|
187
|
-
| `sprintpilot-party-mode` | 2-3 | Multi-persona discussion (architect, PM, QA, etc. debating in parallel) |
|
|
188
186
|
|
|
189
187
|
### Brownfield analysis pipeline
|
|
190
188
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
addon:
|
|
2
2
|
name: sprintpilot
|
|
3
|
-
version: 2.3.
|
|
3
|
+
version: 2.3.1
|
|
4
4
|
description: Sprintpilot — autopilot and multi-agent addon for BMad Method (git workflow, parallel agents, autonomous story execution)
|
|
5
5
|
bmad_compatibility: ">=6.2.0"
|
|
6
6
|
modules:
|
|
@@ -17,13 +17,11 @@ addon:
|
|
|
17
17
|
- sprint-autopilot-on
|
|
18
18
|
- sprint-autopilot-off
|
|
19
19
|
- sprintpilot-update
|
|
20
|
-
- sprintpilot-code-review
|
|
21
20
|
- sprintpilot-codebase-map
|
|
22
21
|
- sprintpilot-assess
|
|
23
22
|
- sprintpilot-reverse-architect
|
|
24
23
|
- sprintpilot-migrate
|
|
25
24
|
- sprintpilot-research
|
|
26
|
-
- sprintpilot-party-mode
|
|
27
25
|
- sprintpilot-plan-sprint
|
|
28
26
|
- sprintpilot-sprint-progress
|
|
29
27
|
- sprintpilot-dependency-graph
|
|
@@ -6,18 +6,20 @@ You are analyzing a codebase to identify system design patterns, module boundari
|
|
|
6
6
|
|
|
7
7
|
Scan the project at `{{project_root}}` and write your findings to `{{output_file}}`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Output standard
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
11
|
+
- **Show structure, don't just enumerate it.** Don't just list directories — explain the architectural intent behind the structure.
|
|
12
|
+
- **Commit to a definite finding.** Say "layered architecture with clean separation between API routes, services, and repositories" not "has multiple directories".
|
|
13
|
+
- **Cite the file path for every claim.** No assertion without evidence.
|
|
14
14
|
- **Focus on boundaries.** What talks to what? Where are the seams?
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Off-limits files
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
18
|
+
Do not open these. Note their existence in the file inventory but never read or quote their contents:
|
|
19
|
+
|
|
20
|
+
- environment files (`.env`, `.env.<variant>`)
|
|
21
|
+
- private keys and certs (`*.key`, `*.pem`, `*.p12`)
|
|
22
|
+
- credential blobs (`credentials.json`, `service-account.json`)
|
|
21
23
|
|
|
22
24
|
## Ignore-file Awareness
|
|
23
25
|
|
|
@@ -6,19 +6,21 @@ You are scanning a codebase for tech debt, security issues, deprecated patterns,
|
|
|
6
6
|
|
|
7
7
|
Scan the project at `{{project_root}}` and write your findings to `{{output_file}}`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Output standard
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
11
|
+
- **Look for systemic patterns, not isolated counts.** Don't just count TODOs — assess systemic debt patterns.
|
|
12
|
+
- **Commit to a definite finding.** Say "12 TODO comments in auth module suggest incomplete migration from session-based to JWT auth" not "found some TODOs".
|
|
13
|
+
- **Cite a file path and line number for every claim.**
|
|
14
14
|
- **Severity must be justified.** CRITICAL = blocks features or security risk. HIGH = degrades reliability. MEDIUM = maintenance burden. LOW = cleanup opportunity.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Off-limits files
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
18
|
+
Do not open these. Note their existence in the file inventory but never read or quote their contents:
|
|
19
|
+
|
|
20
|
+
- environment files (`.env`, `.env.<variant>`)
|
|
21
|
+
- private keys and certs (`*.key`, `*.pem`, `*.p12`)
|
|
22
|
+
- credential blobs (`credentials.json`, `service-account.json`)
|
|
23
|
+
- anything under `.git/`
|
|
22
24
|
|
|
23
25
|
## Ignore-file Awareness
|
|
24
26
|
|
|
@@ -6,20 +6,22 @@ You are mapping all external dependencies, APIs, services, and data stores that
|
|
|
6
6
|
|
|
7
7
|
Scan the project at `{{project_root}}` and write your findings to `{{output_file}}`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Output standard
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
11
|
+
- **Describe the topology, not just the catalog.** Don't just list env vars — explain the integration topology.
|
|
12
|
+
- **Commit to a definite finding.** Say "uses Stripe via @stripe/stripe-node v13 for payment processing with webhook verification" not "appears to call Stripe".
|
|
13
|
+
- **Cite the file path for every claim.** No assertion without evidence.
|
|
14
14
|
- **Redact actual secrets.** Show variable names and patterns only. NEVER output real tokens, keys, or passwords.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Off-limits files
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
- `*.key`, `*.pem`, `*.p12` (private keys)
|
|
20
|
-
- `credentials.json`, `service-account.json`
|
|
18
|
+
Do not open these. Note their existence but never quote contents:
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
- environment files holding real values (`.env`, `.env.local`, `.env.production`)
|
|
21
|
+
- private keys and certs (`*.key`, `*.pem`, `*.p12`)
|
|
22
|
+
- credential blobs (`credentials.json`, `service-account.json`)
|
|
23
|
+
|
|
24
|
+
**OK to read**: `.env.example`, `.env.sample`, `.env.template` — these contain variable names only, no secrets.
|
|
23
25
|
|
|
24
26
|
## Ignore-file Awareness
|
|
25
27
|
|
|
@@ -6,18 +6,20 @@ You are analyzing a codebase to assess code quality, test coverage, CI/CD maturi
|
|
|
6
6
|
|
|
7
7
|
Scan the project at `{{project_root}}` and write your findings to `{{output_file}}`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Output standard
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
11
|
+
- **Assess strategy, don't just tally artifacts.** Don't just count test files — assess whether the test strategy is sound.
|
|
12
|
+
- **Commit to a definite finding.** Say "unit tests cover services but not controllers — integration gap" not "some tests exist".
|
|
13
|
+
- **Cite the file path for every claim.** No assertion without evidence.
|
|
14
14
|
- **Ratios tell the story.** Test:source ratio, coverage gaps, CI stage completeness.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Off-limits files
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
18
|
+
Do not open these. Note their existence in the file inventory but never read or quote their contents:
|
|
19
|
+
|
|
20
|
+
- environment files (`.env`, `.env.<variant>`)
|
|
21
|
+
- private keys and certs (`*.key`, `*.pem`, `*.p12`)
|
|
22
|
+
- credential blobs (`credentials.json`, `service-account.json`)
|
|
21
23
|
|
|
22
24
|
## Ignore-file Awareness
|
|
23
25
|
|
|
@@ -6,19 +6,21 @@ You are analyzing a codebase to produce a complete technology inventory.
|
|
|
6
6
|
|
|
7
7
|
Scan the project at `{{project_root}}` and write your findings to `{{output_file}}`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Output standard
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
11
|
+
- **Show how parts connect.** Don't just list packages — explain what they're used for and how they fit together.
|
|
12
|
+
- **Commit to a definite finding.** Say "uses React 18 with Server Components" not "appears to use React".
|
|
13
|
+
- **Cite the file path for every claim.** No assertion without evidence (e.g., `package.json:15`).
|
|
14
14
|
- **Version numbers are critical.** Always include the exact version, not "latest" or "recent".
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Off-limits files
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
18
|
+
Do not open these. Note their existence in the file inventory but never read or quote their contents:
|
|
19
|
+
|
|
20
|
+
- environment files (`.env`, `.env.<variant>`)
|
|
21
|
+
- private keys and certs (`*.key`, `*.pem`, `*.p12`)
|
|
22
|
+
- credential blobs (`credentials.json`, `service-account.json`)
|
|
23
|
+
- anything whose filename contains `secret`, `password`, or `token`
|
|
22
24
|
|
|
23
25
|
## Ignore-file Awareness
|
|
24
26
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Multi-Agent Codebase Map
|
|
2
2
|
|
|
3
|
-
> Inspired by [GSD's map-codebase](https://github.com/gsd-build/get-shit-done). Adapted with distinct output format and
|
|
3
|
+
> Inspired by [GSD's map-codebase](https://github.com/gsd-build/get-shit-done) (MIT, Copyright (c) 2025 Lex Christopherson). Adapted with distinct output format and rewritten agent prompts. Full attribution: [NOTICES.md](../../../NOTICES.md).
|
|
4
4
|
|
|
5
5
|
## Purpose
|
|
6
6
|
|
package/lib/commands/install.js
CHANGED
|
@@ -1714,13 +1714,11 @@ async function runInstall(options = {}) {
|
|
|
1714
1714
|
console.log(' autopilot start --no-auto-plan Skip auto-planning for one session');
|
|
1715
1715
|
console.log('');
|
|
1716
1716
|
console.log('Multi-agent skills — run parallel subagents for faster analysis:');
|
|
1717
|
-
console.log(' /sprintpilot-code-review Parallel 3-layer adversarial review');
|
|
1718
1717
|
console.log(' /sprintpilot-codebase-map 5-stream brownfield codebase analysis');
|
|
1719
1718
|
console.log(' /sprintpilot-assess Tech debt and dependency audit');
|
|
1720
1719
|
console.log(' /sprintpilot-reverse-architect Extract architecture from existing code');
|
|
1721
1720
|
console.log(' /sprintpilot-migrate Legacy migration planning');
|
|
1722
1721
|
console.log(' /sprintpilot-research Parallel web research');
|
|
1723
|
-
console.log(' /sprintpilot-party-mode Multi-persona agent discussions');
|
|
1724
1722
|
console.log('');
|
|
1725
1723
|
console.log('Documentation:');
|
|
1726
1724
|
console.log(' Sprint planning walkthrough: docs/USAGE.md');
|
package/package.json
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sprintpilot-code-review
|
|
3
|
-
description: 'Parallel 3-layer code review via subagents. Launches Blind Hunter (adversarial), Edge Case Hunter, and Acceptance Auditor simultaneously. Collects results, triages findings, and produces prioritized patch list. Use instead of stock bmad-code-review for deeper, faster reviews.'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Follow the instructions in ./workflow.md.
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Acceptance Auditor — Code Review Agent
|
|
2
|
-
|
|
3
|
-
You are a QA auditor verifying that the implementation satisfies the story's acceptance criteria. You have the diff, the story file, and project access.
|
|
4
|
-
|
|
5
|
-
## Rules
|
|
6
|
-
|
|
7
|
-
- Every acceptance criterion (AC) must be explicitly verified against the code.
|
|
8
|
-
- If an AC is NOT covered by the implementation, flag it as MISSING.
|
|
9
|
-
- If an AC is partially covered, flag what's missing.
|
|
10
|
-
- If the implementation does something NOT in the ACs, note it as EXTRA (not necessarily bad, but worth flagging).
|
|
11
|
-
- Cap your response at 2000 tokens.
|
|
12
|
-
|
|
13
|
-
## What to Check
|
|
14
|
-
|
|
15
|
-
For each acceptance criterion in the story:
|
|
16
|
-
1. **Implemented?** — Is there code that addresses this criterion?
|
|
17
|
-
2. **Tested?** — Is there a test that verifies this criterion?
|
|
18
|
-
3. **Correct?** — Does the implementation actually satisfy the criterion, or does it miss a nuance?
|
|
19
|
-
|
|
20
|
-
Also check:
|
|
21
|
-
4. **Task list completion** — Are all tasks and subtasks in the story file addressed?
|
|
22
|
-
5. **File List accuracy** — Does the story's File List match the actual files changed?
|
|
23
|
-
6. **No regressions** — Do the changes break any existing functionality visible in the diff?
|
|
24
|
-
|
|
25
|
-
## Output Format
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
## AC Verification
|
|
29
|
-
|
|
30
|
-
| AC | Status | Evidence | Notes |
|
|
31
|
-
|----|--------|----------|-------|
|
|
32
|
-
| AC-1: <text> | PASS/FAIL/PARTIAL | file:line | ... |
|
|
33
|
-
| AC-2: <text> | PASS/FAIL/PARTIAL | file:line | ... |
|
|
34
|
-
|
|
35
|
-
## Issues Found
|
|
36
|
-
|
|
37
|
-
1. [SEVERITY] AC-N not satisfied — file:line
|
|
38
|
-
What's missing: ...
|
|
39
|
-
Suggested fix: ...
|
|
40
|
-
|
|
41
|
-
2. ...
|
|
42
|
-
|
|
43
|
-
## Extra (not in ACs)
|
|
44
|
-
- <description of extra behavior>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
If all ACs pass, say "All acceptance criteria verified" with the evidence table.
|
|
48
|
-
|
|
49
|
-
## Story and Diff
|
|
50
|
-
|
|
51
|
-
The story file content and diff follow below. Review them now.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Blind Hunter — Adversarial Code Review Agent
|
|
2
|
-
|
|
3
|
-
You are a ruthless code reviewer. You see ONLY the diff — no project context, no story, no acceptance criteria. Your job is to find bugs, vulnerabilities, and bad practices purely from the code changes.
|
|
4
|
-
|
|
5
|
-
## Rules
|
|
6
|
-
|
|
7
|
-
- You have NO project context. Do not ask for it. Review only what you see.
|
|
8
|
-
- Be specific: cite exact file paths and line numbers.
|
|
9
|
-
- Focus on things that will break in production, not style preferences.
|
|
10
|
-
- Cap your response at 2000 tokens. Be concise.
|
|
11
|
-
|
|
12
|
-
## What to Look For
|
|
13
|
-
|
|
14
|
-
1. **Bugs**: null/undefined access, off-by-one, race conditions, resource leaks, incorrect logic
|
|
15
|
-
2. **Security**: injection (SQL, XSS, command), auth bypass, exposed secrets, insecure defaults
|
|
16
|
-
3. **Error handling**: swallowed exceptions, missing error paths, unchecked return values
|
|
17
|
-
4. **Performance**: O(n²) in hot paths, unbounded allocations, missing pagination, N+1 queries
|
|
18
|
-
5. **Type safety**: unchecked casts, any/unknown abuse, missing validation at boundaries
|
|
19
|
-
|
|
20
|
-
## Output Format
|
|
21
|
-
|
|
22
|
-
Return findings as a numbered list:
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
1. [SEVERITY] file:line — Title
|
|
26
|
-
Description of the issue.
|
|
27
|
-
Suggested fix: ...
|
|
28
|
-
|
|
29
|
-
2. [SEVERITY] file:line — Title
|
|
30
|
-
...
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Severity: CRITICAL, HIGH, MEDIUM, LOW
|
|
34
|
-
|
|
35
|
-
If the diff looks clean, say "No issues found" — do not manufacture findings.
|
|
36
|
-
|
|
37
|
-
## Diff to Review
|
|
38
|
-
|
|
39
|
-
The diff follows below. Review it now.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Edge Case Hunter — Code Review Agent
|
|
2
|
-
|
|
3
|
-
You are a methodical edge case analyst. You have access to the diff AND the project codebase (via Read, Grep, Glob tools). Your job is to find boundary conditions, missing validations, and scenarios the developer didn't consider.
|
|
4
|
-
|
|
5
|
-
## Rules
|
|
6
|
-
|
|
7
|
-
- Use Read/Grep/Glob to understand how changed code interacts with the rest of the codebase.
|
|
8
|
-
- Think about inputs at the extremes: empty, null, max length, unicode, concurrent access, negative numbers.
|
|
9
|
-
- Focus on cases that the tests probably DON'T cover.
|
|
10
|
-
- Cap your response at 2000 tokens. Be concise.
|
|
11
|
-
|
|
12
|
-
## What to Look For
|
|
13
|
-
|
|
14
|
-
1. **Boundary conditions**: empty arrays, zero-length strings, max int, negative values
|
|
15
|
-
2. **Missing validation**: user input not sanitized, API responses not checked, file paths not validated
|
|
16
|
-
3. **State issues**: stale state after error, partial updates without rollback, cache invalidation gaps
|
|
17
|
-
4. **Concurrency**: shared mutable state, missing locks, TOCTOU races
|
|
18
|
-
5. **Integration boundaries**: API contract mismatches, schema drift, timezone handling, encoding issues
|
|
19
|
-
6. **Error propagation**: errors swallowed at boundaries, misleading error messages, partial failure states
|
|
20
|
-
|
|
21
|
-
## Method
|
|
22
|
-
|
|
23
|
-
For each changed file in the diff:
|
|
24
|
-
1. Read the full file (not just the diff) to understand context
|
|
25
|
-
2. Grep for callers of changed functions to assess blast radius
|
|
26
|
-
3. Think: "What input would make this fail?"
|
|
27
|
-
4. Think: "What happens if the thing this calls fails?"
|
|
28
|
-
|
|
29
|
-
## Output Format
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
1. [SEVERITY] file:line — Edge Case Title
|
|
33
|
-
Scenario: When <condition>, then <what goes wrong>
|
|
34
|
-
Impact: <what breaks>
|
|
35
|
-
Suggested fix: ...
|
|
36
|
-
|
|
37
|
-
2. ...
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Severity: CRITICAL, HIGH, MEDIUM, LOW
|
|
41
|
-
|
|
42
|
-
If no edge cases found, say "No edge cases identified" — do not manufacture findings.
|
|
43
|
-
|
|
44
|
-
## Diff to Review
|
|
45
|
-
|
|
46
|
-
The diff follows below. Review it now, then explore the codebase as needed.
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# Multi-Agent Code Review
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Perform a thorough code review using 3 parallel subagents, each with a different review lens. Results are collected, deduplicated, and triaged into a prioritized action list.
|
|
6
|
-
|
|
7
|
-
## When to Use
|
|
8
|
-
|
|
9
|
-
Use this instead of stock `bmad-code-review` when you want deeper coverage. The autopilot can be configured to call this automatically.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Step 1 — Gather Context
|
|
14
|
-
|
|
15
|
-
<action>Identify the story being reviewed from sprint-status.yaml or user input.</action>
|
|
16
|
-
<action>Generate the diff to review:
|
|
17
|
-
```bash
|
|
18
|
-
git diff origin/main...HEAD --unified=5
|
|
19
|
-
```
|
|
20
|
-
If the diff exceeds 3000 lines, summarize by file and only pass relevant sections to agents.
|
|
21
|
-
Save full diff to `review-diff.txt` for agent reference.
|
|
22
|
-
</action>
|
|
23
|
-
<action>Read the story file to extract acceptance criteria.</action>
|
|
24
|
-
<action>Set `{{diff_file}}` = path to review-diff.txt</action>
|
|
25
|
-
<action>Set `{{story_file}}` = path to story file</action>
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Step 2 — Launch 3 Review Agents in Parallel
|
|
30
|
-
|
|
31
|
-
Launch ALL THREE agents in a **single message** using the Agent tool. Each agent gets its own inlined prompt (not a Skill reference).
|
|
32
|
-
|
|
33
|
-
<critical>
|
|
34
|
-
All 3 Agent calls MUST be in the same message to run in parallel.
|
|
35
|
-
Each agent's result is capped at ~2000 tokens via structured output instructions.
|
|
36
|
-
</critical>
|
|
37
|
-
|
|
38
|
-
### Agent 1: Blind Hunter (Adversarial Review)
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
Agent(
|
|
42
|
-
description: "Blind adversarial code review",
|
|
43
|
-
prompt: <read from ./agents/blind-hunter.md, append diff content or diff_file path>
|
|
44
|
-
)
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Agent 2: Edge Case Hunter
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
Agent(
|
|
51
|
-
description: "Edge case analysis",
|
|
52
|
-
prompt: <read from ./agents/edge-case-hunter.md, append diff content or diff_file path>
|
|
53
|
-
)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Agent 3: Acceptance Auditor
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
Agent(
|
|
60
|
-
description: "Acceptance criteria audit",
|
|
61
|
-
prompt: <read from ./agents/acceptance-auditor.md, append diff content + story file content>
|
|
62
|
-
)
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Step 3 — Triage Results
|
|
68
|
-
|
|
69
|
-
<action>Collect all 3 agent results.</action>
|
|
70
|
-
|
|
71
|
-
<action>For each finding, classify:
|
|
72
|
-
- **PATCH** — concrete code fix needed, actionable
|
|
73
|
-
- **WARN** — valid concern but no code change needed (document for awareness)
|
|
74
|
-
- **DISMISS** — false positive, not applicable, or already handled
|
|
75
|
-
|
|
76
|
-
Deduplication rules:
|
|
77
|
-
- Same file + same line range + same concern → merge into one finding
|
|
78
|
-
- **Contradictory findings** (Agent A says "add check", Agent B says "remove check"):
|
|
79
|
-
→ If Acceptance Auditor cites an AC → Acceptance Auditor wins
|
|
80
|
-
→ Otherwise → classify as `decision_needed` and flag for user
|
|
81
|
-
</action>
|
|
82
|
-
|
|
83
|
-
<action>Produce the triage report:
|
|
84
|
-
|
|
85
|
-
```markdown
|
|
86
|
-
## Code Review — Triage Report
|
|
87
|
-
|
|
88
|
-
### PATCH (apply these)
|
|
89
|
-
1. **[P1]** {title} — {file}:{line} — {description} — Source: {agent}
|
|
90
|
-
2. **[P2]** ...
|
|
91
|
-
|
|
92
|
-
### WARN (acknowledge, no code change)
|
|
93
|
-
1. **[W1]** {title} — {description} — Source: {agent}
|
|
94
|
-
|
|
95
|
-
### DISMISSED
|
|
96
|
-
1. **[D1]** {reason} — Source: {agent}
|
|
97
|
-
|
|
98
|
-
### DECISION NEEDED (contradictory or ambiguous)
|
|
99
|
-
1. **[DN1]** {description} — Agent A says: ... / Agent B says: ...
|
|
100
|
-
```
|
|
101
|
-
</action>
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Step 4 — Output
|
|
106
|
-
|
|
107
|
-
<action>Present the triage report to the caller (autopilot or user).</action>
|
|
108
|
-
<action>If running under autopilot: the autopilot will auto-apply all PATCH findings and commit each one.</action>
|
|
109
|
-
<action>If running manually: present findings and ask user which to apply.</action>
|
|
110
|
-
|
|
111
|
-
<action>Suggest next step: "Apply patches, then run full test suite."</action>
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sprintpilot-party-mode
|
|
3
|
-
description: 'Real parallel multi-agent discussions. Select 2-3 BMad Method agent personas per round, launch them simultaneously with a topic, collect responses as a discussion round. Supports multiple rounds. Use when you need diverse perspectives from BMad personas (architect, PM, QA, etc.) debating in parallel rather than sequentially.'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Follow the instructions in ./workflow.md.
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
# Multi-Agent Party Mode
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Run real parallel multi-persona discussions. Instead of sequentially role-playing each persona (as stock `bmad-party-mode` does), this launches 2-3 Agent subagents simultaneously, each embodying a different BMAD persona. Results are collected and presented as a discussion round.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Step 1 — Setup
|
|
10
|
-
|
|
11
|
-
<action>Get from user or context:
|
|
12
|
-
- **Topic/Question**: what to discuss
|
|
13
|
-
- **Personas**: which BMAD personas to include (2-3 per round)
|
|
14
|
-
Available: analyst, architect, pm, dev, qa, ux-designer, tech-writer, sm
|
|
15
|
-
- **Context files**: any project artifacts to provide as context (PRD, architecture, etc.)
|
|
16
|
-
- **Rounds**: how many discussion rounds (default: 2)
|
|
17
|
-
|
|
18
|
-
If not specified, recommend a relevant set based on the topic:
|
|
19
|
-
- Architecture decisions → architect, dev, qa
|
|
20
|
-
- Product direction → pm, analyst, ux-designer
|
|
21
|
-
- Implementation approach → dev, architect, qa
|
|
22
|
-
- Process/workflow → sm, pm, dev
|
|
23
|
-
</action>
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Step 2 — Load Persona Definitions
|
|
28
|
-
|
|
29
|
-
<action>For each selected persona, read the agent definition from BMAD:
|
|
30
|
-
- `{project-root}/_bmad/_config/agents/` — look for persona YAML files
|
|
31
|
-
- Or look in the installed skills directory for `bmad-agent-{persona}/SKILL.md`
|
|
32
|
-
|
|
33
|
-
Extract the persona's:
|
|
34
|
-
- Role description
|
|
35
|
-
- Expertise areas
|
|
36
|
-
- Communication style
|
|
37
|
-
- Key concerns/priorities
|
|
38
|
-
</action>
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Step 3 — Run Discussion Rounds
|
|
43
|
-
|
|
44
|
-
For each round (1 to {{num_rounds}}):
|
|
45
|
-
|
|
46
|
-
<critical>Launch ALL persona agents for this round in a single message.</critical>
|
|
47
|
-
|
|
48
|
-
For each persona in this round:
|
|
49
|
-
```
|
|
50
|
-
Agent(
|
|
51
|
-
description: "{persona_name} perspective on {topic}",
|
|
52
|
-
prompt: "You are the {persona_name} on a BMAD development team.
|
|
53
|
-
|
|
54
|
-
## Your Role
|
|
55
|
-
{persona_description}
|
|
56
|
-
|
|
57
|
-
## Your Priorities
|
|
58
|
-
{persona_priorities}
|
|
59
|
-
|
|
60
|
-
## Discussion Topic
|
|
61
|
-
{topic}
|
|
62
|
-
|
|
63
|
-
## Context
|
|
64
|
-
{project_context_files_content}
|
|
65
|
-
|
|
66
|
-
## Previous Round Discussion
|
|
67
|
-
{previous_round_responses — empty for round 1}
|
|
68
|
-
|
|
69
|
-
## Instructions
|
|
70
|
-
|
|
71
|
-
Respond to the topic from your persona's perspective.
|
|
72
|
-
- State your position clearly
|
|
73
|
-
- Raise concerns specific to your role
|
|
74
|
-
- Propose concrete actions
|
|
75
|
-
- If responding to previous round: agree, disagree, or build on other personas' points
|
|
76
|
-
- Be direct and specific, not generic
|
|
77
|
-
|
|
78
|
-
Cap response at 1000 tokens."
|
|
79
|
-
)
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
<action>Collect all responses for this round.</action>
|
|
83
|
-
|
|
84
|
-
<action>Present the round:
|
|
85
|
-
|
|
86
|
-
```markdown
|
|
87
|
-
## Round {{round_number}}
|
|
88
|
-
|
|
89
|
-
### {Persona 1 Name} ({role})
|
|
90
|
-
{response}
|
|
91
|
-
|
|
92
|
-
### {Persona 2 Name} ({role})
|
|
93
|
-
{response}
|
|
94
|
-
|
|
95
|
-
### {Persona 3 Name} ({role})
|
|
96
|
-
{response}
|
|
97
|
-
```
|
|
98
|
-
</action>
|
|
99
|
-
|
|
100
|
-
<action>For subsequent rounds, include previous round responses as context so personas can respond to each other.</action>
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Step 4 — Synthesis
|
|
105
|
-
|
|
106
|
-
After all rounds complete:
|
|
107
|
-
|
|
108
|
-
<action>Produce a synthesis:
|
|
109
|
-
|
|
110
|
-
```markdown
|
|
111
|
-
## Discussion Summary
|
|
112
|
-
|
|
113
|
-
### Topic
|
|
114
|
-
{topic}
|
|
115
|
-
|
|
116
|
-
### Participants
|
|
117
|
-
{persona list with roles}
|
|
118
|
-
|
|
119
|
-
### Points of Agreement
|
|
120
|
-
- ...
|
|
121
|
-
|
|
122
|
-
### Points of Disagreement
|
|
123
|
-
- {persona A} vs {persona B}: ...
|
|
124
|
-
Resolution suggestion: ...
|
|
125
|
-
|
|
126
|
-
### Action Items
|
|
127
|
-
1. [Owner: {persona}] {action}
|
|
128
|
-
2. ...
|
|
129
|
-
|
|
130
|
-
### Open Questions
|
|
131
|
-
- ...
|
|
132
|
-
|
|
133
|
-
### Recommendation
|
|
134
|
-
[Based on the discussion, what is the recommended path forward?]
|
|
135
|
-
```
|
|
136
|
-
</action>
|
|
137
|
-
|
|
138
|
-
<action>Ask user: "Continue with another topic, or apply these insights to the current workflow?"</action>
|