@the-bearded-bear/claude-craft 5.6.0 → 5.7.0-next.bf058ea
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/Dev/i18n/en/Common/agents/ralph-conductor.md +50 -0
- package/Dev/i18n/en/Common/commands/full-audit.md +66 -0
- package/Dev/i18n/en/Common/commands/ralph-sprint.md +53 -1
- package/Dev/i18n/en/Common/commands/team-audit.md +310 -0
- package/Dev/i18n/en/Common/commands/team-security.md +325 -0
- package/Dev/i18n/en/Common/commands/team-sprint.md +243 -0
- package/README.md +10 -0
- package/Tools/AgentTeams/lib/compatibility-check.sh +883 -0
- package/Tools/AgentTeams/lib/cost-dashboard.sh +353 -0
- package/Tools/AgentTeams/lib/cost-estimator.sh +528 -0
- package/Tools/AgentTeams/lib/ralph-teams-adapter.sh +705 -0
- package/Tools/AgentTeams/lib/result-aggregator.sh +427 -0
- package/Tools/Ralph/lib/parallel-manager.sh +204 -18
- package/package.json +1 -1
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Security Review Team - Parallel multi-dimension security audit using Agent Teams
|
|
3
|
+
argument-hint: [--scope=full|code|deps|infra] [--max-workers=3]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Security Review Team - Parallel Multi-Dimension Security Audit
|
|
7
|
+
|
|
8
|
+
Orchestrate a comprehensive security audit using Claude Code Agent Teams (v2.1.32+). Spawns a security lead (opus) plus 3 specialized haiku reviewers, each analyzing a different security dimension in parallel: source code vulnerabilities, dependency/supply chain, and infrastructure/configuration.
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
$ARGUMENTS
|
|
13
|
+
|
|
14
|
+
- `--scope=full`: Audit scope (default: `full`). Options: `full`, `code`, `deps`, `infra`
|
|
15
|
+
- `--max-workers=3`: Maximum parallel reviewers (default: 3, max: 3)
|
|
16
|
+
- `--severity=medium`: Minimum severity to report: `low`, `medium`, `high`, `critical`
|
|
17
|
+
- `--output-dir=<path>`: Custom output directory for security results
|
|
18
|
+
- `--dry-run`: Show team composition and scan plan without executing
|
|
19
|
+
- `--sarif`: Output results in SARIF format (for CI/CD integration)
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- Claude Code v2.1.32+ with Agent Teams support
|
|
24
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` environment variable set
|
|
25
|
+
- Docker available for running security scanners
|
|
26
|
+
- `Tools/AgentTeams/lib/compatibility-check.sh` available
|
|
27
|
+
- `Tools/AgentTeams/lib/result-aggregator.sh` available
|
|
28
|
+
- `Tools/AgentTeams/lib/cost-estimator.sh` available
|
|
29
|
+
|
|
30
|
+
## Team Composition
|
|
31
|
+
|
|
32
|
+
| Role | Model | Agent | Responsibility |
|
|
33
|
+
|------|-------|-------|----------------|
|
|
34
|
+
| Security Lead | opus | Custom (team lead) | Orchestration, threat modeling, report |
|
|
35
|
+
| Code Reviewer | haiku | `{tech}-reviewer` | Source code vulnerability analysis |
|
|
36
|
+
| Dependency Auditor | haiku | `{tech}-reviewer` | Supply chain, CVE, license compliance |
|
|
37
|
+
| Infra Reviewer | haiku | `devops-engineer` or `docker-architect` | Container security, secrets, config |
|
|
38
|
+
|
|
39
|
+
**Team size**: 4 agents (1 lead + 3 workers). Fixed composition for security review.
|
|
40
|
+
|
|
41
|
+
## Process
|
|
42
|
+
|
|
43
|
+
### Step 1: Project Reconnaissance
|
|
44
|
+
|
|
45
|
+
The security lead performs initial reconnaissance:
|
|
46
|
+
|
|
47
|
+
1. Detect technology stacks (same as full-audit detection)
|
|
48
|
+
2. Identify entry points: API endpoints, forms, file uploads
|
|
49
|
+
3. Map the attack surface: public routes, authentication boundaries, data flows
|
|
50
|
+
4. Create threat model outline (STRIDE categories)
|
|
51
|
+
|
|
52
|
+
### Step 2: Compatibility Check
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Verify code reviewer agent has required tools
|
|
56
|
+
Tools/AgentTeams/lib/compatibility-check.sh \
|
|
57
|
+
--agent Dev/i18n/en/<Tech>/agents/<tech>-reviewer.md \
|
|
58
|
+
--require-tools Read,Glob,Grep,Bash
|
|
59
|
+
|
|
60
|
+
# Verify infra reviewer
|
|
61
|
+
Tools/AgentTeams/lib/compatibility-check.sh \
|
|
62
|
+
--agent Dev/i18n/en/Common/agents/devops-engineer.md \
|
|
63
|
+
--require-tools Read,Glob,Grep,Bash
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 3: Team Spawn (Fan-Out)
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Security Lead (opus) — orchestrates via TaskCreate/SendMessage
|
|
70
|
+
|
|
|
71
|
+
+-- [Parallel Reviewers] ------------------+
|
|
72
|
+
| Code Reviewer (haiku): Source analysis |
|
|
73
|
+
| Dependency Auditor (haiku): Supply chain |
|
|
74
|
+
| Infra Reviewer (haiku): Configuration |
|
|
75
|
+
+-------------------------------------------+
|
|
76
|
+
|
|
|
77
|
+
v (sync barrier)
|
|
78
|
+
|
|
|
79
|
+
Security Lead: Correlate, prioritize, report
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The lead creates 3 tasks via `TaskCreate`:
|
|
83
|
+
|
|
84
|
+
#### Task A: Source Code Security Review
|
|
85
|
+
|
|
86
|
+
**Scope**: Application source code vulnerability analysis
|
|
87
|
+
|
|
88
|
+
| Check | What to Look For | OWASP Category |
|
|
89
|
+
|-------|-----------------|----------------|
|
|
90
|
+
| Injection | SQL, NoSQL, OS command, LDAP injection patterns | A03:2021 |
|
|
91
|
+
| XSS | Unescaped output, innerHTML, dangerouslySetInnerHTML | A03:2021 |
|
|
92
|
+
| Authentication | Weak password policies, missing MFA, session fixation | A07:2021 |
|
|
93
|
+
| Authorization | Missing access controls, IDOR, privilege escalation | A01:2021 |
|
|
94
|
+
| Cryptography | Weak algorithms, hardcoded keys, insecure random | A02:2021 |
|
|
95
|
+
| Input Validation | Missing sanitization, type coercion, file upload | A03:2021 |
|
|
96
|
+
| Error Handling | Stack traces in responses, verbose errors | A05:2021 |
|
|
97
|
+
| Logging | Sensitive data in logs, missing audit trail | A09:2021 |
|
|
98
|
+
|
|
99
|
+
**Docker commands per stack**:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# PHP/Symfony
|
|
103
|
+
docker compose exec php vendor/bin/phpstan analyse --level=max
|
|
104
|
+
docker compose exec php php bin/console security:check
|
|
105
|
+
|
|
106
|
+
# React/Node
|
|
107
|
+
docker compose exec node npm run lint -- --rule 'no-eval: error'
|
|
108
|
+
docker compose exec node npx eslint --plugin security .
|
|
109
|
+
|
|
110
|
+
# Python
|
|
111
|
+
docker compose exec app bandit -r src/
|
|
112
|
+
docker compose exec app ruff check --select S .
|
|
113
|
+
|
|
114
|
+
# General (all stacks)
|
|
115
|
+
# Grep patterns for common vulnerabilities
|
|
116
|
+
# Search for: eval(, exec(, system(, shell_exec(, innerHTML, dangerouslySetInnerHTML
|
|
117
|
+
# Search for: hardcoded passwords, API keys, tokens in source
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### Task B: Dependency / Supply Chain Audit
|
|
121
|
+
|
|
122
|
+
**Scope**: Third-party dependency vulnerability and license analysis
|
|
123
|
+
|
|
124
|
+
| Check | What to Analyze |
|
|
125
|
+
|-------|----------------|
|
|
126
|
+
| Known CVEs | All direct and transitive dependencies |
|
|
127
|
+
| Severity | Critical and High CVEs requiring immediate action |
|
|
128
|
+
| License compliance | Copyleft licenses in proprietary projects |
|
|
129
|
+
| Outdated packages | Packages with available security patches |
|
|
130
|
+
| Typosquatting | Suspicious package names similar to popular packages |
|
|
131
|
+
| Unused deps | Dependencies declared but never imported |
|
|
132
|
+
|
|
133
|
+
**Docker commands per stack**:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# PHP
|
|
137
|
+
docker compose exec php composer audit --format=json
|
|
138
|
+
docker compose exec php composer outdated --direct
|
|
139
|
+
|
|
140
|
+
# Node/React/Angular/Vue
|
|
141
|
+
docker compose exec node npm audit --json
|
|
142
|
+
docker compose exec node npm outdated
|
|
143
|
+
|
|
144
|
+
# Python
|
|
145
|
+
docker compose exec app pip-audit --format=json
|
|
146
|
+
docker compose exec app pip list --outdated
|
|
147
|
+
|
|
148
|
+
# Flutter/Dart
|
|
149
|
+
docker run --rm -v $(pwd):/app -w /app dart dart pub outdated --json
|
|
150
|
+
|
|
151
|
+
# C#/.NET
|
|
152
|
+
docker compose exec app dotnet list package --vulnerable
|
|
153
|
+
docker compose exec app dotnet list package --outdated
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
#### Task C: Infrastructure / Configuration Security Review
|
|
157
|
+
|
|
158
|
+
**Scope**: Docker, deployment configuration, secrets management
|
|
159
|
+
|
|
160
|
+
| Check | What to Analyze |
|
|
161
|
+
|-------|----------------|
|
|
162
|
+
| Dockerfile security | Base image pinning, non-root user, multi-stage builds |
|
|
163
|
+
| Secrets exposure | .env files, hardcoded credentials, unencrypted secrets |
|
|
164
|
+
| Docker Compose | Privileged containers, exposed ports, volume mounts |
|
|
165
|
+
| Network policy | Unnecessary port exposure, missing network isolation |
|
|
166
|
+
| TLS/SSL | Certificate validation, protocol versions, cipher suites |
|
|
167
|
+
| CI/CD security | Secret injection, pipeline permissions, artifact integrity |
|
|
168
|
+
| File permissions | World-readable configs, .git exposure, backup files |
|
|
169
|
+
|
|
170
|
+
**Scan commands**:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# Docker security
|
|
174
|
+
docker compose config --quiet # Validate compose syntax
|
|
175
|
+
# Review Dockerfiles for: USER root, latest tags, ADD vs COPY
|
|
176
|
+
|
|
177
|
+
# Secrets scan
|
|
178
|
+
# Search for: .env files not in .gitignore
|
|
179
|
+
# Search for: AWS_SECRET, PRIVATE_KEY, password=, token= in source
|
|
180
|
+
# Search for: base64-encoded secrets, SSH keys in repo
|
|
181
|
+
|
|
182
|
+
# Configuration review
|
|
183
|
+
# Check: CORS policies, CSP headers, HSTS
|
|
184
|
+
# Check: Debug mode disabled in production configs
|
|
185
|
+
# Check: Rate limiting configured
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Step 4: Sync Barrier
|
|
189
|
+
|
|
190
|
+
Security lead waits for all 3 reviewer tasks to complete. Timeout: 8 minutes per reviewer. If a reviewer exceeds timeout, lead proceeds with available results and notes the gap.
|
|
191
|
+
|
|
192
|
+
### Step 5: Correlation and Prioritization
|
|
193
|
+
|
|
194
|
+
The security lead correlates findings across all 3 dimensions:
|
|
195
|
+
|
|
196
|
+
1. **Cross-reference**: A vulnerable dependency (Task B) used in an injection-prone code path (Task A) is elevated to Critical
|
|
197
|
+
2. **Attack chain analysis**: Combine findings to identify multi-step attack paths
|
|
198
|
+
3. **Deduplicate**: Same issue found by multiple reviewers is merged
|
|
199
|
+
4. **Prioritize**: Score each finding by severity x exploitability x impact
|
|
200
|
+
|
|
201
|
+
**Severity matrix**:
|
|
202
|
+
|
|
203
|
+
| Severity | CVSS Range | Response |
|
|
204
|
+
|----------|-----------|----------|
|
|
205
|
+
| Critical | 9.0 - 10.0 | Immediate fix required |
|
|
206
|
+
| High | 7.0 - 8.9 | Fix within current sprint |
|
|
207
|
+
| Medium | 4.0 - 6.9 | Plan for next sprint |
|
|
208
|
+
| Low | 0.1 - 3.9 | Backlog / accept risk |
|
|
209
|
+
|
|
210
|
+
### Step 6: Report Generation
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
================================================================
|
|
214
|
+
SECURITY REVIEW TEAM - Report
|
|
215
|
+
================================================================
|
|
216
|
+
|
|
217
|
+
Project: <project-name>
|
|
218
|
+
Date: YYYY-MM-DD
|
|
219
|
+
Scope: <full|code|deps|infra>
|
|
220
|
+
Team: 1 lead + 3 reviewers
|
|
221
|
+
|
|
222
|
+
================================================================
|
|
223
|
+
EXECUTIVE SUMMARY
|
|
224
|
+
================================================================
|
|
225
|
+
|
|
226
|
+
| Severity | Count |
|
|
227
|
+
|----------|-------|
|
|
228
|
+
| Critical | X |
|
|
229
|
+
| High | X |
|
|
230
|
+
| Medium | X |
|
|
231
|
+
| Low | X |
|
|
232
|
+
| Total | X |
|
|
233
|
+
|
|
234
|
+
Overall Risk Level: <Critical|High|Medium|Low>
|
|
235
|
+
|
|
236
|
+
================================================================
|
|
237
|
+
FINDINGS BY DIMENSION
|
|
238
|
+
================================================================
|
|
239
|
+
|
|
240
|
+
-- SOURCE CODE (Code Reviewer) --
|
|
241
|
+
|
|
242
|
+
| # | Severity | Category | File | Description |
|
|
243
|
+
|---|----------|----------|------|-------------|
|
|
244
|
+
| 1 | HIGH | A03:Injection | src/... | SQL injection in... |
|
|
245
|
+
| 2 | MEDIUM | A07:Auth | src/... | Weak password... |
|
|
246
|
+
|
|
247
|
+
-- DEPENDENCIES (Dependency Auditor) --
|
|
248
|
+
|
|
249
|
+
| # | Severity | Package | Version | CVE | Fix Available |
|
|
250
|
+
|---|----------|---------|---------|-----|---------------|
|
|
251
|
+
| 1 | CRITICAL | lib-x | 1.2.3 | CVE-2026-XXXX | 1.2.4 |
|
|
252
|
+
| 2 | HIGH | lib-y | 4.5.6 | CVE-2026-YYYY | 5.0.0 |
|
|
253
|
+
|
|
254
|
+
-- INFRASTRUCTURE (Infra Reviewer) --
|
|
255
|
+
|
|
256
|
+
| # | Severity | Component | Description |
|
|
257
|
+
|---|----------|-----------|-------------|
|
|
258
|
+
| 1 | HIGH | Dockerfile | Running as root |
|
|
259
|
+
| 2 | MEDIUM | .env | Not in .gitignore |
|
|
260
|
+
|
|
261
|
+
================================================================
|
|
262
|
+
ATTACK CHAINS (Correlated Findings)
|
|
263
|
+
================================================================
|
|
264
|
+
|
|
265
|
+
Chain 1: SQL Injection via vulnerable dependency
|
|
266
|
+
Step 1: Outdated ORM library (CVE-2026-XXXX)
|
|
267
|
+
Step 2: User input reaches query builder without sanitization
|
|
268
|
+
Impact: Database compromise
|
|
269
|
+
Severity: CRITICAL
|
|
270
|
+
|
|
271
|
+
================================================================
|
|
272
|
+
REMEDIATION PLAN
|
|
273
|
+
================================================================
|
|
274
|
+
|
|
275
|
+
| Priority | Action | Effort | Impact |
|
|
276
|
+
|----------|--------|--------|--------|
|
|
277
|
+
| 1 | Update lib-x to 1.2.4 | Low | Fixes CVE-2026-XXXX |
|
|
278
|
+
| 2 | Add input sanitization in src/... | Medium | Blocks injection |
|
|
279
|
+
| 3 | Switch to non-root Docker user | Low | Reduces blast radius |
|
|
280
|
+
|
|
281
|
+
================================================================
|
|
282
|
+
EXECUTION METRICS
|
|
283
|
+
================================================================
|
|
284
|
+
|
|
285
|
+
| Metric | Value |
|
|
286
|
+
|--------|-------|
|
|
287
|
+
| Total time | Xs (vs ~Ys sequential) |
|
|
288
|
+
| Speedup | ~X.Xx |
|
|
289
|
+
| Total tokens | ~XK |
|
|
290
|
+
| Findings discovered | X |
|
|
291
|
+
| Reviewers completed | 3/3 |
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### Step 7: Cleanup
|
|
295
|
+
|
|
296
|
+
Security lead sends `shutdown_request` to all reviewers and cleans up isolated output directories.
|
|
297
|
+
|
|
298
|
+
## Performance Expectations
|
|
299
|
+
|
|
300
|
+
| Scope | Sequential Est. | Team Est. | Speedup | Token Overhead |
|
|
301
|
+
|-------|----------------|-----------|---------|----------------|
|
|
302
|
+
| Code only | ~5 min | ~5 min | 1x (no parallelism) | 0% |
|
|
303
|
+
| Deps only | ~3 min | ~3 min | 1x (no parallelism) | 0% |
|
|
304
|
+
| Full | ~12 min | ~6 min | ~2x | +30% |
|
|
305
|
+
|
|
306
|
+
**Note**: Full scope benefits from 3-way parallelism. Individual scopes (`--scope=code`) run as single-worker tasks with no team overhead.
|
|
307
|
+
|
|
308
|
+
## Error Handling
|
|
309
|
+
|
|
310
|
+
| Error | Recovery |
|
|
311
|
+
|-------|----------|
|
|
312
|
+
| Reviewer timeout (>8min) | Lead proceeds with partial results, notes gap |
|
|
313
|
+
| Reviewer crash | Lead logs error, reports dimension as "not assessed" |
|
|
314
|
+
| Docker not available | Reviewer falls back to source-only pattern analysis |
|
|
315
|
+
| No vulnerabilities found | Report states clean status (not an error) |
|
|
316
|
+
| Scanner tool not installed | Reviewer skips scanner, uses grep-based analysis |
|
|
317
|
+
|
|
318
|
+
## Limitations
|
|
319
|
+
|
|
320
|
+
- Fixed team of 4 agents (1 lead + 3 reviewers)
|
|
321
|
+
- Cannot replace specialized security tools (SAST/DAST/SCA) -- supplements them
|
|
322
|
+
- Findings depend on model's security knowledge (no zero-day detection)
|
|
323
|
+
- Token cost ~30% higher than sequential due to context duplication
|
|
324
|
+
- Requires Agent Teams Research Preview (API may change)
|
|
325
|
+
- Attack chain correlation quality depends on lead agent's reasoning capability
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Sprint Development Team - Parallel story implementation using Agent Teams
|
|
3
|
+
argument-hint: <sprint-name> [--max-workers=3] [--overnight] [--use-teams]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sprint Development Team - Parallel Story Implementation
|
|
7
|
+
|
|
8
|
+
Orchestrate parallel sprint execution using Claude Code Agent Teams (v2.1.32+). Spawns a sprint conductor (opus) plus 2-3 developer workers (sonnet), each taking an independent story from the backlog. Designed to integrate with the existing Ralph Sprint (`/common:ralph-sprint --use-teams`) flow.
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
$ARGUMENTS
|
|
13
|
+
|
|
14
|
+
- `<sprint-name>`: Name or ID of the sprint to process
|
|
15
|
+
- `--max-workers=3`: Maximum parallel dev workers (default: 2, max: 3)
|
|
16
|
+
- `--overnight`: Run in overnight mode (bounded, stops at 6am)
|
|
17
|
+
- `--supervised`: Pause before each story for human confirmation
|
|
18
|
+
- `--max-stories=10`: Maximum stories to process (default: 10)
|
|
19
|
+
- `--timeout=12`: Maximum runtime in hours (default: 12)
|
|
20
|
+
- `--dry-run`: Show team composition and story assignments without executing
|
|
21
|
+
- `--use-teams`: Flag passed from ralph-sprint to indicate Agent Teams mode
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
- Claude Code v2.1.32+ with Agent Teams support
|
|
26
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` environment variable set
|
|
27
|
+
- BMAD sprint backlog with stories in `ready-for-dev` status
|
|
28
|
+
- Sprint metadata in `.bmad/sprint-status.yaml`
|
|
29
|
+
- At least 2 independent stories (single-story sprints use sequential Ralph)
|
|
30
|
+
- `Tools/AgentTeams/lib/ralph-teams-adapter.sh` available
|
|
31
|
+
- `Tools/AgentTeams/lib/compatibility-check.sh` available
|
|
32
|
+
- `Tools/AgentTeams/lib/cost-estimator.sh` available
|
|
33
|
+
|
|
34
|
+
## When to Use (vs. Sequential Sprint)
|
|
35
|
+
|
|
36
|
+
| Condition | Use Team Sprint | Use Sequential `/common:ralph-sprint` |
|
|
37
|
+
|-----------|----------------|----------------------------------------|
|
|
38
|
+
| 1 story remaining | No | Yes |
|
|
39
|
+
| 2+ independent stories | Yes (~2x speedup) | Also valid (simpler) |
|
|
40
|
+
| Stories with shared files | No (write conflicts) | Yes |
|
|
41
|
+
| Overnight unattended | Yes (with `--overnight`) | Also valid |
|
|
42
|
+
| Budget-constrained | No (+25-35% token overhead) | Yes |
|
|
43
|
+
|
|
44
|
+
**Critical**: Stories must be fully independent (no shared file domains). If stories modify overlapping files, the conductor assigns them sequentially to the same worker.
|
|
45
|
+
|
|
46
|
+
## Process
|
|
47
|
+
|
|
48
|
+
### Step 1: Sprint Initialization
|
|
49
|
+
|
|
50
|
+
The sprint conductor loads sprint state:
|
|
51
|
+
|
|
52
|
+
1. Read `.bmad/sprint-status.yaml` for story list and statuses
|
|
53
|
+
2. Filter stories with status `ready-for-dev`
|
|
54
|
+
3. Analyze story independence (check for file domain overlap)
|
|
55
|
+
4. Partition stories into parallelizable groups
|
|
56
|
+
|
|
57
|
+
**Independence check**: Two stories are independent if their acceptance criteria and implementation scope do not reference the same source files. The conductor reviews each story's description and tech spec references to determine this.
|
|
58
|
+
|
|
59
|
+
### Step 2: Story Assignment
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Sprint Conductor (opus) — coordinates via TaskCreate/SendMessage
|
|
63
|
+
|
|
|
64
|
+
+-- [Parallel Workers - max 3] --------+
|
|
65
|
+
| dev-worker-1 (sonnet): US-001 |
|
|
66
|
+
| dev-worker-2 (sonnet): US-002 |
|
|
67
|
+
| dev-worker-3 (sonnet): US-003 |
|
|
68
|
+
+---------------------------------------+
|
|
69
|
+
|
|
|
70
|
+
v (sync barrier - all stories complete)
|
|
71
|
+
|
|
|
72
|
+
+-- [Sequential Review] ---------------+
|
|
73
|
+
| Conductor validates each story DoD |
|
|
74
|
+
+---------------------------------------+
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The conductor creates one `TaskCreate` per story:
|
|
78
|
+
|
|
79
|
+
- **Subject**: `Implement US-XXX: <story title>`
|
|
80
|
+
- **Description**: Full story content, acceptance criteria, tech spec references, TDD requirements
|
|
81
|
+
- **activeForm**: `Implementing US-XXX`
|
|
82
|
+
|
|
83
|
+
### Step 3: Worker Execution (Per Story)
|
|
84
|
+
|
|
85
|
+
Each dev worker follows the TDD cycle for its assigned story:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
1. Read story and acceptance criteria
|
|
89
|
+
2. RED: Write failing tests from acceptance criteria
|
|
90
|
+
3. GREEN: Implement minimal code to pass tests
|
|
91
|
+
4. REFACTOR: Clean up while keeping tests green
|
|
92
|
+
5. Run full test suite (docker-based)
|
|
93
|
+
6. Write result summary
|
|
94
|
+
7. Mark task as completed
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Worker TDD commands** (technology-specific):
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Symfony
|
|
101
|
+
docker compose exec php vendor/bin/phpunit
|
|
102
|
+
docker compose exec php vendor/bin/phpstan analyse
|
|
103
|
+
docker compose exec php php bin/console lint:container
|
|
104
|
+
|
|
105
|
+
# React
|
|
106
|
+
docker compose exec node npm run test
|
|
107
|
+
docker compose exec node npm run lint
|
|
108
|
+
docker compose exec node npm run build
|
|
109
|
+
|
|
110
|
+
# Python
|
|
111
|
+
docker compose exec app pytest --cov
|
|
112
|
+
docker compose exec app ruff check .
|
|
113
|
+
docker compose exec app mypy .
|
|
114
|
+
|
|
115
|
+
# Flutter
|
|
116
|
+
docker run --rm -v $(pwd):/app -w /app dart flutter test
|
|
117
|
+
docker run --rm -v $(pwd):/app -w /app dart dart analyze
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Step 4: Story Transition
|
|
121
|
+
|
|
122
|
+
As each worker completes, the conductor:
|
|
123
|
+
|
|
124
|
+
1. Validates Definition of Done (DoD) for the story
|
|
125
|
+
2. Transitions story status: `in-progress` -> `review`
|
|
126
|
+
3. Assigns the next `ready-for-dev` story to the now-free worker
|
|
127
|
+
4. Repeats until no stories remain or limits are reached
|
|
128
|
+
|
|
129
|
+
**DoD validation checklist**:
|
|
130
|
+
- [ ] All acceptance criteria tests pass
|
|
131
|
+
- [ ] No new linting errors introduced
|
|
132
|
+
- [ ] Code coverage not decreased
|
|
133
|
+
- [ ] No secrets in committed code
|
|
134
|
+
- [ ] Story implementation matches tech spec
|
|
135
|
+
|
|
136
|
+
### Step 5: Error Recovery
|
|
137
|
+
|
|
138
|
+
The conductor classifies errors per the Ralph recovery engine:
|
|
139
|
+
|
|
140
|
+
| Level | Type | Action | Examples |
|
|
141
|
+
|-------|------|--------|----------|
|
|
142
|
+
| 0 | Transient | Auto-retry with backoff | Timeout, rate limit, network |
|
|
143
|
+
| 1 | Recoverable | Worker auto-fix + retry | Lint errors, test failures, deps |
|
|
144
|
+
| 2 | Degraded | Continue with warning | Docs, optional gates, coverage dip |
|
|
145
|
+
| 3 | Blocked | Escalate to human | Security, architecture, auth |
|
|
146
|
+
|
|
147
|
+
**Worker stuck detection**: If a worker hasn't updated its task in 10 minutes, the conductor sends a status check message. If no response within 2 minutes, the conductor marks the story as blocked and reassigns to another worker or queues for human review.
|
|
148
|
+
|
|
149
|
+
### Step 6: Sprint Completion
|
|
150
|
+
|
|
151
|
+
When all stories are processed:
|
|
152
|
+
|
|
153
|
+
1. Conductor generates sprint summary report
|
|
154
|
+
2. Updates `.bmad/sprint-status.yaml` via single-writer pattern
|
|
155
|
+
3. Sends `shutdown_request` to all workers
|
|
156
|
+
4. Reports final metrics
|
|
157
|
+
|
|
158
|
+
## Output
|
|
159
|
+
|
|
160
|
+
### Sprint Summary Report
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
================================================================
|
|
164
|
+
SPRINT DEVELOPMENT TEAM - Summary
|
|
165
|
+
================================================================
|
|
166
|
+
|
|
167
|
+
Sprint: <sprint-name>
|
|
168
|
+
Date: YYYY-MM-DD
|
|
169
|
+
Mode: Parallel (Agent Teams)
|
|
170
|
+
Team: 1 conductor + N dev workers
|
|
171
|
+
|
|
172
|
+
----------------------------------------------------------------
|
|
173
|
+
STORIES COMPLETED
|
|
174
|
+
----------------------------------------------------------------
|
|
175
|
+
|
|
176
|
+
| Story | Title | Worker | Time | DoD |
|
|
177
|
+
|-------|-------|--------|------|-----|
|
|
178
|
+
| US-001 | Login feature | dev-1 | 12m | PASS |
|
|
179
|
+
| US-002 | User profile | dev-2 | 18m | PASS |
|
|
180
|
+
| US-003 | Dashboard | dev-3 | 15m | PASS |
|
|
181
|
+
|
|
182
|
+
----------------------------------------------------------------
|
|
183
|
+
STORIES BLOCKED
|
|
184
|
+
----------------------------------------------------------------
|
|
185
|
+
|
|
186
|
+
| Story | Title | Reason | Escalation |
|
|
187
|
+
|-------|-------|--------|------------|
|
|
188
|
+
| US-004 | Payment | Architecture dependency | Queued for human |
|
|
189
|
+
|
|
190
|
+
================================================================
|
|
191
|
+
EXECUTION METRICS
|
|
192
|
+
================================================================
|
|
193
|
+
|
|
194
|
+
| Metric | Value |
|
|
195
|
+
|--------|-------|
|
|
196
|
+
| Stories completed | X / Y |
|
|
197
|
+
| Stories blocked | Z |
|
|
198
|
+
| Total time | Xm (vs ~Ym sequential) |
|
|
199
|
+
| Speedup | ~X.Xx |
|
|
200
|
+
| Total tokens | ~XK |
|
|
201
|
+
| Workers spawned | N |
|
|
202
|
+
| Avg time per story | Xm |
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Performance Expectations
|
|
206
|
+
|
|
207
|
+
| Workers | Stories | Sequential Est. | Team Est. | Speedup | Token Overhead |
|
|
208
|
+
|---------|---------|----------------|-----------|---------|----------------|
|
|
209
|
+
| 2 | 4 | ~60 min | ~35 min | ~1.7x | +25% |
|
|
210
|
+
| 2 | 6 | ~90 min | ~50 min | ~1.8x | +25% |
|
|
211
|
+
| 3 | 6 | ~90 min | ~40 min | ~2.2x | +30% |
|
|
212
|
+
| 3 | 9 | ~135 min | ~55 min | ~2.5x | +35% |
|
|
213
|
+
|
|
214
|
+
**Note**: Speedup depends on story independence and comparable complexity. If one story takes 3x longer than others, the bottleneck story limits overall speedup.
|
|
215
|
+
|
|
216
|
+
## Integration with Ralph Sprint
|
|
217
|
+
|
|
218
|
+
When invoked via `/common:ralph-sprint --use-teams`, the Ralph Teams adapter (`Tools/AgentTeams/lib/ralph-teams-adapter.sh`) handles:
|
|
219
|
+
|
|
220
|
+
1. Translating Ralph session config to Agent Teams parameters
|
|
221
|
+
2. Bridging checkpoint/recovery between Ralph and Agent Teams
|
|
222
|
+
3. Ensuring sprint-status.yaml updates follow single-writer pattern
|
|
223
|
+
4. Mapping Ralph error levels to Agent Teams recovery actions
|
|
224
|
+
|
|
225
|
+
## Error Handling
|
|
226
|
+
|
|
227
|
+
| Error | Recovery |
|
|
228
|
+
|-------|----------|
|
|
229
|
+
| Worker timeout (>15min per story) | Conductor reassigns story |
|
|
230
|
+
| Worker crash | Story returns to `ready-for-dev`, another worker picks up |
|
|
231
|
+
| All workers stuck | Conductor escalates to human |
|
|
232
|
+
| Sprint-status.yaml conflict | Single-writer pattern via file locking |
|
|
233
|
+
| Story has file overlap with another | Conductor assigns sequentially to same worker |
|
|
234
|
+
| Docker not available | Worker reports error, conductor tries source-only |
|
|
235
|
+
|
|
236
|
+
## Limitations
|
|
237
|
+
|
|
238
|
+
- Maximum 3 parallel dev workers (4 total including conductor)
|
|
239
|
+
- Stories must be independent (no shared file domains)
|
|
240
|
+
- Token cost is ~25-35% higher than sequential due to context duplication
|
|
241
|
+
- Requires Agent Teams Research Preview (API may change)
|
|
242
|
+
- Overnight mode depends on conductor agent stability (orphan risk exists)
|
|
243
|
+
- Not suitable for stories requiring interactive human decisions mid-implementation
|
package/README.md
CHANGED
|
@@ -4,6 +4,16 @@ A comprehensive framework for AI-assisted development with [Claude Code](https:/
|
|
|
4
4
|
|
|
5
5
|
**Autonomous Sprint Ready**: Run entire sprints overnight with `/common:ralph-sprint` - auto-claim, error recovery, parallel processing.
|
|
6
6
|
|
|
7
|
+
## What's New in v5.7 - Agent Teams Integration
|
|
8
|
+
|
|
9
|
+
- **Agent Teams** — Multi-agent coordination with shared task management
|
|
10
|
+
- `/common:team-audit` — Parallel multi-technology audit (1 opus leader + N haiku auditors)
|
|
11
|
+
- `/common:team-sprint` — Sprint Development Team (1 opus conductor + 2-3 sonnet devs)
|
|
12
|
+
- `/common:team-security` — Security Review Team (1 opus lead + 3 haiku reviewers)
|
|
13
|
+
- **Cost Framework** — Token cost estimation and visual dashboard before team launch
|
|
14
|
+
- **Race Condition Fix** — Single-writer pattern for sprint-status.yaml
|
|
15
|
+
- See [CHANGELOG](CHANGELOG.md) for full details
|
|
16
|
+
|
|
7
17
|
## What's New in v5.6 - Claude Code 2.1.33 / 2.1.34
|
|
8
18
|
|
|
9
19
|
- **Agent Memory** (v2.1.33): Persistent `memory` frontmatter for agents (user/project/local scopes)
|