maestro-flow 0.2.1 → 0.3.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 (143) hide show
  1. package/.claude/agents/team-supervisor.md +18 -8
  2. package/.claude/agents/team-worker.md +84 -2
  3. package/.claude/commands/manage-harvest.md +131 -0
  4. package/.claude/skills/team-coordinate/SKILL.md +266 -0
  5. package/.claude/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
  6. package/.claude/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
  7. package/.claude/skills/team-coordinate/roles/coordinator/commands/monitor.md +358 -0
  8. package/.claude/skills/team-coordinate/roles/coordinator/role.md +363 -0
  9. package/.claude/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
  10. package/.claude/skills/team-coordinate/specs/pipelines.md +97 -0
  11. package/.claude/skills/team-coordinate/specs/quality-gates.md +112 -0
  12. package/.claude/skills/team-coordinate/specs/role-spec-template.md +198 -0
  13. package/.claude/skills/team-executor/SKILL.md +189 -0
  14. package/.claude/skills/team-executor/roles/executor/commands/monitor.md +239 -0
  15. package/.claude/skills/team-executor/roles/executor/role.md +171 -0
  16. package/.claude/skills/team-executor/specs/session-schema.md +264 -0
  17. package/.claude/skills/team-lifecycle-v4/SKILL.md +209 -0
  18. package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +94 -0
  19. package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
  20. package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
  21. package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
  22. package/.claude/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
  23. package/.claude/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
  24. package/.claude/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
  25. package/.claude/skills/team-lifecycle-v4/roles/executor/role.md +67 -0
  26. package/.claude/skills/team-lifecycle-v4/roles/planner/role.md +85 -0
  27. package/.claude/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
  28. package/.claude/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
  29. package/.claude/skills/team-lifecycle-v4/roles/reviewer/role.md +69 -0
  30. package/.claude/skills/team-lifecycle-v4/roles/supervisor/role.md +192 -0
  31. package/.claude/skills/team-lifecycle-v4/roles/tester/role.md +87 -0
  32. package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +95 -0
  33. package/.claude/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
  34. package/.claude/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
  35. package/.claude/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
  36. package/.claude/skills/team-lifecycle-v4/templates/architecture.md +254 -0
  37. package/.claude/skills/team-lifecycle-v4/templates/epics.md +196 -0
  38. package/.claude/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
  39. package/.claude/skills/team-lifecycle-v4/templates/requirements.md +224 -0
  40. package/.claude/skills/team-quality-assurance/SKILL.md +147 -0
  41. package/.claude/skills/team-quality-assurance/roles/analyst/role.md +88 -0
  42. package/.claude/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
  43. package/.claude/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
  44. package/.claude/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +250 -0
  45. package/.claude/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
  46. package/.claude/skills/team-quality-assurance/roles/executor/role.md +66 -0
  47. package/.claude/skills/team-quality-assurance/roles/generator/role.md +68 -0
  48. package/.claude/skills/team-quality-assurance/roles/scout/role.md +75 -0
  49. package/.claude/skills/team-quality-assurance/roles/strategist/role.md +71 -0
  50. package/.claude/skills/team-quality-assurance/specs/pipelines.md +115 -0
  51. package/.claude/skills/team-quality-assurance/specs/team-config.json +131 -0
  52. package/.claude/skills/team-review/SKILL.md +147 -0
  53. package/.claude/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
  54. package/.claude/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
  55. package/.claude/skills/team-review/roles/coordinator/commands/monitor.md +224 -0
  56. package/.claude/skills/team-review/roles/coordinator/role.md +132 -0
  57. package/.claude/skills/team-review/roles/fixer/role.md +76 -0
  58. package/.claude/skills/team-review/roles/reviewer/role.md +68 -0
  59. package/.claude/skills/team-review/roles/scanner/role.md +79 -0
  60. package/.claude/skills/team-review/specs/dimensions.md +82 -0
  61. package/.claude/skills/team-review/specs/finding-schema.json +82 -0
  62. package/.claude/skills/team-review/specs/pipelines.md +102 -0
  63. package/.claude/skills/team-review/specs/team-config.json +27 -0
  64. package/.claude/skills/team-tech-debt/SKILL.md +128 -0
  65. package/.claude/skills/team-tech-debt/roles/assessor/role.md +77 -0
  66. package/.claude/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
  67. package/.claude/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
  68. package/.claude/skills/team-tech-debt/roles/coordinator/commands/monitor.md +209 -0
  69. package/.claude/skills/team-tech-debt/roles/coordinator/role.md +123 -0
  70. package/.claude/skills/team-tech-debt/roles/executor/role.md +76 -0
  71. package/.claude/skills/team-tech-debt/roles/planner/role.md +69 -0
  72. package/.claude/skills/team-tech-debt/roles/scanner/role.md +90 -0
  73. package/.claude/skills/team-tech-debt/roles/validator/role.md +78 -0
  74. package/.claude/skills/team-tech-debt/specs/pipelines.md +47 -0
  75. package/.claude/skills/team-tech-debt/specs/team-config.json +129 -0
  76. package/.claude/skills/team-testing/SKILL.md +143 -0
  77. package/.claude/skills/team-testing/roles/analyst/role.md +103 -0
  78. package/.claude/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
  79. package/.claude/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
  80. package/.claude/skills/team-testing/roles/coordinator/commands/monitor.md +257 -0
  81. package/.claude/skills/team-testing/roles/coordinator/role.md +134 -0
  82. package/.claude/skills/team-testing/roles/executor/role.md +99 -0
  83. package/.claude/skills/team-testing/roles/generator/role.md +98 -0
  84. package/.claude/skills/team-testing/roles/strategist/role.md +83 -0
  85. package/.claude/skills/team-testing/specs/pipelines.md +101 -0
  86. package/.claude/skills/team-testing/specs/team-config.json +93 -0
  87. package/.codex/skills/maestro-coordinate/SKILL.md +6 -6
  88. package/.codex/skills/maestro-overlay/SKILL.md +1 -3
  89. package/.codex/skills/manage-issue-analyze/SKILL.md +2 -2
  90. package/.codex/skills/quality-retrospective/SKILL.md +30 -31
  91. package/.codex/skills/team-coordinate/SKILL.md +16 -18
  92. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +50 -7
  93. package/.codex/skills/team-coordinate/roles/coordinator/role.md +4 -4
  94. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +2 -0
  95. package/.codex/skills/team-executor/SKILL.md +11 -13
  96. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +47 -11
  97. package/.codex/skills/team-lifecycle-v4/SKILL.md +27 -33
  98. package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +94 -0
  99. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
  100. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +94 -27
  101. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +12 -14
  102. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
  103. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +69 -1
  104. package/.codex/skills/team-quality-assurance/SKILL.md +14 -16
  105. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +60 -11
  106. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +4 -4
  107. package/.codex/skills/team-review/SKILL.md +14 -16
  108. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +47 -10
  109. package/.codex/skills/team-review/roles/coordinator/role.md +4 -4
  110. package/.codex/skills/team-tech-debt/SKILL.md +13 -15
  111. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +51 -12
  112. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +4 -4
  113. package/.codex/skills/team-testing/SKILL.md +15 -17
  114. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +51 -13
  115. package/.codex/skills/team-testing/roles/coordinator/role.md +4 -4
  116. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +4 -0
  117. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  118. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +8 -1
  119. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  120. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +20 -0
  121. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  122. package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +1 -0
  123. package/dashboard/dist-server/dashboard/src/shared/constants.js +1 -0
  124. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  125. package/dashboard/dist-server/src/agents/cli-history-store.js +21 -3
  126. package/dashboard/dist-server/src/agents/cli-history-store.js.map +1 -1
  127. package/dist/src/agents/cli-history-store.d.ts.map +1 -1
  128. package/dist/src/agents/cli-history-store.js +21 -3
  129. package/dist/src/agents/cli-history-store.js.map +1 -1
  130. package/dist/src/commands/cli.d.ts.map +1 -1
  131. package/dist/src/commands/cli.js +20 -8
  132. package/dist/src/commands/cli.js.map +1 -1
  133. package/dist/src/commands/uninstall-ui/UninstallFlow.d.ts.map +1 -1
  134. package/dist/src/commands/uninstall-ui/UninstallFlow.js +5 -4
  135. package/dist/src/commands/uninstall-ui/UninstallFlow.js.map +1 -1
  136. package/dist/src/commands/uninstall.js +1 -1
  137. package/dist/src/commands/uninstall.js.map +1 -1
  138. package/dist/src/core/manifest.d.ts.map +1 -1
  139. package/dist/src/core/manifest.js +9 -1
  140. package/dist/src/core/manifest.js.map +1 -1
  141. package/package.json +1 -1
  142. package/workflows/cli-tools-usage.md +6 -2
  143. package/workflows/harvest.md +420 -0
