maestro-flow 0.5.3 → 0.5.31

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 (259) hide show
  1. package/.agents/skills/learn-follow/SKILL.md +114 -114
  2. package/.agents/skills/learn-investigate/SKILL.md +138 -139
  3. package/.agents/skills/learn-second-opinion/SKILL.md +105 -109
  4. package/.agents/skills/maestro/SKILL.md +2 -10
  5. package/.agents/skills/maestro-amend/SKILL.md +152 -152
  6. package/.agents/skills/maestro-analyze/SKILL.md +201 -252
  7. package/.agents/skills/maestro-blueprint/SKILL.md +175 -190
  8. package/.agents/skills/maestro-brainstorm/SKILL.md +196 -200
  9. package/.agents/skills/maestro-collab/SKILL.md +159 -159
  10. package/.agents/skills/maestro-companion/SKILL.md +517 -517
  11. package/.agents/skills/maestro-composer/SKILL.md +173 -164
  12. package/.agents/skills/maestro-execute/SKILL.md +169 -170
  13. package/.agents/skills/maestro-fork/SKILL.md +97 -96
  14. package/.agents/skills/maestro-grill/SKILL.md +161 -162
  15. package/.agents/skills/maestro-guard/SKILL.md +93 -92
  16. package/.agents/skills/maestro-impeccable/SKILL.md +296 -253
  17. package/.agents/skills/maestro-init/SKILL.md +117 -118
  18. package/.agents/skills/maestro-merge/SKILL.md +73 -66
  19. package/.agents/skills/maestro-milestone-audit/SKILL.md +4 -10
  20. package/.agents/skills/maestro-milestone-complete/SKILL.md +6 -7
  21. package/.agents/skills/maestro-milestone-release/SKILL.md +122 -131
  22. package/.agents/skills/maestro-next/SKILL.md +241 -245
  23. package/.agents/skills/maestro-overlay/SKILL.md +176 -166
  24. package/.agents/skills/maestro-plan/SKILL.md +211 -197
  25. package/.agents/skills/maestro-player/SKILL.md +167 -167
  26. package/.agents/skills/maestro-quick/SKILL.md +69 -63
  27. package/.agents/skills/maestro-ralph/SKILL.md +2 -36
  28. package/.agents/skills/maestro-ralph-beta/SKILL.md +861 -872
  29. package/.agents/skills/maestro-ralph-execute/SKILL.md +234 -234
  30. package/.agents/skills/maestro-roadmap/SKILL.md +159 -172
  31. package/.agents/skills/maestro-swarm-workflow/SKILL.md +229 -250
  32. package/.agents/skills/maestro-tools-execute/SKILL.md +108 -103
  33. package/.agents/skills/maestro-tools-register/SKILL.md +148 -143
  34. package/.agents/skills/maestro-ui-codify/SKILL.md +103 -86
  35. package/.agents/skills/maestro-universal-workflow/SKILL.md +534 -547
  36. package/.agents/skills/maestro-update/SKILL.md +109 -106
  37. package/.agents/skills/manage-codebase-rebuild/SKILL.md +73 -71
  38. package/.agents/skills/manage-harvest/SKILL.md +83 -81
  39. package/.agents/skills/manage-issue/SKILL.md +59 -60
  40. package/.agents/skills/manage-issue-discover/SKILL.md +70 -68
  41. package/.agents/skills/manage-kg-extractors/SKILL.md +130 -0
  42. package/.agents/skills/manage-knowhow/SKILL.md +70 -66
  43. package/.agents/skills/manage-knowhow-capture/SKILL.md +79 -69
  44. package/.agents/skills/manage-knowledge-audit/SKILL.md +91 -74
  45. package/.agents/skills/manage-status/SKILL.md +52 -42
  46. package/.agents/skills/manage-wiki/SKILL.md +69 -58
  47. package/.agents/skills/odyssey-debug/SKILL.md +445 -459
  48. package/.agents/skills/odyssey-improve/SKILL.md +477 -491
  49. package/.agents/skills/odyssey-planex/SKILL.md +576 -587
  50. package/.agents/skills/odyssey-review-test-fix/SKILL.md +400 -413
  51. package/.agents/skills/odyssey-ui/SKILL.md +431 -448
  52. package/.agents/skills/quality-auto-test/SKILL.md +140 -123
  53. package/.agents/skills/quality-debug/SKILL.md +145 -106
  54. package/.agents/skills/quality-refactor/SKILL.md +91 -53
  55. package/.agents/skills/quality-retrospective/SKILL.md +109 -63
  56. package/.agents/skills/quality-review/SKILL.md +141 -114
  57. package/.agents/skills/quality-sync/SKILL.md +74 -38
  58. package/.agents/skills/quality-test/SKILL.md +133 -103
  59. package/.agents/skills/security-audit/SKILL.md +217 -166
  60. package/.agents/skills/spec-add/SKILL.md +66 -59
  61. package/.agents/skills/spec-load/SKILL.md +68 -68
  62. package/.agents/skills/spec-remove/SKILL.md +42 -42
  63. package/.agents/skills/spec-setup/SKILL.md +38 -41
  64. package/.agy/skills/learn-follow/SKILL.md +114 -114
  65. package/.agy/skills/learn-investigate/SKILL.md +138 -139
  66. package/.agy/skills/learn-second-opinion/SKILL.md +105 -109
  67. package/.agy/skills/maestro/SKILL.md +2 -10
  68. package/.agy/skills/maestro-amend/SKILL.md +152 -152
  69. package/.agy/skills/maestro-analyze/SKILL.md +201 -252
  70. package/.agy/skills/maestro-blueprint/SKILL.md +175 -190
  71. package/.agy/skills/maestro-brainstorm/SKILL.md +196 -200
  72. package/.agy/skills/maestro-collab/SKILL.md +159 -159
  73. package/.agy/skills/maestro-companion/SKILL.md +517 -517
  74. package/.agy/skills/maestro-composer/SKILL.md +173 -164
  75. package/.agy/skills/maestro-execute/SKILL.md +169 -170
  76. package/.agy/skills/maestro-fork/SKILL.md +97 -96
  77. package/.agy/skills/maestro-grill/SKILL.md +161 -162
  78. package/.agy/skills/maestro-guard/SKILL.md +93 -92
  79. package/.agy/skills/maestro-impeccable/SKILL.md +296 -253
  80. package/.agy/skills/maestro-init/SKILL.md +117 -118
  81. package/.agy/skills/maestro-merge/SKILL.md +73 -66
  82. package/.agy/skills/maestro-milestone-audit/SKILL.md +4 -10
  83. package/.agy/skills/maestro-milestone-complete/SKILL.md +6 -7
  84. package/.agy/skills/maestro-milestone-release/SKILL.md +122 -131
  85. package/.agy/skills/maestro-next/SKILL.md +241 -245
  86. package/.agy/skills/maestro-overlay/SKILL.md +176 -166
  87. package/.agy/skills/maestro-plan/SKILL.md +211 -197
  88. package/.agy/skills/maestro-player/SKILL.md +167 -167
  89. package/.agy/skills/maestro-quick/SKILL.md +69 -63
  90. package/.agy/skills/maestro-ralph/SKILL.md +2 -36
  91. package/.agy/skills/maestro-ralph-beta/SKILL.md +861 -872
  92. package/.agy/skills/maestro-ralph-execute/SKILL.md +234 -234
  93. package/.agy/skills/maestro-roadmap/SKILL.md +159 -172
  94. package/.agy/skills/maestro-swarm-workflow/SKILL.md +229 -250
  95. package/.agy/skills/maestro-tools-execute/SKILL.md +108 -103
  96. package/.agy/skills/maestro-tools-register/SKILL.md +148 -143
  97. package/.agy/skills/maestro-ui-codify/SKILL.md +103 -86
  98. package/.agy/skills/maestro-universal-workflow/SKILL.md +534 -547
  99. package/.agy/skills/maestro-update/SKILL.md +109 -106
  100. package/.agy/skills/manage-codebase-rebuild/SKILL.md +73 -71
  101. package/.agy/skills/manage-harvest/SKILL.md +83 -81
  102. package/.agy/skills/manage-issue/SKILL.md +59 -60
  103. package/.agy/skills/manage-issue-discover/SKILL.md +70 -68
  104. package/.agy/skills/manage-kg-extractors/SKILL.md +130 -0
  105. package/.agy/skills/manage-knowhow/SKILL.md +70 -66
  106. package/.agy/skills/manage-knowhow-capture/SKILL.md +79 -69
  107. package/.agy/skills/manage-knowledge-audit/SKILL.md +91 -74
  108. package/.agy/skills/manage-status/SKILL.md +52 -42
  109. package/.agy/skills/manage-wiki/SKILL.md +69 -58
  110. package/.agy/skills/odyssey-debug/SKILL.md +445 -459
  111. package/.agy/skills/odyssey-improve/SKILL.md +477 -491
  112. package/.agy/skills/odyssey-planex/SKILL.md +576 -587
  113. package/.agy/skills/odyssey-review-test-fix/SKILL.md +400 -413
  114. package/.agy/skills/odyssey-ui/SKILL.md +431 -448
  115. package/.agy/skills/quality-auto-test/SKILL.md +140 -123
  116. package/.agy/skills/quality-debug/SKILL.md +145 -106
  117. package/.agy/skills/quality-refactor/SKILL.md +91 -53
  118. package/.agy/skills/quality-retrospective/SKILL.md +109 -63
  119. package/.agy/skills/quality-review/SKILL.md +141 -114
  120. package/.agy/skills/quality-sync/SKILL.md +74 -38
  121. package/.agy/skills/quality-test/SKILL.md +133 -103
  122. package/.agy/skills/security-audit/SKILL.md +217 -166
  123. package/.agy/skills/spec-add/SKILL.md +66 -59
  124. package/.agy/skills/spec-load/SKILL.md +68 -68
  125. package/.agy/skills/spec-remove/SKILL.md +42 -42
  126. package/.agy/skills/spec-setup/SKILL.md +38 -41
  127. package/.claude/commands/learn-follow.md +127 -127
  128. package/.claude/commands/learn-investigate.md +151 -152
  129. package/.claude/commands/learn-second-opinion.md +118 -122
  130. package/.claude/commands/maestro-amend.md +164 -164
  131. package/.claude/commands/maestro-analyze.md +215 -266
  132. package/.claude/commands/maestro-blueprint.md +189 -204
  133. package/.claude/commands/maestro-brainstorm.md +209 -213
  134. package/.claude/commands/maestro-collab.md +172 -172
  135. package/.claude/commands/maestro-companion.md +531 -531
  136. package/.claude/commands/maestro-composer.md +188 -179
  137. package/.claude/commands/maestro-execute.md +183 -184
  138. package/.claude/commands/maestro-fork.md +111 -110
  139. package/.claude/commands/maestro-grill.md +175 -176
  140. package/.claude/commands/maestro-guard.md +103 -102
  141. package/.claude/commands/maestro-impeccable.md +311 -268
  142. package/.claude/commands/maestro-init.md +130 -131
  143. package/.claude/commands/maestro-merge.md +87 -80
  144. package/.claude/commands/maestro-milestone-audit.md +4 -10
  145. package/.claude/commands/maestro-milestone-complete.md +6 -7
  146. package/.claude/commands/maestro-milestone-release.md +136 -145
  147. package/.claude/commands/maestro-next.md +253 -257
  148. package/.claude/commands/maestro-overlay.md +188 -178
  149. package/.claude/commands/maestro-plan.md +225 -211
  150. package/.claude/commands/maestro-player.md +182 -182
  151. package/.claude/commands/maestro-quick.md +83 -77
  152. package/.claude/commands/maestro-ralph-beta.md +875 -886
  153. package/.claude/commands/maestro-ralph-execute.md +247 -247
  154. package/.claude/commands/maestro-ralph.md +2 -36
  155. package/.claude/commands/maestro-roadmap.md +173 -186
  156. package/.claude/commands/maestro-swarm-workflow.md +243 -264
  157. package/.claude/commands/maestro-tools-execute.md +122 -117
  158. package/.claude/commands/maestro-tools-register.md +162 -157
  159. package/.claude/commands/maestro-ui-codify.md +117 -100
  160. package/.claude/commands/maestro-universal-workflow.md +548 -561
  161. package/.claude/commands/maestro-update.md +122 -119
  162. package/.claude/commands/maestro.md +2 -10
  163. package/.claude/commands/manage-codebase-rebuild.md +87 -85
  164. package/.claude/commands/manage-harvest.md +97 -95
  165. package/.claude/commands/manage-issue-discover.md +83 -81
  166. package/.claude/commands/manage-issue.md +72 -73
  167. package/.claude/commands/manage-kg-extractors.md +128 -0
  168. package/.claude/commands/manage-knowhow-capture.md +92 -82
  169. package/.claude/commands/manage-knowhow.md +83 -79
  170. package/.claude/commands/manage-knowledge-audit.md +105 -88
  171. package/.claude/commands/manage-status.md +62 -52
  172. package/.claude/commands/manage-wiki.md +82 -71
  173. package/.claude/commands/odyssey-debug.md +459 -473
  174. package/.claude/commands/odyssey-improve.md +491 -505
  175. package/.claude/commands/odyssey-planex.md +590 -601
  176. package/.claude/commands/odyssey-review-test-fix.md +414 -427
  177. package/.claude/commands/odyssey-ui.md +445 -462
  178. package/.claude/commands/quality-auto-test.md +153 -136
  179. package/.claude/commands/quality-debug.md +159 -120
  180. package/.claude/commands/quality-refactor.md +105 -67
  181. package/.claude/commands/quality-retrospective.md +123 -77
  182. package/.claude/commands/quality-review.md +155 -128
  183. package/.claude/commands/quality-sync.md +88 -52
  184. package/.claude/commands/quality-test.md +147 -117
  185. package/.claude/commands/security-audit.md +230 -179
  186. package/.claude/commands/spec-add.md +77 -70
  187. package/.claude/commands/spec-load.md +78 -78
  188. package/.claude/commands/spec-remove.md +55 -55
  189. package/.claude/commands/spec-setup.md +49 -52
  190. package/dist/src/cli.js +1 -1
  191. package/dist/src/cli.js.map +1 -1
  192. package/dist/src/commands/kg.d.ts.map +1 -1
  193. package/dist/src/commands/kg.js +11 -5
  194. package/dist/src/commands/kg.js.map +1 -1
  195. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +2 -0
  196. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -1
  197. package/dist/src/graph/kg/extraction/code/code-extractor.js +32 -3
  198. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
  199. package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts +35 -0
  200. package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts.map +1 -0
  201. package/dist/src/graph/kg/extraction/code/plugin-engine.js +573 -0
  202. package/dist/src/graph/kg/extraction/code/plugin-engine.js.map +1 -0
  203. package/dist/src/graph/kg/extraction/code/plugin-types.d.ts +95 -0
  204. package/dist/src/graph/kg/extraction/code/plugin-types.d.ts.map +1 -0
  205. package/dist/src/graph/kg/extraction/code/plugin-types.js +5 -0
  206. package/dist/src/graph/kg/extraction/code/plugin-types.js.map +1 -0
  207. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
  208. package/dist/src/graph/kg/extraction/orchestrator.js +17 -5
  209. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
  210. package/dist/src/graph/kg/schema.sql +16 -11
  211. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
  212. package/dist/src/graph/kg/surface/cli.js +153 -56
  213. package/dist/src/graph/kg/surface/cli.js.map +1 -1
  214. package/dist/src/hooks/workspace.d.ts +4 -2
  215. package/dist/src/hooks/workspace.d.ts.map +1 -1
  216. package/dist/src/hooks/workspace.js +6 -2
  217. package/dist/src/hooks/workspace.js.map +1 -1
  218. package/package.json +91 -91
  219. package/workflows/analyze.md +25 -49
  220. package/workflows/auto-test.md +699 -699
  221. package/workflows/blueprint.md +403 -431
  222. package/workflows/brainstorm.md +54 -195
  223. package/workflows/business-test.md +570 -570
  224. package/workflows/claude-instructions.md +23 -51
  225. package/workflows/codex-instructions.md +27 -77
  226. package/workflows/coding-philosophy.md +69 -69
  227. package/workflows/command-authoring.md +823 -823
  228. package/workflows/debug.md +43 -98
  229. package/workflows/delegate-usage.md +39 -241
  230. package/workflows/execute.md +4 -53
  231. package/workflows/grill.md +12 -56
  232. package/workflows/harvest.md +22 -68
  233. package/workflows/init.md +148 -148
  234. package/workflows/instruction-authoring-guide.md +97 -0
  235. package/workflows/issue-execute.md +110 -110
  236. package/workflows/issue-gaps-analyze.codex.md +260 -260
  237. package/workflows/issue-gaps-analyze.md +216 -216
  238. package/workflows/issue-plan.md +110 -110
  239. package/workflows/issue.md +338 -346
  240. package/workflows/knowhow.md +0 -32
  241. package/workflows/learn.md +277 -277
  242. package/workflows/maestro-chain-execute.md +20 -20
  243. package/workflows/refactor.md +22 -44
  244. package/workflows/retrospective.md +16 -65
  245. package/workflows/review.md +446 -486
  246. package/workflows/roadmap.md +35 -132
  247. package/workflows/skill-authoring.md +265 -265
  248. package/workflows/spec-generate.md +470 -470
  249. package/workflows/specs-remove.md +104 -104
  250. package/workflows/sync.md +11 -41
  251. package/workflows/test-gen.md +226 -226
  252. package/workflows/test.md +385 -475
  253. package/workflows/ui-design.md +391 -391
  254. package/workflows/ui-style.md +199 -199
  255. package/workflows/wiki-connect.md +151 -151
  256. package/workflows/wiki-digest.md +178 -178
  257. package/workflows/wiki-manage.md +109 -109
  258. package/workflows/cli-tools-usage.md +0 -252
  259. package/workflows/delegate-protocol.codex.md +0 -65
