@ikunin/sprintpilot 2.2.31 → 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 +228 -415
- package/_Sprintpilot/Sprintpilot.md +76 -8
- package/_Sprintpilot/bin/autopilot.js +734 -68
- package/_Sprintpilot/lib/orchestrator/action-ledger.js +208 -0
- package/_Sprintpilot/lib/orchestrator/adapt.js +93 -15
- package/_Sprintpilot/lib/orchestrator/profile-rules.js +7 -16
- package/_Sprintpilot/lib/orchestrator/sprint-plan.js +488 -0
- package/_Sprintpilot/lib/orchestrator/state-store.js +9 -5
- package/_Sprintpilot/lib/orchestrator/user-command-applier.js +78 -0
- package/_Sprintpilot/lib/orchestrator/user-commands.js +114 -0
- package/_Sprintpilot/lib/orchestrator/verify.js +10 -17
- package/_Sprintpilot/manifest.yaml +4 -3
- package/_Sprintpilot/modules/autopilot/profiles/_base.yaml +18 -4
- package/_Sprintpilot/modules/git/config.yaml +15 -9
- package/_Sprintpilot/modules/ma/config.yaml +29 -27
- package/_Sprintpilot/scripts/dispatch-layer.js +12 -15
- package/_Sprintpilot/scripts/infer-dependencies.js +706 -254
- package/_Sprintpilot/scripts/log-timing.js +6 -10
- package/_Sprintpilot/scripts/merge-shards.js +21 -23
- package/_Sprintpilot/scripts/post-green-gates.js +3 -1
- package/_Sprintpilot/scripts/resolve-dag.js +452 -280
- package/_Sprintpilot/scripts/sprint-plan.js +1068 -0
- package/_Sprintpilot/scripts/state-shard.js +13 -5
- package/_Sprintpilot/scripts/summarize-timings.js +2 -3
- package/_Sprintpilot/skills/sprint-autopilot-on/SKILL.md +30 -2
- package/_Sprintpilot/skills/sprint-autopilot-on/workflow.orchestrator.md +36 -10
- 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/_Sprintpilot/skills/sprintpilot-dependency-graph/SKILL.md +63 -0
- package/_Sprintpilot/skills/sprintpilot-dependency-graph/workflow.md +227 -0
- package/_Sprintpilot/skills/sprintpilot-plan-sprint/SKILL.md +67 -0
- package/_Sprintpilot/skills/sprintpilot-plan-sprint/workflow.md +435 -0
- package/_Sprintpilot/skills/sprintpilot-sprint-progress/SKILL.md +53 -0
- package/_Sprintpilot/skills/sprintpilot-sprint-progress/workflow.md +169 -0
- package/lib/commands/install.js +186 -12
- 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
|
@@ -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>
|