@@ -0,0 +1,196 @@
1
+ # Epics & Stories Template (Directory Structure)
2
+
3
+ Template for generating epic/story breakdown as a directory of individual Epic files in Phase 5.
4
+
5
+ ## Usage Context
6
+
7
+ | Phase | Usage |
8
+ |-------|-------|
9
+ | Phase 5 (Epics & Stories) | Generate `epics/` directory from requirements decomposition |
10
+ | Output Location | `{workDir}/epics/` |
11
+
12
+ ## Output Structure
13
+
14
+ ```
15
+ {workDir}/epics/
16
+ ├── _index.md # Overview table + dependency map + MVP scope + execution order
17
+ ├── EPIC-001-{slug}.md # Individual Epic with its Stories
18
+ ├── EPIC-002-{slug}.md
19
+ └── ...
20
+ ```
21
+
22
+ ---
23
+
24
+ ## Template: _index.md
25
+
26
+ ```markdown
27
+ ---
28
+ session_id: {session_id}
29
+ phase: 5
30
+ document_type: epics-index
31
+ status: draft
32
+ generated_at: {timestamp}
33
+ version: 1
34
+ dependencies:
35
+ - ../spec-config.json
36
+ - ../product-brief.md
37
+ - ../requirements/_index.md
38
+ - ../architecture/_index.md
39
+ ---
40
+
41
+ # Epics & Stories: {product_name}
42
+
43
+ {executive_summary - overview of epic structure and MVP scope}
44
+
45
+ ## Epic Overview
46
+
47
+ | Epic ID | Title | Priority | MVP | Stories | Est. Size |
48
+ |---------|-------|----------|-----|---------|-----------|
49
+ | [EPIC-001](EPIC-001-{slug}.md) | {title} | Must | Yes | {n} | {S/M/L/XL} |
50
+ | [EPIC-002](EPIC-002-{slug}.md) | {title} | Must | Yes | {n} | {S/M/L/XL} |
51
+ | [EPIC-003](EPIC-003-{slug}.md) | {title} | Should | No | {n} | {S/M/L/XL} |
52
+
53
+ ## Dependency Map
54
+
55
+ ```mermaid
56
+ graph LR
57
+ EPIC-001 --> EPIC-002
58
+ EPIC-001 --> EPIC-003
59
+ EPIC-002 --> EPIC-004
60
+ EPIC-003 --> EPIC-005
61
+ ```
62
+
63
+ ### Dependency Notes
64
+ {explanation of why these dependencies exist and suggested execution order}
65
+
66
+ ### Recommended Execution Order
67
+ 1. [EPIC-{NNN}](EPIC-{NNN}-{slug}.md): {reason - foundational}
68
+ 2. [EPIC-{NNN}](EPIC-{NNN}-{slug}.md): {reason - depends on #1}
69
+ 3. ...
70
+
71
+ ## MVP Scope
72
+
73
+ ### MVP Epics
74
+ {list of epics included in MVP with justification, linking to each}
75
+
76
+ ### MVP Definition of Done
77
+ - [ ] {MVP completion criterion 1}
78
+ - [ ] {MVP completion criterion 2}
79
+ - [ ] {MVP completion criterion 3}
80
+
81
+ ## Traceability Matrix
82
+
83
+ | Requirement | Epic | Stories | Architecture |
84
+ |-------------|------|---------|--------------|
85
+ | [REQ-001](../requirements/REQ-001-{slug}.md) | [EPIC-001](EPIC-001-{slug}.md) | STORY-001-001, STORY-001-002 | [ADR-001](../architecture/ADR-001-{slug}.md) |
86
+ | [REQ-002](../requirements/REQ-002-{slug}.md) | [EPIC-001](EPIC-001-{slug}.md) | STORY-001-003 | Component B |
87
+ | [REQ-003](../requirements/REQ-003-{slug}.md) | [EPIC-002](EPIC-002-{slug}.md) | STORY-002-001 | [ADR-002](../architecture/ADR-002-{slug}.md) |
88
+
89
+ ## Estimation Summary
90
+
91
+ | Size | Meaning | Count |
92
+ |------|---------|-------|
93
+ | S | Small - well-understood, minimal risk | {n} |
94
+ | M | Medium - some complexity, moderate risk | {n} |
95
+ | L | Large - significant complexity, should consider splitting | {n} |
96
+ | XL | Extra Large - high complexity, must split before implementation | {n} |
97
+
98
+ ## Risks & Considerations
99
+
100
+ | Risk | Affected Epics | Mitigation |
101
+ |------|---------------|------------|
102
+ | {risk description} | [EPIC-{NNN}](EPIC-{NNN}-{slug}.md) | {mitigation} |
103
+
104
+ ## Open Questions
105
+
106
+ - [ ] {question about scope or implementation 1}
107
+ - [ ] {question about scope or implementation 2}
108
+
109
+ ## References
110
+
111
+ - Derived from: [Requirements](../requirements/_index.md), [Architecture](../architecture/_index.md)
112
+ - Handoff to: execution workflows (lite-plan, plan, req-plan)
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Template: EPIC-NNN-{slug}.md (Individual Epic)
118
+
119
+ ```markdown
120
+ ---
121
+ id: EPIC-{NNN}
122
+ priority: {Must|Should|Could}
123
+ mvp: {true|false}
124
+ size: {S|M|L|XL}
125
+ requirements: [REQ-{NNN}]
126
+ architecture: [ADR-{NNN}]
127
+ dependencies: [EPIC-{NNN}]
128
+ status: draft
129
+ ---
130
+
131
+ # EPIC-{NNN}: {epic_title}
132
+
133
+ **Priority**: {Must|Should|Could}
134
+ **MVP**: {Yes|No}
135
+ **Estimated Size**: {S|M|L|XL}
136
+
137
+ ## Description
138
+
139
+ {detailed epic description}
140
+
141
+ ## Requirements
142
+
143
+ - [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md): {title}
144
+ - [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md): {title}
145
+
146
+ ## Architecture
147
+
148
+ - [ADR-{NNN}](../architecture/ADR-{NNN}-{slug}.md): {title}
149
+ - Component: {component_name}
150
+
151
+ ## Dependencies
152
+
153
+ - [EPIC-{NNN}](EPIC-{NNN}-{slug}.md) (blocking): {reason}
154
+ - [EPIC-{NNN}](EPIC-{NNN}-{slug}.md) (soft): {reason}
155
+
156
+ ## Stories
157
+
158
+ ### STORY-{EPIC}-001: {story_title}
159
+
160
+ **User Story**: As a {persona}, I want to {action} so that {benefit}.
161
+
162
+ **Acceptance Criteria**:
163
+ - [ ] {criterion 1}
164
+ - [ ] {criterion 2}
165
+ - [ ] {criterion 3}
166
+
167
+ **Size**: {S|M|L|XL}
168
+ **Traces to**: [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md)
169
+
170
+ ---
171
+
172
+ ### STORY-{EPIC}-002: {story_title}
173
+
174
+ **User Story**: As a {persona}, I want to {action} so that {benefit}.
175
+
176
+ **Acceptance Criteria**:
177
+ - [ ] {criterion 1}
178
+ - [ ] {criterion 2}
179
+
180
+ **Size**: {S|M|L|XL}
181
+ **Traces to**: [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md)
182
+ ```
183
+
184
+ ---
185
+
186
+ ## Variable Descriptions
187
+
188
+ | Variable | Source | Description |
189
+ |----------|--------|-------------|
190
+ | `{session_id}` | spec-config.json | Session identifier |
191
+ | `{timestamp}` | Runtime | ISO8601 generation timestamp |
192
+ | `{product_name}` | product-brief.md | Product/feature name |
193
+ | `{EPIC}` | Auto-increment | Epic number (3 digits) |
194
+ | `{NNN}` | Auto-increment | Story/requirement number |
195
+ | `{slug}` | Auto-generated | Kebab-case from epic/story title |
196
+ | `{S\|M\|L\|XL}` | CLI analysis | Relative size estimate |
@@ -0,0 +1,133 @@
1
+ # Product Brief Template
2
+
3
+ Template for generating product brief documents in Phase 2.
4
+
5
+ ## Usage Context
6
+
7
+ | Phase | Usage |
8
+ |-------|-------|
9
+ | Phase 2 (Product Brief) | Generate product-brief.md from multi-CLI analysis |
10
+ | Output Location | `{workDir}/product-brief.md` |
11
+
12
+ ---
13
+
14
+ ## Template
15
+
16
+ ```markdown
17
+ ---
18
+ session_id: {session_id}
19
+ phase: 2
20
+ document_type: product-brief
21
+ status: draft
22
+ generated_at: {timestamp}
23
+ stepsCompleted: []
24
+ version: 1
25
+ dependencies:
26
+ - spec-config.json
27
+ ---
28
+
29
+ # Product Brief: {product_name}
30
+
31
+ {executive_summary - 2-3 sentences capturing the essence of the product/feature}
32
+
33
+ ## Vision
34
+
35
+ {vision_statement - clear, aspirational 1-3 sentence statement of what success looks like}
36
+
37
+ ## Problem Statement
38
+
39
+ ### Current Situation
40
+ {description of the current state and pain points}
41
+
42
+ ### Impact
43
+ {quantified impact of the problem - who is affected, how much, how often}
44
+
45
+ ## Target Users
46
+
47
+ {for each user persona:}
48
+
49
+ ### {Persona Name}
50
+ - **Role**: {user's role/context}
51
+ - **Needs**: {primary needs related to this product}
52
+ - **Pain Points**: {current frustrations}
53
+ - **Success Criteria**: {what success looks like for this user}
54
+
55
+ ## Goals & Success Metrics
56
+
57
+ | Goal ID | Goal | Success Metric | Target |
58
+ |---------|------|----------------|--------|
59
+ | G-001 | {goal description} | {measurable metric} | {specific target} |
60
+ | G-002 | {goal description} | {measurable metric} | {specific target} |
61
+
62
+ ## Scope
63
+
64
+ ### In Scope
65
+ - {feature/capability 1}
66
+ - {feature/capability 2}
67
+ - {feature/capability 3}
68
+
69
+ ### Out of Scope
70
+ - {explicitly excluded item 1}
71
+ - {explicitly excluded item 2}
72
+
73
+ ### Assumptions
74
+ - {key assumption 1}
75
+ - {key assumption 2}
76
+
77
+ ## Competitive Landscape
78
+
79
+ | Aspect | Current State | Proposed Solution | Advantage |
80
+ |--------|--------------|-------------------|-----------|
81
+ | {aspect} | {how it's done now} | {our approach} | {differentiator} |
82
+
83
+ ## Constraints & Dependencies
84
+
85
+ ### Technical Constraints
86
+ - {constraint 1}
87
+ - {constraint 2}
88
+
89
+ ### Business Constraints
90
+ - {constraint 1}
91
+
92
+ ### Dependencies
93
+ - {external dependency 1}
94
+ - {external dependency 2}
95
+
96
+ ## Multi-Perspective Synthesis
97
+
98
+ ### Product Perspective
99
+ {summary of product/market analysis findings}
100
+
101
+ ### Technical Perspective
102
+ {summary of technical feasibility and constraints}
103
+
104
+ ### User Perspective
105
+ {summary of user journey and UX considerations}
106
+
107
+ ### Convergent Themes
108
+ {themes where all perspectives agree}
109
+
110
+ ### Conflicting Views
111
+ {areas where perspectives differ, with notes on resolution approach}
112
+
113
+ ## Open Questions
114
+
115
+ - [ ] {unresolved question 1}
116
+ - [ ] {unresolved question 2}
117
+
118
+ ## References
119
+
120
+ - Derived from: [spec-config.json](spec-config.json)
121
+ - Next: [Requirements PRD](requirements.md)
122
+ ```
123
+
124
+ ## Variable Descriptions
125
+
126
+ | Variable | Source | Description |
127
+ |----------|--------|-------------|
128
+ | `{session_id}` | spec-config.json | Session identifier |
129
+ | `{timestamp}` | Runtime | ISO8601 generation timestamp |
130
+ | `{product_name}` | Seed analysis | Product/feature name |
131
+ | `{executive_summary}` | CLI synthesis | 2-3 sentence summary |
132
+ | `{vision_statement}` | CLI product perspective | Aspirational vision |
133
+ | All `{...}` fields | CLI analysis outputs | Filled from multi-perspective analysis |
@@ -0,0 +1,224 @@
1
+ # Requirements PRD Template (Directory Structure)
2
+
3
+ Template for generating Product Requirements Document as a directory of individual requirement files in Phase 3.
4
+
5
+ ## Usage Context
6
+
7
+ | Phase | Usage |
8
+ |-------|-------|
9
+ | Phase 3 (Requirements) | Generate `requirements/` directory from product brief expansion |
10
+ | Output Location | `{workDir}/requirements/` |
11
+
12
+ ## Output Structure
13
+
14
+ ```
15
+ {workDir}/requirements/
16
+ ├── _index.md # Summary + MoSCoW table + traceability matrix + links
17
+ ├── REQ-001-{slug}.md # Individual functional requirement
18
+ ├── REQ-002-{slug}.md
19
+ ├── NFR-P-001-{slug}.md # Non-functional: Performance
20
+ ├── NFR-S-001-{slug}.md # Non-functional: Security
21
+ ├── NFR-SC-001-{slug}.md # Non-functional: Scalability
22
+ ├── NFR-U-001-{slug}.md # Non-functional: Usability
23
+ └── ...
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Template: _index.md
29
+
30
+ ```markdown
31
+ ---
32
+ session_id: {session_id}
33
+ phase: 3
34
+ document_type: requirements-index
35
+ status: draft
36
+ generated_at: {timestamp}
37
+ version: 1
38
+ dependencies:
39
+ - ../spec-config.json
40
+ - ../product-brief.md
41
+ ---
42
+
43
+ # Requirements: {product_name}
44
+
45
+ {executive_summary - brief overview of what this PRD covers and key decisions}
46
+
47
+ ## Requirement Summary
48
+
49
+ | Priority | Count | Coverage |
50
+ |----------|-------|----------|
51
+ | Must Have | {n} | {description of must-have scope} |
52
+ | Should Have | {n} | {description of should-have scope} |
53
+ | Could Have | {n} | {description of could-have scope} |
54
+ | Won't Have | {n} | {description of explicitly excluded} |
55
+
56
+ ## Functional Requirements
57
+
58
+ | ID | Title | Priority | Traces To |
59
+ |----|-------|----------|-----------|
60
+ | [REQ-001](REQ-001-{slug}.md) | {title} | Must | [G-001](../product-brief.md#goals--success-metrics) |
61
+ | [REQ-002](REQ-002-{slug}.md) | {title} | Must | [G-001](../product-brief.md#goals--success-metrics) |
62
+ | [REQ-003](REQ-003-{slug}.md) | {title} | Should | [G-002](../product-brief.md#goals--success-metrics) |
63
+
64
+ ## Non-Functional Requirements
65
+
66
+ ### Performance
67
+
68
+ | ID | Title | Target |
69
+ |----|-------|--------|
70
+ | [NFR-P-001](NFR-P-001-{slug}.md) | {title} | {target value} |
71
+
72
+ ### Security
73
+
74
+ | ID | Title | Standard |
75
+ |----|-------|----------|
76
+ | [NFR-S-001](NFR-S-001-{slug}.md) | {title} | {standard/framework} |
77
+
78
+ ### Scalability
79
+
80
+ | ID | Title | Target |
81
+ |----|-------|--------|
82
+ | [NFR-SC-001](NFR-SC-001-{slug}.md) | {title} | {target value} |
83
+
84
+ ### Usability
85
+
86
+ | ID | Title | Target |
87
+ |----|-------|--------|
88
+ | [NFR-U-001](NFR-U-001-{slug}.md) | {title} | {target value} |
89
+
90
+ ## Data Requirements
91
+
92
+ ### Data Entities
93
+
94
+ | Entity | Description | Key Attributes |
95
+ |--------|-------------|----------------|
96
+ | {entity_name} | {description} | {attr1, attr2, attr3} |
97
+
98
+ ### Data Flows
99
+
100
+ {description of key data flows, optionally with Mermaid diagram}
101
+
102
+ ## Integration Requirements
103
+
104
+ | System | Direction | Protocol | Data Format | Notes |
105
+ |--------|-----------|----------|-------------|-------|
106
+ | {system_name} | Inbound/Outbound/Both | {REST/gRPC/etc} | {JSON/XML/etc} | {notes} |
107
+
108
+ ## Constraints & Assumptions
109
+
110
+ ### Constraints
111
+ - {technical or business constraint 1}
112
+ - {technical or business constraint 2}
113
+
114
+ ### Assumptions
115
+ - {assumption 1 - must be validated}
116
+ - {assumption 2 - must be validated}
117
+
118
+ ## Priority Rationale
119
+
120
+ {explanation of MoSCoW prioritization decisions, especially for Should/Could boundaries}
121
+
122
+ ## Traceability Matrix
123
+
124
+ | Goal | Requirements |
125
+ |------|-------------|
126
+ | G-001 | [REQ-001](REQ-001-{slug}.md), [REQ-002](REQ-002-{slug}.md), [NFR-P-001](NFR-P-001-{slug}.md) |
127
+ | G-002 | [REQ-003](REQ-003-{slug}.md), [NFR-S-001](NFR-S-001-{slug}.md) |
128
+
129
+ ## Open Questions
130
+
131
+ - [ ] {unresolved question 1}
132
+ - [ ] {unresolved question 2}
133
+
134
+ ## References
135
+
136
+ - Derived from: [Product Brief](../product-brief.md)
137
+ - Next: [Architecture](../architecture/_index.md)
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Template: REQ-NNN-{slug}.md (Individual Functional Requirement)
143
+
144
+ ```markdown
145
+ ---
146
+ id: REQ-{NNN}
147
+ type: functional
148
+ priority: {Must|Should|Could|Won't}
149
+ traces_to: [G-{NNN}]
150
+ status: draft
151
+ ---
152
+
153
+ # REQ-{NNN}: {requirement_title}
154
+
155
+ **Priority**: {Must|Should|Could|Won't}
156
+
157
+ ## Description
158
+
159
+ {detailed requirement description}
160
+
161
+ ## User Story
162
+
163
+ As a {persona}, I want to {action} so that {benefit}.
164
+
165
+ ## Acceptance Criteria
166
+
167
+ - [ ] {specific, testable criterion 1}
168
+ - [ ] {specific, testable criterion 2}
169
+ - [ ] {specific, testable criterion 3}
170
+
171
+ ## Traces
172
+
173
+ - **Goal**: [G-{NNN}](../product-brief.md#goals--success-metrics)
174
+ - **Architecture**: [ADR-{NNN}](../architecture/ADR-{NNN}-{slug}.md) (if applicable)
175
+ - **Implemented by**: [EPIC-{NNN}](../epics/EPIC-{NNN}-{slug}.md) (added in Phase 5)
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Template: NFR-{type}-NNN-{slug}.md (Individual Non-Functional Requirement)
181
+
182
+ ```markdown
183
+ ---
184
+ id: NFR-{type}-{NNN}
185
+ type: non-functional
186
+ category: {Performance|Security|Scalability|Usability}
187
+ priority: {Must|Should|Could}
188
+ status: draft
189
+ ---
190
+
191
+ # NFR-{type}-{NNN}: {requirement_title}
192
+
193
+ **Category**: {Performance|Security|Scalability|Usability}
194
+ **Priority**: {Must|Should|Could}
195
+
196
+ ## Requirement
197
+
198
+ {detailed requirement description}
199
+
200
+ ## Metric & Target
201
+
202
+ | Metric | Target | Measurement Method |
203
+ |--------|--------|--------------------|
204
+ | {metric} | {target value} | {how measured} |
205
+
206
+ ## Traces
207
+
208
+ - **Goal**: [G-{NNN}](../product-brief.md#goals--success-metrics)
209
+ - **Architecture**: [ADR-{NNN}](../architecture/ADR-{NNN}-{slug}.md) (if applicable)
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Variable Descriptions
215
+
216
+ | Variable | Source | Description |
217
+ |----------|--------|-------------|
218
+ | `{session_id}` | spec-config.json | Session identifier |
219
+ | `{timestamp}` | Runtime | ISO8601 generation timestamp |
220
+ | `{product_name}` | product-brief.md | Product/feature name |
221
+ | `{NNN}` | Auto-increment | Requirement number (zero-padded 3 digits) |
222
+ | `{slug}` | Auto-generated | Kebab-case from requirement title |
223
+ | `{type}` | Category | P (Performance), S (Security), SC (Scalability), U (Usability) |
224
+ | `{Must\|Should\|Could\|Won't}` | User input / auto | MoSCoW priority tag |
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: team-quality-assurance
3
+ description: Unified team skill for quality assurance. Full closed-loop QA combining issue discovery and software testing. Triggers on "team quality-assurance", "team qa".
4
+ allowed-tools: TeamCreate(*), TeamDelete(*), SendMessage(*), TaskCreate(*), TaskUpdate(*), TaskList(*), TaskGet(*), Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ccw-tools__team_msg(*)
5
+ ---
6
+
7
+ # Team Quality Assurance
8
+
9
+ Orchestrate multi-agent QA: scout -> strategist -> generator -> executor -> analyst. Supports discovery, testing, and full closed-loop modes with parallel generation and GC loops.
10
+
11
+ ## Architecture
12
+
13
+ ```
14
+ Skill(skill="team-quality-assurance", args="task description")
15
+ |
16
+ SKILL.md (this file) = Router
17
+ |
18
+ +--------------+--------------+
19
+ | |
20
+ no --role flag --role <name>
21
+ | |
22
+ Coordinator Worker
23
+ roles/coordinator/role.md roles/<name>/role.md
24
+ |
25
+ +-- analyze -> dispatch -> spawn workers -> STOP
26
+ |
27
+ +-------+-------+-------+-------+-------+
28
+ v v v v v
29
+ [scout] [strat] [gen] [exec] [analyst]
30
+ team-worker agents, each loads roles/<role>/role.md
31
+ ```
32
+
33
+ ## Role Registry
34
+
35
+ | Role | Path | Prefix | Inner Loop |
36
+ |------|------|--------|------------|
37
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
38
+ | scout | [roles/scout/role.md](roles/scout/role.md) | SCOUT-* | false |
39
+ | strategist | [roles/strategist/role.md](roles/strategist/role.md) | QASTRAT-* | false |
40
+ | generator | [roles/generator/role.md](roles/generator/role.md) | QAGEN-* | false |
41
+ | executor | [roles/executor/role.md](roles/executor/role.md) | QARUN-* | true |
42
+ | analyst | [roles/analyst/role.md](roles/analyst/role.md) | QAANA-* | false |
43
+
44
+ ## Role Router
45
+
46
+ Parse `$ARGUMENTS`:
47
+ - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
48
+ - No `--role` -> `@roles/coordinator/role.md`, execute entry router
49
+
50
+ ## Shared Constants
51
+
52
+ - **Session prefix**: `QA`
53
+ - **Session path**: `.workflow/.team/QA-<slug>-<date>/`
54
+ - **Team name**: `quality-assurance`
55
+ - **CLI tools**: `maestro cli --mode analysis` (read-only), `maestro cli --mode write` (modifications)
56
+ - **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
57
+
58
+ ## Worker Spawn Template
59
+
60
+ Coordinator spawns workers using this template:
61
+
62
+ ```
63
+ Agent({
64
+ subagent_type: "team-worker",
65
+ description: "Spawn <role> worker",
66
+ team_name: "quality-assurance",
67
+ name: "<role>",
68
+ run_in_background: true,
69
+ prompt: `## Role Assignment
70
+ role: <role>
71
+ role_spec: <skill_root>/roles/<role>/role.md
72
+ session: <session-folder>
73
+ session_id: <session-id>
74
+ team_name: quality-assurance
75
+ requirement: <task-description>
76
+ inner_loop: <true|false>
77
+
78
+ ## Progress Milestones
79
+ session_id: <session-id>
80
+ Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
81
+ Report blockers immediately via team_msg type="blocker".
82
+ Report completion via team_msg type="task_complete" after final SendMessage.
83
+
84
+ Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
85
+ Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
86
+ })
87
+ ```
88
+
89
+ ## User Commands
90
+
91
+ | Command | Action |
92
+ |---------|--------|
93
+ | `check` / `status` | View pipeline status graph |
94
+ | `resume` / `continue` | Advance to next step |
95
+ | `--mode=discovery` | Force discovery mode |
96
+ | `--mode=testing` | Force testing mode |
97
+ | `--mode=full` | Force full QA mode |
98
+
99
+ ## Completion Action
100
+
101
+ When pipeline completes, coordinator presents:
102
+
103
+ ```
104
+ AskUserQuestion({
105
+ questions: [{
106
+ question: "Quality Assurance pipeline complete. What would you like to do?",
107
+ header: "Completion",
108
+ multiSelect: false,
109
+ options: [
110
+ { label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
111
+ { label: "Keep Active", description: "Keep session for follow-up work" },
112
+ { label: "Export Results", description: "Export deliverables to target directory" }
113
+ ]
114
+ }]
115
+ })
116
+ ```
117
+
118
+ ## Session Directory
119
+
120
+ ```
121
+ .workflow/.team/QA-<slug>-<date>/
122
+ ├── .msg/messages.jsonl # Team message bus
123
+ ├── .msg/meta.json # Session state + shared memory
124
+ ├── wisdom/ # Cross-task knowledge
125
+ ├── scan/ # Scout output
126
+ ├── strategy/ # Strategist output
127
+ ├── tests/ # Generator output (L1/, L2/, L3/)
128
+ ├── results/ # Executor output
129
+ └── analysis/ # Analyst output
130
+ ```
131
+
132
+ ## Specs Reference
133
+
134
+ - [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
135
+ - [specs/team-config.json](specs/team-config.json) — Team configuration and shared memory schema
136
+
137
+ ## Error Handling
138
+
139
+ | Scenario | Resolution |
140
+ |----------|------------|
141
+ | Unknown --role value | Error with available role list |
142
+ | Role not found | Error with expected path (roles/<name>/role.md) |
143
+ | CLI tool fails | Worker fallback to direct implementation |
144
+ | Scout finds no issues | Report clean scan, skip to testing mode |
145
+ | GC loop exceeded | Accept current coverage with warning |
146
+ | Fast-advance conflict | Coordinator reconciles on next callback |
147
+ | Completion action fails | Default to Keep Active |