@@ -1,470 +1,470 @@
1
- # Workflow: Spec Generate (Full Mode)
2
-
3
- Specification document chain producing a complete specification package (Product Brief, PRD, Architecture, Epics, Roadmap) through 7 sequential phases with multi-CLI analysis and interactive refinement. Pure documentation — no code generation.
4
-
5
- **Shared logic**: `@roadmap-common.md` (worktree guard, context loading, codebase exploration, external research, minimum-phase principle, roadmap write logic)
6
-
7
- ## Pipeline Position
8
-
9
- ```
10
- brainstorm (optional) → init (REQUIRED) → spec-generate → plan → execute → verify
11
- Alternative light path: init → roadmap (light mode) → plan (skip spec-generate)
12
- ```
13
-
14
- > **Relation to blueprint**: `spec-generate` is the full-pipeline superset of `blueprint` (adds P7 roadmap stage on top of P0–P6 spec chain). Use `blueprint` when only specs are needed; use `spec-generate` when downstream `roadmap → plan` execution is intended.
15
-
16
- ## Architecture
17
-
18
- ```
19
- P0: Spec Study → P1: Discovery → P1.5: Req Expansion → P2: Product Brief → P3: PRD → P4: Architecture → P5: Epics → P6: Readiness Check → P7: Roadmap
20
-
21
- P6 gate: Pass (>=80%) → P7 | Review (60-79%) → P7 w/caveats | Fail (<60%) → P6.5 Auto-Fix (max 2 iter) → re-check
22
- ```
23
-
24
- ## Arguments
25
-
26
- ```
27
- $ARGUMENTS: "<idea or @file> [-y] [-c] [--from <source>]"
28
-
29
- <idea> -- Idea text or @file reference
30
- -y / --yes -- Auto mode, skip interactive questions
31
- -c / --continue -- Resume from last checkpoint
32
- --from <source> -- Load upstream context package (brainstorm:ID, @file, or path) as enriched seed. Alias: --from-brainstorm
33
- ```
34
-
35
- ## Output Structure
36
-
37
- ```
38
- .workflow/.spec/SPEC-{slug}-{YYYY-MM-DD}/
39
- ├── spec-config.json # Session configuration + phase state
40
- ├── discovery-context.json # Codebase exploration (optional)
41
- ├── refined-requirements.json # Phase 1.5: Confirmed requirements
42
- ├── glossary.json # Phase 2: Terminology glossary
43
- ├── product-brief.md # Phase 2: Product brief
44
- ├── requirements/ # Phase 3: Detailed PRD
45
- │ ├── _index.md # Summary, MoSCoW table, traceability
46
- │ ├── REQ-NNN-{slug}.md # Functional requirement
47
- │ └── NFR-{type}-NNN-{slug}.md # Non-functional requirement
48
- ├── architecture/ # Phase 4: Architecture decisions
49
- │ ├── _index.md # Overview, components, tech stack
50
- │ └── ADR-NNN-{slug}.md # Architecture Decision Record
51
- ├── epics/ # Phase 5: Epic/Story breakdown
52
- │ ├── _index.md # Epic table, dependency map, MVP
53
- │ └── EPIC-NNN-{slug}.md # Individual Epic with Stories
54
- ├── readiness-report.md # Phase 6: Quality report
55
- ├── spec-summary.md # Phase 6: Executive summary
56
- └── roadmap.md # Phase 7: Project roadmap (also written to .workflow/roadmap.md)
57
- ```
58
-
59
- ---
60
-
61
- ## Process
62
-
63
- ### Step 1: Prerequisite Loading (Phase 0)
64
-
65
- Load specification and template documents:
66
-
67
- | Document | Purpose | Priority |
68
- |----------|---------|----------|
69
- | Document standards | Format, frontmatter, naming conventions | P0 - must read |
70
- | Quality gates | Per-phase quality criteria and scoring | P0 - must read |
71
- | Templates | product-brief, requirements-prd, architecture-doc, epics-template | Read on-demand per phase |
72
-
73
- **Load project specs and history**: Follow roadmap-common.md "Load Project Context".
74
-
75
- Additional full-mode rules:
76
- - Features in `already_shipped` are EXCLUDED from spec generation scope
77
- - `lessons_learned` inform risk assessment in Phase 1 and architecture decisions in Phase 4
78
- - Pass assembled `project_context` to Phase 1 seed analysis and Phase 7 roadmap generation
79
-
80
- ### Step 2: Discovery & Seed Analysis (Phase 1)
81
-
82
- Parse input, analyze the seed idea, optionally explore codebase, establish session.
83
-
84
- **Step 2.1: Input Parsing**
85
- - Parse $ARGUMENTS: extract idea/topic, flags (-y, -c, --from)
86
- - If `-c`: read spec-config.json, resume from first incomplete phase
87
- - If `--from <source>` (or `--from-brainstorm SESSION-ID` alias):
88
- - Resolve source to `context-package.json`:
89
- - `brainstorm:ID` → `state.json.artifacts[type=brainstorm, id=ID].context_package`
90
- - `@file` → create import session → delegate extraction → context-package.json
91
- - `path/` → load `path/context-package.json`
92
- - `--from-brainstorm SESSION-ID` → alias for `--from brainstorm:{resolve(SESSION-ID)}`
93
- - Load context-package.json as enriched seed:
94
- - `requirements[]` → Phase 3 PRD seed requirements (skip Phase 1.5)
95
- - `constraints[]` → Phase 4 Architecture ADR seed
96
- - `domain.terminology[]` → Phase 2 Glossary seed
97
- - `domain.problem_statement` → Phase 2 Product Brief context
98
- - `non_goals[]` → Phase 2 Product Brief exclusions
99
- - `insights[]` → Phase 4 Architecture decisions context
100
- - `references[]` → available for deep-read when needed
101
- - Set `input_type: "context-package"` — skip Phase 1.5
102
- - If `@file`: read file content as seed
103
- - If text: use directly as seed
104
- - Missing input → error E001
105
-
106
- **Step 2.2: Session Initialization**
107
- ```
108
- Session ID: SPEC-{slug}-{YYYY-MM-DD}
109
- Output dir: .workflow/.spec/{session_id}/
110
- ```
111
-
112
- **Step 2.3: Seed Analysis via CLI**
113
- - Spawn CLI analysis to extract: problem_statement, target_users, domain, constraints, dimensions (3-5)
114
- - Assess complexity: simple (1-2 components) / moderate (3-5) / complex (6+)
115
- - For context-package input: enrich with feature decomposition data
116
-
117
- **Step 2.4: Codebase Exploration** — follow roadmap-common.md
118
- - Output: `discovery-context.json` with relevant_files, patterns, tech_stack
119
-
120
- **Step 2.5: External Research** — follow roadmap-common.md
121
-
122
- `apiResearchContext` is passed into:
123
- - Step 4 (Product Brief): technology feasibility assessment
124
- - Step 5 (Requirements): API-aware requirement writing with concrete constraints
125
- - Step 6 (Architecture): informed ADR decisions with version-specific details
126
- - Step 7 (Epics): realistic story sizing based on API complexity
127
-
128
- **Step 2.6: Spec Type Selection**
129
- - Interactive (AskUserQuestion): Service / API / Library / Platform
130
- - `--yes`: default to "service"
131
- - Each type loads a profile template for domain-specific sections
132
-
133
- **Step 2.7: User Confirmation (interactive)**
134
- - Confirm problem statement, select depth (Light/Standard/Comprehensive), select focus areas
135
- - `--yes`: accept all defaults
136
-
137
- **Output**: `spec-config.json`, `discovery-context.json` (optional), `apiResearchContext` (in-memory, optional)
138
-
139
- ### Step 3: Requirement Expansion & Clarification (Phase 1.5)
140
-
141
- Skip if `--from` (requirements already in context-package.json).
142
-
143
- **Step 3.1: CLI Gap Analysis**
144
- - Analyze seed for completeness (score 1-10), identify missing dimensions
145
- - Generate 3-5 clarification areas with questions and expansion suggestions
146
- - Dimensions checked: functional scope, user scenarios, NFRs, integrations, data model, error handling
147
-
148
- **Step 3.2: Interactive Discussion Loop (max 5 rounds)**
149
- - Round 1: present gap analysis + expansion suggestions via AskUserQuestion
150
- - Round N: CLI follow-up analysis based on user responses, refine requirements
151
- - User can: answer questions, accept suggestions, or skip to generation
152
- - `--yes`: CLI auto-expansion without interaction
153
-
154
- **Step 3.3: User Confirmation**
155
- - Present requirement summary, user confirms or requests adjustments
156
- - `--yes`: auto-confirm
157
-
158
- **Output**: `refined-requirements.json` (confirmed features, NFRs, boundaries, assumptions)
159
-
160
- ### Step 4: Product Brief (Phase 2)
161
-
162
- Generate product brief through multi-perspective CLI analysis.
163
-
164
- **Step 4.1: Load Context**
165
- - Read refined-requirements.json (preferred) or seed_analysis fallback
166
- - Read discovery-context.json (if codebase detected)
167
- - For context-package input: read context-package.json domain and requirements sections
168
-
169
- **Step 4.2: Multi-CLI Parallel Analysis (3 perspectives)**
170
-
171
- | Perspective | Role | Focus |
172
- |-------------|------|-------|
173
- | Product | analyze | Vision, market fit, success criteria, scope boundaries |
174
- | Technical | review | Feasibility, constraints, integration complexity, tech recommendations |
175
- | User | explore | Personas, journey maps, pain points, UX criteria |
176
-
177
- **Step 4.3: Synthesis**
178
- - Extract convergent themes (all agree), conflicts (need resolution), unique insights
179
- - For context-package input: cross-reference with context-package insights and constraints
180
- - If `apiResearchContext` is set: inject API details into technical feasibility assessment
181
-
182
- **Step 4.4: Interactive Refinement**
183
- - Present synthesis, user adjusts scope/vision
184
- - `--yes`: accept synthesis as-is
185
-
186
- **Step 4.5: Generate Outputs**
187
- - `product-brief.md` from template (YAML frontmatter + filled content)
188
- - `glossary.json` — 5+ core terms extracted from product brief and CLI analysis
189
- - Each term: canonical name, definition, aliases, category (core/technical/business)
190
- - Injected into all subsequent phase CLI prompts for terminology consistency
191
-
192
- **Output**: `product-brief.md`, `glossary.json`
193
-
194
- ### Step 5: Requirements / PRD (Phase 3)
195
-
196
- Generate detailed PRD with functional/non-functional requirements.
197
-
198
- **Step 5.1: Requirement Expansion via CLI**
199
- - For each product brief goal, generate 3-7 functional requirements
200
- - Each requirement: REQ-NNN ID, title, description, user story, 2-4 acceptance criteria
201
- - Generate non-functional requirements: performance, security, scalability, usability
202
- - Apply RFC 2119 keywords (MUST/SHOULD/MAY) to all behavioral constraints
203
- - Define core entity data models: fields, types, constraints, relationships
204
- - Inject glossary.json for terminology consistency
205
-
206
- **Step 5.2: MoSCoW Priority Sorting (interactive)**
207
- - Present requirements grouped by initial priority
208
- - User adjusts Must/Should/Could/Won't labels
209
- - Select MVP scope: Must-only / Must+key Should / Comprehensive
210
- - `--yes`: accept CLI-suggested priorities
211
-
212
- **Step 5.3: Generate Directory**
213
- - `requirements/_index.md` — summary table, MoSCoW breakdown, traceability matrix
214
- - `requirements/REQ-NNN-{slug}.md` — one per functional requirement
215
- - `requirements/NFR-{type}-NNN-{slug}.md` — one per non-functional requirement
216
-
217
- **Output**: `requirements/` directory (index + individual files)
218
-
219
- ### Step 6: Architecture (Phase 4)
220
-
221
- Generate architecture decisions, component design, and technology selections.
222
-
223
- **Step 6.1: Architecture Analysis via CLI (role: review)**
224
- - System architecture style with justification
225
- - Core components and responsibilities
226
- - Component interaction diagram (Mermaid graph TD)
227
- - Technology stack: languages, frameworks, databases, infrastructure
228
- - 2-4 Architecture Decision Records (ADRs): context, decision, alternatives, consequences
229
- - Data model: entities and relationships (Mermaid erDiagram)
230
- - Security architecture: auth, authorization, data protection
231
- - **State machine**: ASCII diagram + transition table for lifecycle entities (service/platform type)
232
- - **Configuration model**: all configurable fields with type, default, constraint
233
- - **Error handling strategy**: per-component classification (transient/permanent/degraded), recovery mechanisms
234
- - **Observability**: key metrics (5+), structured log events, health checks
235
- - Spec type profile injection for domain-specific depth
236
- - Glossary injection for terminology consistency
237
- - If `apiResearchContext` is set: inject as "External API Research" context
238
-
239
- **Step 6.2: Architecture Review via CLI (role: review)**
240
- - Challenge each ADR, identify scalability bottlenecks
241
- - Assess security gaps, evaluate technology choices
242
- - Rate overall quality 1-5
243
-
244
- **Step 6.3: Interactive ADR Decisions**
245
- - Present ADRs with review feedback, user decides: accept / incorporate feedback / simplify
246
- - `--yes`: auto-accept
247
-
248
- **Step 6.4: Codebase Integration Mapping (conditional)**
249
- - Map new components to existing code modules
250
-
251
- **Step 6.5: Generate Directory**
252
- - `architecture/_index.md` — overview, component diagram, tech stack, data model, security
253
- - `architecture/ADR-NNN-{slug}.md` — one per Architecture Decision Record
254
-
255
- **Output**: `architecture/` directory (index + individual ADR files)
256
-
257
- ### Step 7: Epics & Stories (Phase 5)
258
-
259
- Decompose specification into executable Epics and Stories.
260
-
261
- **Step 7.1: Epic Decomposition via CLI**
262
- - Group requirements into logical Epics (EPIC-NNN IDs). Epic count is unconstrained — Phase 7 will merge Epics into minimal phases via the minimum-phase principle.
263
- - Tag MVP subset
264
- - For each Epic: 2-5 Stories in "As a...I want...So that..." format
265
- - Each Story: 2-4 testable acceptance criteria, relative size (S/M/L/XL), trace to REQ-NNN
266
- - Cross-Epic dependency map (Mermaid graph LR)
267
- - Recommended execution order with rationale
268
- - MVP definition of done (3-5 criteria)
269
-
270
- **Epic sizing awareness** (informs Phase 7 roadmap generation):
271
- - Epics that are too small (1-2 Stories, all size S) should be flagged for merge in Phase 7
272
- - Each Epic should carry enough substance to become part of a phase with 5+ tasks
273
- - Prefer fewer, larger Epics over many tiny ones
274
-
275
- **Step 7.2: Interactive Validation**
276
- - Present Epic overview, user adjusts: merge/split epics, adjust MVP scope
277
- - `--yes`: accept as-is
278
-
279
- **Step 7.3: Generate Directory**
280
- - `epics/_index.md` — overview table, dependency map, MVP scope, execution order, traceability
281
- - `epics/EPIC-NNN-{slug}.md` — one per Epic with embedded Stories
282
-
283
- **Output**: `epics/` directory (index + individual Epic files)
284
-
285
- ### Step 8: Readiness Check & Handoff (Phase 6)
286
-
287
- Validate specification package and provide execution handoff.
288
-
289
- **Step 8.1: Cross-Document Validation via CLI**
290
- Score on 4 dimensions (25% each):
291
- 1. **Completeness**: all required sections present with substantive content
292
- 2. **Consistency**: terminology uniform (glossary compliance), scope containment, non-goals respected
293
- 3. **Traceability**: goals → requirements → architecture → epics (matrix generated)
294
- 4. **Depth**: acceptance criteria testable, ADRs justified, stories estimable
295
-
296
- Gate decision: Pass (>=80) / Review (60-79) / Fail (<60)
297
-
298
- **Step 8.2: Generate Reports**
299
- - `readiness-report.md` — quality scores, issue list (Error/Warning/Info), traceability matrix
300
- - `spec-summary.md` — one-page executive summary
301
-
302
- **Step 8.3: Update Document Status**
303
- - All document frontmatter updated to `status: complete`
304
-
305
- **Step 8.4: Gate Routing**
306
-
307
- | Gate Result | Action |
308
- |-------------|--------|
309
- | Pass (>=80%) | Proceed to Step 11 (Phase 7: Roadmap) |
310
- | Review (60-79%) | Proceed to Step 11 with caveats logged |
311
- | Fail (<60%) | Trigger Step 9 (Auto-Fix), then re-run Step 8 |
312
-
313
- ### Step 9: Auto-Fix (Phase 6.5, conditional)
314
-
315
- Triggered when Phase 6 score < 60%.
316
-
317
- **Step 9.1: Parse Readiness Report**
318
- - Extract Error and Warning items, group by originating phase (2-5), map to affected files
319
-
320
- **Step 9.2: Fix Affected Phases (sequential, Phase 2→3→4→5)**
321
- - Read current phase output
322
- - CLI re-generation with error context injected
323
- - Inject glossary for terminology consistency
324
- - Preserve unflagged content, only fix flagged issues
325
- - Increment document version
326
-
327
- **Step 9.3: Re-run Phase 6**
328
- - Generate new readiness-report.md
329
- - If still Fail and iteration_count < 2: loop back
330
- - If Pass or max iterations (2) reached: proceed to handoff
331
-
332
- **Output**: Updated Phase 2-5 documents, updated spec-config.json with iteration tracking
333
-
334
- ### Step 11: Roadmap Generation (Phase 7)
335
-
336
- Convert Epics into an interactive roadmap with user confirmation.
337
-
338
- **Step 11.1: Epic→Phase Mapping**
339
- - Read `epics/_index.md` for Epic table, dependency map, MVP tags
340
- - Read individual `EPIC-NNN-{slug}.md` for Stories and acceptance criteria
341
- - Read `architecture/_index.md` for technical constraints (ADR decisions)
342
-
343
- Apply **Minimum-Phase Principle** from roadmap-common.md for Epic→Phase mapping:
344
- - Default: ALL Epics → 1 Phase (wave DAG orders tasks by Epic dependencies)
345
- - Only split if hard dependency conditions are all met
346
- - MVP-tagged Epics → Milestone 1, Post-MVP → Milestone 2+
347
- - Small Epics (1-2 Stories, all size S) MUST be merged
348
- - Epic dependencies → wave ordering within phase (not phase splits)
349
- - Stories within Epics → phase success criteria
350
- - ADR decisions → phase technical constraints
351
-
352
- **Step 11.2: Generate Draft Roadmap**
353
- Follow roadmap-common.md **Roadmap Template** format. For full mode, populate from product-brief.md vision and Epic→Stories acceptance criteria.
354
-
355
- **Step 11.3: Interactive Refinement (max 3 rounds)**
356
- - Present roadmap overview: phase count, milestone structure, dependency graph
357
- - **Before presenting**: validate minimum-phase principle. Auto-merge violations and inform user.
358
- - User feedback via AskUserQuestion:
359
- - **Approve**: Run final sizing check before accepting
360
- - **Adjust Scope**: Move Epics between milestones, merge phases
361
- - **Reorder**: Change phase sequencing
362
- - **Split/Merge**: Combine small phases (min 5 tasks enforced); splits require hard-dependency justification
363
- - `--yes`: auto-approve (minimum-phase principle still enforced automatically)
364
-
365
- **Step 11.4: Write Outputs**
366
- - Write `roadmap.md` to spec directory: `{spec_dir}/roadmap.md`
367
- - Write `.workflow/roadmap.md` — follow roadmap-common.md **Overwrite vs Edit Rules**
368
- - Update `spec-config.json`: add Phase 7 completion
369
- - Update `state.json` — follow roadmap-common.md **state.json Update Rules**
370
-
371
- **Step 11.5: Handoff Options (AskUserQuestion)**
372
-
373
- | Option | Action |
374
- |--------|--------|
375
- | Initialize project | Skill({ skill: "maestro-init" }) |
376
- | Plan first phase | Skill({ skill: "maestro-plan", args: "1" }) |
377
- | Create issues | Generate issues per phase via Skill({ skill: "manage-issue" }) |
378
- | Export only | Spec + roadmap complete, no further action |
379
-
380
- ### Step 12: Final Report
381
-
382
- ```
383
- == spec-generate complete ==
384
- Session: SPEC-{slug}-{date} | Quality: {score}% ({gate}) | Phases: {completed_count}/7
385
- Output: .workflow/.spec/{session_id}/
386
- spec-config.json, product-brief.md, requirements/, architecture/, epics/,
387
- readiness-report.md, spec-summary.md, roadmap.md
388
-
389
- Next: maestro-init (setup) | maestro-plan 1 (plan first phase)
390
- ```
391
-
392
- ---
393
-
394
- ## Key Design Principles
395
-
396
- 1. **Document Chain**: Each phase builds on previous outputs with traceability
397
- 2. **Multi-Perspective Analysis**: CLI tools provide product, technical, and user perspectives
398
- 3. **Interactive by Default**: Each phase offers user confirmation; `-y` enables auto mode
399
- 4. **Resumable Sessions**: spec-config.json tracks phases; `-c` resumes from checkpoint
400
- 5. **Template-Driven**: All documents from standardized templates with YAML frontmatter
401
- 6. **Spec Type Specialization**: Templates adapt to service/api/library/platform via profiles
402
- 7. **Terminology Consistency**: glossary.json from Phase 2 injected into all subsequent phases
403
- 8. **Iterative Quality**: Phase 6.5 auto-fix loop (max 2 iterations)
404
- 9. **Context Package Integration**: `--from` loads upstream context-package.json as seed (brainstorm:ID, @file, or path). `--from-brainstorm` retained as backward-compatible alias
405
-
406
- ## State Management
407
-
408
- **spec-config.json**:
409
- ```json
410
- {
411
- "session_id": "SPEC-xxx-2026-03-15",
412
- "seed_input": "User input text",
413
- "input_type": "text|file|context-package",
414
- "timestamp": "ISO8601",
415
- "mode": "interactive|auto",
416
- "complexity": "simple|moderate|complex",
417
- "depth": "light|standard|comprehensive",
418
- "focus_areas": [],
419
- "spec_type": "service|api|library|platform",
420
- "iteration_count": 0,
421
- "iteration_history": [],
422
- "seed_analysis": {
423
- "problem_statement": "...",
424
- "target_users": [],
425
- "domain": "...",
426
- "constraints": [],
427
- "dimensions": []
428
- },
429
- "has_codebase": false,
430
- "phasesCompleted": [
431
- { "phase": 1, "name": "discovery", "output_file": "spec-config.json", "completed_at": "ISO8601" }
432
- ]
433
- }
434
- ```
435
-
436
- Resume: `-c` reads spec-config.json, resumes from first incomplete phase.
437
-
438
- ## Quality Dimensions (Phase 6)
439
-
440
- | Dimension | Weight | Focus |
441
- |-----------|--------|-------|
442
- | Completeness | 25% | All sections present with substance |
443
- | Consistency | 25% | Terminology, scope, non-goals alignment |
444
- | Traceability | 25% | Goals → Reqs → Arch → Epics chain |
445
- | Depth | 25% | Testable criteria, justified decisions, estimable stories |
446
-
447
- **Gate**: Pass (>=80%) / Review (60-79%) / Fail (<60%)
448
-
449
- ## Handoff to maestro-init
450
-
451
- When spec-generate completes, `roadmap.md` is already generated (Phase 7).
452
- Run `maestro-init` to set up project infrastructure (project.md, state.json, config.json, specs/).
453
- Init detects existing `.workflow/roadmap.md` and skips roadmap creation.
454
-
455
- ## Error Handling
456
-
457
- | Phase | Error | Blocking? | Action |
458
- |-------|-------|-----------|--------|
459
- | Phase 1 | Empty input | Yes | Error and exit |
460
- | Phase 1 | CLI analysis fails | No | Basic parsing fallback |
461
- | Phase 1.5 | Gap analysis fails | No | Skip to basic prompts |
462
- | Phase 2 | Single CLI fails | No | Continue with available |
463
- | Phase 3 | Gemini fails | No | Codex fallback |
464
- | Phase 4 | Review fails | No | Skip review |
465
- | Phase 5 | Story generation fails | No | Generate epics only |
466
- | Phase 6 | Validation fails | No | Partial report |
467
- | Phase 6.5 | Max iterations (2) | No | Force handoff |
468
- | Step 2.5 | External research fails | No | apiResearchContext = null, continue |
469
-
470
- CLI Fallback Chain: Role-based resolution → degraded mode (local only)
1
+ # Workflow: Spec Generate (Full Mode)
2
+
3
+ Specification document chain producing a complete specification package (Product Brief, PRD, Architecture, Epics, Roadmap) through 7 sequential phases with multi-CLI analysis and interactive refinement. Pure documentation — no code generation.
4
+
5
+ **Shared logic**: `@roadmap-common.md` (worktree guard, context loading, codebase exploration, external research, minimum-phase principle, roadmap write logic)
6
+
7
+ ## Pipeline Position
8
+
9
+ ```
10
+ brainstorm (optional) → init (REQUIRED) → spec-generate → plan → execute → verify
11
+ Alternative light path: init → roadmap (light mode) → plan (skip spec-generate)
12
+ ```
13
+
14
+ > **Relation to blueprint**: `spec-generate` is the full-pipeline superset of `blueprint` (adds P7 roadmap stage on top of P0–P6 spec chain). Use `blueprint` when only specs are needed; use `spec-generate` when downstream `roadmap → plan` execution is intended.
15
+
16
+ ## Architecture
17
+
18
+ ```
19
+ P0: Spec Study → P1: Discovery → P1.5: Req Expansion → P2: Product Brief → P3: PRD → P4: Architecture → P5: Epics → P6: Readiness Check → P7: Roadmap
20
+
21
+ P6 gate: Pass (>=80%) → P7 | Review (60-79%) → P7 w/caveats | Fail (<60%) → P6.5 Auto-Fix (max 2 iter) → re-check
22
+ ```
23
+
24
+ ## Arguments
25
+
26
+ ```
27
+ $ARGUMENTS: "<idea or @file> [-y] [-c] [--from <source>]"
28
+
29
+ <idea> -- Idea text or @file reference
30
+ -y / --yes -- Auto mode, skip interactive questions
31
+ -c / --continue -- Resume from last checkpoint
32
+ --from <source> -- Load upstream context package (brainstorm:ID, @file, or path) as enriched seed. Alias: --from-brainstorm
33
+ ```
34
+
35
+ ## Output Structure
36
+
37
+ ```
38
+ .workflow/.spec/SPEC-{slug}-{YYYY-MM-DD}/
39
+ ├── spec-config.json # Session configuration + phase state
40
+ ├── discovery-context.json # Codebase exploration (optional)
41
+ ├── refined-requirements.json # Phase 1.5: Confirmed requirements
42
+ ├── glossary.json # Phase 2: Terminology glossary
43
+ ├── product-brief.md # Phase 2: Product brief
44
+ ├── requirements/ # Phase 3: Detailed PRD
45
+ │ ├── _index.md # Summary, MoSCoW table, traceability
46
+ │ ├── REQ-NNN-{slug}.md # Functional requirement
47
+ │ └── NFR-{type}-NNN-{slug}.md # Non-functional requirement
48
+ ├── architecture/ # Phase 4: Architecture decisions
49
+ │ ├── _index.md # Overview, components, tech stack
50
+ │ └── ADR-NNN-{slug}.md # Architecture Decision Record
51
+ ├── epics/ # Phase 5: Epic/Story breakdown
52
+ │ ├── _index.md # Epic table, dependency map, MVP
53
+ │ └── EPIC-NNN-{slug}.md # Individual Epic with Stories
54
+ ├── readiness-report.md # Phase 6: Quality report
55
+ ├── spec-summary.md # Phase 6: Executive summary
56
+ └── roadmap.md # Phase 7: Project roadmap (also written to .workflow/roadmap.md)
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Process
62
+
63
+ ### Step 1: Prerequisite Loading (Phase 0)
64
+
65
+ Load specification and template documents:
66
+
67
+ | Document | Purpose | Priority |
68
+ |----------|---------|----------|
69
+ | Document standards | Format, frontmatter, naming conventions | P0 - must read |
70
+ | Quality gates | Per-phase quality criteria and scoring | P0 - must read |
71
+ | Templates | product-brief, requirements-prd, architecture-doc, epics-template | Read on-demand per phase |
72
+
73
+ **Load project specs and history**: Follow roadmap-common.md "Load Project Context".
74
+
75
+ Additional full-mode rules:
76
+ - Features in `already_shipped` are EXCLUDED from spec generation scope
77
+ - `lessons_learned` inform risk assessment in Phase 1 and architecture decisions in Phase 4
78
+ - Pass assembled `project_context` to Phase 1 seed analysis and Phase 7 roadmap generation
79
+
80
+ ### Step 2: Discovery & Seed Analysis (Phase 1)
81
+
82
+ Parse input, analyze the seed idea, optionally explore codebase, establish session.
83
+
84
+ **Step 2.1: Input Parsing**
85
+ - Parse $ARGUMENTS: extract idea/topic, flags (-y, -c, --from)
86
+ - If `-c`: read spec-config.json, resume from first incomplete phase
87
+ - If `--from <source>` (or `--from-brainstorm SESSION-ID` alias):
88
+ - Resolve source to `context-package.json`:
89
+ - `brainstorm:ID` → `state.json.artifacts[type=brainstorm, id=ID].context_package`
90
+ - `@file` → create import session → delegate extraction → context-package.json
91
+ - `path/` → load `path/context-package.json`
92
+ - `--from-brainstorm SESSION-ID` → alias for `--from brainstorm:{resolve(SESSION-ID)}`
93
+ - Load context-package.json as enriched seed:
94
+ - `requirements[]` → Phase 3 PRD seed requirements (skip Phase 1.5)
95
+ - `constraints[]` → Phase 4 Architecture ADR seed
96
+ - `domain.terminology[]` → Phase 2 Glossary seed
97
+ - `domain.problem_statement` → Phase 2 Product Brief context
98
+ - `non_goals[]` → Phase 2 Product Brief exclusions
99
+ - `insights[]` → Phase 4 Architecture decisions context
100
+ - `references[]` → available for deep-read when needed
101
+ - Set `input_type: "context-package"` — skip Phase 1.5
102
+ - If `@file`: read file content as seed
103
+ - If text: use directly as seed
104
+ - Missing input → error E001
105
+
106
+ **Step 2.2: Session Initialization**
107
+ ```
108
+ Session ID: SPEC-{slug}-{YYYY-MM-DD}
109
+ Output dir: .workflow/.spec/{session_id}/
110
+ ```
111
+
112
+ **Step 2.3: Seed Analysis via CLI**
113
+ - Spawn CLI analysis to extract: problem_statement, target_users, domain, constraints, dimensions (3-5)
114
+ - Assess complexity: simple (1-2 components) / moderate (3-5) / complex (6+)
115
+ - For context-package input: enrich with feature decomposition data
116
+
117
+ **Step 2.4: Codebase Exploration** — follow roadmap-common.md
118
+ - Output: `discovery-context.json` with relevant_files, patterns, tech_stack
119
+
120
+ **Step 2.5: External Research** — follow roadmap-common.md
121
+
122
+ `apiResearchContext` is passed into:
123
+ - Step 4 (Product Brief): technology feasibility assessment
124
+ - Step 5 (Requirements): API-aware requirement writing with concrete constraints
125
+ - Step 6 (Architecture): informed ADR decisions with version-specific details
126
+ - Step 7 (Epics): realistic story sizing based on API complexity
127
+
128
+ **Step 2.6: Spec Type Selection**
129
+ - Interactive (AskUserQuestion): Service / API / Library / Platform
130
+ - `--yes`: default to "service"
131
+ - Each type loads a profile template for domain-specific sections
132
+
133
+ **Step 2.7: User Confirmation (interactive)**
134
+ - Confirm problem statement, select depth (Light/Standard/Comprehensive), select focus areas
135
+ - `--yes`: accept all defaults
136
+
137
+ **Output**: `spec-config.json`, `discovery-context.json` (optional), `apiResearchContext` (in-memory, optional)
138
+
139
+ ### Step 3: Requirement Expansion & Clarification (Phase 1.5)
140
+
141
+ Skip if `--from` (requirements already in context-package.json).
142
+
143
+ **Step 3.1: CLI Gap Analysis**
144
+ - Analyze seed for completeness (score 1-10), identify missing dimensions
145
+ - Generate 3-5 clarification areas with questions and expansion suggestions
146
+ - Dimensions checked: functional scope, user scenarios, NFRs, integrations, data model, error handling
147
+
148
+ **Step 3.2: Interactive Discussion Loop (max 5 rounds)**
149
+ - Round 1: present gap analysis + expansion suggestions via AskUserQuestion
150
+ - Round N: CLI follow-up analysis based on user responses, refine requirements
151
+ - User can: answer questions, accept suggestions, or skip to generation
152
+ - `--yes`: CLI auto-expansion without interaction
153
+
154
+ **Step 3.3: User Confirmation**
155
+ - Present requirement summary, user confirms or requests adjustments
156
+ - `--yes`: auto-confirm
157
+
158
+ **Output**: `refined-requirements.json` (confirmed features, NFRs, boundaries, assumptions)
159
+
160
+ ### Step 4: Product Brief (Phase 2)
161
+
162
+ Generate product brief through multi-perspective CLI analysis.
163
+
164
+ **Step 4.1: Load Context**
165
+ - Read refined-requirements.json (preferred) or seed_analysis fallback
166
+ - Read discovery-context.json (if codebase detected)
167
+ - For context-package input: read context-package.json domain and requirements sections
168
+
169
+ **Step 4.2: Multi-CLI Parallel Analysis (3 perspectives)**
170
+
171
+ | Perspective | Role | Focus |
172
+ |-------------|------|-------|
173
+ | Product | analyze | Vision, market fit, success criteria, scope boundaries |
174
+ | Technical | review | Feasibility, constraints, integration complexity, tech recommendations |
175
+ | User | explore | Personas, journey maps, pain points, UX criteria |
176
+
177
+ **Step 4.3: Synthesis**
178
+ - Extract convergent themes (all agree), conflicts (need resolution), unique insights
179
+ - For context-package input: cross-reference with context-package insights and constraints
180
+ - If `apiResearchContext` is set: inject API details into technical feasibility assessment
181
+
182
+ **Step 4.4: Interactive Refinement**
183
+ - Present synthesis, user adjusts scope/vision
184
+ - `--yes`: accept synthesis as-is
185
+
186
+ **Step 4.5: Generate Outputs**
187
+ - `product-brief.md` from template (YAML frontmatter + filled content)
188
+ - `glossary.json` — 5+ core terms extracted from product brief and CLI analysis
189
+ - Each term: canonical name, definition, aliases, category (core/technical/business)
190
+ - Injected into all subsequent phase CLI prompts for terminology consistency
191
+
192
+ **Output**: `product-brief.md`, `glossary.json`
193
+
194
+ ### Step 5: Requirements / PRD (Phase 3)
195
+
196
+ Generate detailed PRD with functional/non-functional requirements.
197
+
198
+ **Step 5.1: Requirement Expansion via CLI**
199
+ - For each product brief goal, generate 3-7 functional requirements
200
+ - Each requirement: REQ-NNN ID, title, description, user story, 2-4 acceptance criteria
201
+ - Generate non-functional requirements: performance, security, scalability, usability
202
+ - Apply RFC 2119 keywords (MUST/SHOULD/MAY) to all behavioral constraints
203
+ - Define core entity data models: fields, types, constraints, relationships
204
+ - Inject glossary.json for terminology consistency
205
+
206
+ **Step 5.2: MoSCoW Priority Sorting (interactive)**
207
+ - Present requirements grouped by initial priority
208
+ - User adjusts Must/Should/Could/Won't labels
209
+ - Select MVP scope: Must-only / Must+key Should / Comprehensive
210
+ - `--yes`: accept CLI-suggested priorities
211
+
212
+ **Step 5.3: Generate Directory**
213
+ - `requirements/_index.md` — summary table, MoSCoW breakdown, traceability matrix
214
+ - `requirements/REQ-NNN-{slug}.md` — one per functional requirement
215
+ - `requirements/NFR-{type}-NNN-{slug}.md` — one per non-functional requirement
216
+
217
+ **Output**: `requirements/` directory (index + individual files)
218
+
219
+ ### Step 6: Architecture (Phase 4)
220
+
221
+ Generate architecture decisions, component design, and technology selections.
222
+
223
+ **Step 6.1: Architecture Analysis via CLI (role: review)**
224
+ - System architecture style with justification
225
+ - Core components and responsibilities
226
+ - Component interaction diagram (Mermaid graph TD)
227
+ - Technology stack: languages, frameworks, databases, infrastructure
228
+ - 2-4 Architecture Decision Records (ADRs): context, decision, alternatives, consequences
229
+ - Data model: entities and relationships (Mermaid erDiagram)
230
+ - Security architecture: auth, authorization, data protection
231
+ - **State machine**: ASCII diagram + transition table for lifecycle entities (service/platform type)
232
+ - **Configuration model**: all configurable fields with type, default, constraint
233
+ - **Error handling strategy**: per-component classification (transient/permanent/degraded), recovery mechanisms
234
+ - **Observability**: key metrics (5+), structured log events, health checks
235
+ - Spec type profile injection for domain-specific depth
236
+ - Glossary injection for terminology consistency
237
+ - If `apiResearchContext` is set: inject as "External API Research" context
238
+
239
+ **Step 6.2: Architecture Review via CLI (role: review)**
240
+ - Challenge each ADR, identify scalability bottlenecks
241
+ - Assess security gaps, evaluate technology choices
242
+ - Rate overall quality 1-5
243
+
244
+ **Step 6.3: Interactive ADR Decisions**
245
+ - Present ADRs with review feedback, user decides: accept / incorporate feedback / simplify
246
+ - `--yes`: auto-accept
247
+
248
+ **Step 6.4: Codebase Integration Mapping (conditional)**
249
+ - Map new components to existing code modules
250
+
251
+ **Step 6.5: Generate Directory**
252
+ - `architecture/_index.md` — overview, component diagram, tech stack, data model, security
253
+ - `architecture/ADR-NNN-{slug}.md` — one per Architecture Decision Record
254
+
255
+ **Output**: `architecture/` directory (index + individual ADR files)
256
+
257
+ ### Step 7: Epics & Stories (Phase 5)
258
+
259
+ Decompose specification into executable Epics and Stories.
260
+
261
+ **Step 7.1: Epic Decomposition via CLI**
262
+ - Group requirements into logical Epics (EPIC-NNN IDs). Epic count is unconstrained — Phase 7 will merge Epics into minimal phases via the minimum-phase principle.
263
+ - Tag MVP subset
264
+ - For each Epic: 2-5 Stories in "As a...I want...So that..." format
265
+ - Each Story: 2-4 testable acceptance criteria, relative size (S/M/L/XL), trace to REQ-NNN
266
+ - Cross-Epic dependency map (Mermaid graph LR)
267
+ - Recommended execution order with rationale
268
+ - MVP definition of done (3-5 criteria)
269
+
270
+ **Epic sizing awareness** (informs Phase 7 roadmap generation):
271
+ - Epics that are too small (1-2 Stories, all size S) should be flagged for merge in Phase 7
272
+ - Each Epic should carry enough substance to become part of a phase with 5+ tasks
273
+ - Prefer fewer, larger Epics over many tiny ones
274
+
275
+ **Step 7.2: Interactive Validation**
276
+ - Present Epic overview, user adjusts: merge/split epics, adjust MVP scope
277
+ - `--yes`: accept as-is
278
+
279
+ **Step 7.3: Generate Directory**
280
+ - `epics/_index.md` — overview table, dependency map, MVP scope, execution order, traceability
281
+ - `epics/EPIC-NNN-{slug}.md` — one per Epic with embedded Stories
282
+
283
+ **Output**: `epics/` directory (index + individual Epic files)
284
+
285
+ ### Step 8: Readiness Check & Handoff (Phase 6)
286
+
287
+ Validate specification package and provide execution handoff.
288
+
289
+ **Step 8.1: Cross-Document Validation via CLI**
290
+ Score on 4 dimensions (25% each):
291
+ 1. **Completeness**: all required sections present with substantive content
292
+ 2. **Consistency**: terminology uniform (glossary compliance), scope containment, non-goals respected
293
+ 3. **Traceability**: goals → requirements → architecture → epics (matrix generated)
294
+ 4. **Depth**: acceptance criteria testable, ADRs justified, stories estimable
295
+
296
+ Gate decision: Pass (>=80) / Review (60-79) / Fail (<60)
297
+
298
+ **Step 8.2: Generate Reports**
299
+ - `readiness-report.md` — quality scores, issue list (Error/Warning/Info), traceability matrix
300
+ - `spec-summary.md` — one-page executive summary
301
+
302
+ **Step 8.3: Update Document Status**
303
+ - All document frontmatter updated to `status: complete`
304
+
305
+ **Step 8.4: Gate Routing**
306
+
307
+ | Gate Result | Action |
308
+ |-------------|--------|
309
+ | Pass (>=80%) | Proceed to Step 11 (Phase 7: Roadmap) |
310
+ | Review (60-79%) | Proceed to Step 11 with caveats logged |
311
+ | Fail (<60%) | Trigger Step 9 (Auto-Fix), then re-run Step 8 |
312
+
313
+ ### Step 9: Auto-Fix (Phase 6.5, conditional)
314
+
315
+ Triggered when Phase 6 score < 60%.
316
+
317
+ **Step 9.1: Parse Readiness Report**
318
+ - Extract Error and Warning items, group by originating phase (2-5), map to affected files
319
+
320
+ **Step 9.2: Fix Affected Phases (sequential, Phase 2→3→4→5)**
321
+ - Read current phase output
322
+ - CLI re-generation with error context injected
323
+ - Inject glossary for terminology consistency
324
+ - Preserve unflagged content, only fix flagged issues
325
+ - Increment document version
326
+
327
+ **Step 9.3: Re-run Phase 6**
328
+ - Generate new readiness-report.md
329
+ - If still Fail and iteration_count < 2: loop back
330
+ - If Pass or max iterations (2) reached: proceed to handoff
331
+
332
+ **Output**: Updated Phase 2-5 documents, updated spec-config.json with iteration tracking
333
+
334
+ ### Step 11: Roadmap Generation (Phase 7)
335
+
336
+ Convert Epics into an interactive roadmap with user confirmation.
337
+
338
+ **Step 11.1: Epic→Phase Mapping**
339
+ - Read `epics/_index.md` for Epic table, dependency map, MVP tags
340
+ - Read individual `EPIC-NNN-{slug}.md` for Stories and acceptance criteria
341
+ - Read `architecture/_index.md` for technical constraints (ADR decisions)
342
+
343
+ Apply **Minimum-Phase Principle** from roadmap-common.md for Epic→Phase mapping:
344
+ - Default: ALL Epics → 1 Phase (wave DAG orders tasks by Epic dependencies)
345
+ - Only split if hard dependency conditions are all met
346
+ - MVP-tagged Epics → Milestone 1, Post-MVP → Milestone 2+
347
+ - Small Epics (1-2 Stories, all size S) MUST be merged
348
+ - Epic dependencies → wave ordering within phase (not phase splits)
349
+ - Stories within Epics → phase success criteria
350
+ - ADR decisions → phase technical constraints
351
+
352
+ **Step 11.2: Generate Draft Roadmap**
353
+ Follow roadmap-common.md **Roadmap Template** format. For full mode, populate from product-brief.md vision and Epic→Stories acceptance criteria.
354
+
355
+ **Step 11.3: Interactive Refinement (max 3 rounds)**
356
+ - Present roadmap overview: phase count, milestone structure, dependency graph
357
+ - **Before presenting**: validate minimum-phase principle. Auto-merge violations and inform user.
358
+ - User feedback via AskUserQuestion:
359
+ - **Approve**: Run final sizing check before accepting
360
+ - **Adjust Scope**: Move Epics between milestones, merge phases
361
+ - **Reorder**: Change phase sequencing
362
+ - **Split/Merge**: Combine small phases (min 5 tasks enforced); splits require hard-dependency justification
363
+ - `--yes`: auto-approve (minimum-phase principle still enforced automatically)
364
+
365
+ **Step 11.4: Write Outputs**
366
+ - Write `roadmap.md` to spec directory: `{spec_dir}/roadmap.md`
367
+ - Write `.workflow/roadmap.md` — follow roadmap-common.md **Overwrite vs Edit Rules**
368
+ - Update `spec-config.json`: add Phase 7 completion
369
+ - Update `state.json` — follow roadmap-common.md **state.json Update Rules**
370
+
371
+ **Step 11.5: Handoff Options (AskUserQuestion)**
372
+
373
+ | Option | Action |
374
+ |--------|--------|
375
+ | Initialize project | Skill({ skill: "maestro-init" }) |
376
+ | Plan first phase | Skill({ skill: "maestro-plan", args: "1" }) |
377
+ | Create issues | Generate issues per phase via Skill({ skill: "manage-issue" }) |
378
+ | Export only | Spec + roadmap complete, no further action |
379
+
380
+ ### Step 12: Final Report
381
+
382
+ ```
383
+ == spec-generate complete ==
384
+ Session: SPEC-{slug}-{date} | Quality: {score}% ({gate}) | Phases: {completed_count}/7
385
+ Output: .workflow/.spec/{session_id}/
386
+ spec-config.json, product-brief.md, requirements/, architecture/, epics/,
387
+ readiness-report.md, spec-summary.md, roadmap.md
388
+
389
+ Next: maestro-init (setup) | maestro-plan 1 (plan first phase)
390
+ ```
391
+
392
+ ---
393
+
394
+ ## Key Design Principles
395
+
396
+ 1. **Document Chain**: Each phase builds on previous outputs with traceability
397
+ 2. **Multi-Perspective Analysis**: CLI tools provide product, technical, and user perspectives
398
+ 3. **Interactive by Default**: Each phase offers user confirmation; `-y` enables auto mode
399
+ 4. **Resumable Sessions**: spec-config.json tracks phases; `-c` resumes from checkpoint
400
+ 5. **Template-Driven**: All documents from standardized templates with YAML frontmatter
401
+ 6. **Spec Type Specialization**: Templates adapt to service/api/library/platform via profiles
402
+ 7. **Terminology Consistency**: glossary.json from Phase 2 injected into all subsequent phases
403
+ 8. **Iterative Quality**: Phase 6.5 auto-fix loop (max 2 iterations)
404
+ 9. **Context Package Integration**: `--from` loads upstream context-package.json as seed (brainstorm:ID, @file, or path). `--from-brainstorm` retained as backward-compatible alias
405
+
406
+ ## State Management
407
+
408
+ **spec-config.json**:
409
+ ```json
410
+ {
411
+ "session_id": "SPEC-xxx-2026-03-15",
412
+ "seed_input": "User input text",
413
+ "input_type": "text|file|context-package",
414
+ "timestamp": "ISO8601",
415
+ "mode": "interactive|auto",
416
+ "complexity": "simple|moderate|complex",
417
+ "depth": "light|standard|comprehensive",
418
+ "focus_areas": [],
419
+ "spec_type": "service|api|library|platform",
420
+ "iteration_count": 0,
421
+ "iteration_history": [],
422
+ "seed_analysis": {
423
+ "problem_statement": "...",
424
+ "target_users": [],
425
+ "domain": "...",
426
+ "constraints": [],
427
+ "dimensions": []
428
+ },
429
+ "has_codebase": false,
430
+ "phasesCompleted": [
431
+ { "phase": 1, "name": "discovery", "output_file": "spec-config.json", "completed_at": "ISO8601" }
432
+ ]
433
+ }
434
+ ```
435
+
436
+ Resume: `-c` reads spec-config.json, resumes from first incomplete phase.
437
+
438
+ ## Quality Dimensions (Phase 6)
439
+
440
+ | Dimension | Weight | Focus |
441
+ |-----------|--------|-------|
442
+ | Completeness | 25% | All sections present with substance |
443
+ | Consistency | 25% | Terminology, scope, non-goals alignment |
444
+ | Traceability | 25% | Goals → Reqs → Arch → Epics chain |
445
+ | Depth | 25% | Testable criteria, justified decisions, estimable stories |
446
+
447
+ **Gate**: Pass (>=80%) / Review (60-79%) / Fail (<60%)
448
+
449
+ ## Handoff to maestro-init
450
+
451
+ When spec-generate completes, `roadmap.md` is already generated (Phase 7).
452
+ Run `maestro-init` to set up project infrastructure (project.md, state.json, config.json, specs/).
453
+ Init detects existing `.workflow/roadmap.md` and skips roadmap creation.
454
+
455
+ ## Error Handling
456
+
457
+ | Phase | Error | Blocking? | Action |
458
+ |-------|-------|-----------|--------|
459
+ | Phase 1 | Empty input | Yes | Error and exit |
460
+ | Phase 1 | CLI analysis fails | No | Basic parsing fallback |
461
+ | Phase 1.5 | Gap analysis fails | No | Skip to basic prompts |
462
+ | Phase 2 | Single CLI fails | No | Continue with available |
463
+ | Phase 3 | Gemini fails | No | Codex fallback |
464
+ | Phase 4 | Review fails | No | Skip review |
465
+ | Phase 5 | Story generation fails | No | Generate epics only |
466
+ | Phase 6 | Validation fails | No | Partial report |
467
+ | Phase 6.5 | Max iterations (2) | No | Force handoff |
468
+ | Step 2.5 | External research fails | No | apiResearchContext = null, continue |
469
+
470
+ CLI Fallback Chain: Role-based resolution → degraded mode (local only)