pi-maestro-flow 0.2.0 → 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 (235) hide show
  1. package/README.md +44 -72
  2. package/agents/cross-role-reviewer.md +1 -1
  3. package/agents/impeccable-agent.md +1 -1
  4. package/agents/ralph-executor.md +1 -1
  5. package/agents/team-worker.md +1 -1
  6. package/agents/workflow-analyzer.md +1 -1
  7. package/agents/workflow-codebase-mapper.md +1 -1
  8. package/agents/workflow-collab-planner.md +1 -1
  9. package/agents/workflow-debugger.md +1 -1
  10. package/agents/workflow-executor.md +1 -1
  11. package/agents/workflow-integration-checker.md +1 -1
  12. package/agents/workflow-nyquist-auditor.md +1 -1
  13. package/agents/workflow-phase-researcher.md +1 -1
  14. package/agents/workflow-planner.md +1 -1
  15. package/agents/workflow-project-researcher.md +1 -1
  16. package/agents/workflow-reviewer.md +1 -1
  17. package/agents/workflow-verifier.md +1 -1
  18. package/package.json +13 -4
  19. package/skills/codify-to-knowhow/SKILL.md +1 -1
  20. package/skills/delegation-check/SKILL.md +1 -1
  21. package/skills/domain-add/SKILL.md +5 -7
  22. package/skills/insight-challenge/SKILL.md +1 -1
  23. package/skills/learn-decompose/SKILL.md +4 -4
  24. package/skills/learn-follow/SKILL.md +5 -5
  25. package/skills/learn-investigate/SKILL.md +5 -5
  26. package/skills/learn-second-opinion/SKILL.md +5 -5
  27. package/skills/maestro/SKILL.md +9 -10
  28. package/skills/maestro-amend/SKILL.md +3 -3
  29. package/skills/maestro-analyze/SKILL.md +10 -13
  30. package/skills/maestro-blueprint/SKILL.md +8 -11
  31. package/skills/maestro-brainstorm/SKILL.md +11 -14
  32. package/skills/maestro-collab/SKILL.md +4 -4
  33. package/skills/maestro-companion/SKILL.md +3 -3
  34. package/skills/maestro-composer/SKILL.md +11 -12
  35. package/skills/maestro-execute/SKILL.md +9 -12
  36. package/skills/maestro-fork/SKILL.md +8 -11
  37. package/skills/maestro-grill/SKILL.md +13 -16
  38. package/skills/maestro-guard/SKILL.md +5 -5
  39. package/skills/maestro-help/SKILL.md +3 -3
  40. package/skills/maestro-impeccable/SKILL.md +7 -7
  41. package/skills/maestro-init/SKILL.md +9 -12
  42. package/skills/maestro-merge/SKILL.md +6 -8
  43. package/skills/maestro-milestone-audit/SKILL.md +3 -5
  44. package/skills/maestro-milestone-complete/SKILL.md +9 -12
  45. package/skills/maestro-milestone-release/SKILL.md +9 -11
  46. package/skills/maestro-next/SKILL.md +5 -5
  47. package/skills/maestro-overlay/SKILL.md +16 -16
  48. package/skills/maestro-plan/SKILL.md +9 -12
  49. package/skills/maestro-player/SKILL.md +5 -5
  50. package/skills/maestro-quick/SKILL.md +5 -7
  51. package/skills/maestro-ralph/SKILL.md +16 -17
  52. package/skills/maestro-ralph-cli/SKILL.md +6 -6
  53. package/skills/maestro-ralph-cli-execute/SKILL.md +2 -2
  54. package/skills/maestro-ralph-execute/SKILL.md +4 -4
  55. package/skills/maestro-ralph-v2/SKILL.md +18 -19
  56. package/skills/maestro-roadmap/SKILL.md +8 -9
  57. package/skills/maestro-swarm-workflow/SKILL.md +9 -9
  58. package/skills/maestro-tools-execute/SKILL.md +5 -7
  59. package/skills/maestro-tools-register/SKILL.md +7 -9
  60. package/skills/maestro-ui-codify/SKILL.md +9 -10
  61. package/skills/maestro-universal-workflow/SKILL.md +15 -15
  62. package/skills/maestro-update/SKILL.md +10 -10
  63. package/skills/manage-codebase-rebuild/SKILL.md +4 -6
  64. package/skills/manage-drift-realign/SKILL.md +8 -11
  65. package/skills/manage-harvest/SKILL.md +6 -9
  66. package/skills/manage-issue/SKILL.md +5 -8
  67. package/skills/manage-issue-discover/SKILL.md +8 -11
  68. package/skills/manage-kg-extractors/SKILL.md +3 -3
  69. package/skills/manage-knowhow/SKILL.md +3 -5
  70. package/skills/manage-knowhow-capture/SKILL.md +4 -6
  71. package/skills/manage-knowledge-audit/SKILL.md +6 -9
  72. package/skills/manage-status/SKILL.md +3 -5
  73. package/skills/manage-wiki/SKILL.md +5 -7
  74. package/skills/odyssey-debug/SKILL.md +13 -13
  75. package/skills/odyssey-improve/SKILL.md +15 -15
  76. package/skills/odyssey-planex/SKILL.md +16 -16
  77. package/skills/odyssey-review-test-fix/SKILL.md +11 -11
  78. package/skills/odyssey-ui/SKILL.md +10 -10
  79. package/skills/prompt-generator/SKILL.md +5 -5
  80. package/skills/quality-auto-test/SKILL.md +3 -5
  81. package/skills/quality-debug/SKILL.md +3 -5
  82. package/skills/quality-refactor/SKILL.md +3 -5
  83. package/skills/quality-retrospective/SKILL.md +10 -13
  84. package/skills/quality-review/SKILL.md +5 -8
  85. package/skills/quality-sync/SKILL.md +3 -5
  86. package/skills/quality-test/SKILL.md +4 -6
  87. package/skills/scholar-anti-ai-writing/SKILL.md +1 -1
  88. package/skills/scholar-citation-verify/SKILL.md +1 -1
  89. package/skills/scholar-experiment/SKILL.md +2 -2
  90. package/skills/scholar-ideation/SKILL.md +7 -7
  91. package/skills/scholar-latex-organizer/SKILL.md +1 -1
  92. package/skills/scholar-publish/SKILL.md +3 -3
  93. package/skills/scholar-rebuttal-pro/SKILL.md +3 -3
  94. package/skills/scholar-review/SKILL.md +1 -1
  95. package/skills/scholar-writing/SKILL.md +1 -1
  96. package/skills/security-audit/SKILL.md +2 -4
  97. package/skills/skill-generator/SKILL.md +3 -3
  98. package/skills/skill-iter-tune/SKILL.md +3 -3
  99. package/skills/skill-simplify/SKILL.md +1 -1
  100. package/skills/skill-tuning/SKILL.md +1 -1
  101. package/skills/spec-add/SKILL.md +5 -7
  102. package/skills/spec-load/SKILL.md +3 -5
  103. package/skills/spec-remove/SKILL.md +4 -6
  104. package/skills/spec-setup/SKILL.md +6 -8
  105. package/skills/team-adversarial-swarm/SKILL.md +5 -5
  106. package/skills/team-arch-opt/SKILL.md +2 -2
  107. package/skills/team-brainstorm/SKILL.md +3 -3
  108. package/skills/team-coordinate/SKILL.md +4 -4
  109. package/skills/team-designer/SKILL.md +1 -1
  110. package/skills/team-executor/SKILL.md +3 -3
  111. package/skills/team-frontend/SKILL.md +2 -2
  112. package/skills/team-frontend-debug/SKILL.md +3 -3
  113. package/skills/team-interactive-craft/SKILL.md +2 -2
  114. package/skills/team-issue/SKILL.md +3 -3
  115. package/skills/team-lifecycle-v4/SKILL.md +4 -4
  116. package/skills/team-motion-design/SKILL.md +2 -2
  117. package/skills/team-perf-opt/SKILL.md +3 -3
  118. package/skills/team-planex/SKILL.md +2 -2
  119. package/skills/team-quality-assurance/SKILL.md +3 -3
  120. package/skills/team-review/SKILL.md +3 -3
  121. package/skills/team-roadmap-dev/SKILL.md +3 -3
  122. package/skills/team-swarm/SKILL.md +4 -4
  123. package/skills/team-tech-debt/SKILL.md +2 -2
  124. package/skills/team-testing/SKILL.md +3 -3
  125. package/skills/team-ui-polish/SKILL.md +2 -2
  126. package/skills/team-uidesign/SKILL.md +2 -2
  127. package/skills/team-ultra-analyze/SKILL.md +4 -4
  128. package/skills/team-ux-improve/SKILL.md +3 -3
  129. package/skills/team-visual-a11y/SKILL.md +2 -2
  130. package/skills/workflow-skill-designer/SKILL.md +8 -8
  131. package/templates/business-test-report.json +68 -0
  132. package/templates/config.json +48 -0
  133. package/templates/context.md +16 -0
  134. package/templates/doc-index.json +11 -0
  135. package/templates/index.json +68 -0
  136. package/templates/issue.json +36 -0
  137. package/templates/plan.json +38 -0
  138. package/templates/project.md +60 -0
  139. package/templates/reflection-log.md +20 -0
  140. package/templates/roadmap.md +45 -0
  141. package/templates/scratch-index.json +19 -0
  142. package/templates/search-tool.json +1 -0
  143. package/templates/search-tools.md +47 -0
  144. package/templates/state.json +18 -0
  145. package/templates/task-summary.md +21 -0
  146. package/templates/task.json +89 -0
  147. package/templates/terminology-template.json +22 -0
  148. package/templates/uat.md +21 -0
  149. package/templates/validation.json +31 -0
  150. package/templates/verification.json +37 -0
  151. package/templates/workflow.md +14 -0
  152. package/templates/worktree-scope.json +9 -0
  153. package/templates/worktrees.json +26 -0
  154. package/workflows/agy-instructions.md +156 -0
  155. package/workflows/analyze.md +768 -0
  156. package/workflows/auto-test.md +705 -0
  157. package/workflows/blueprint.md +406 -0
  158. package/workflows/boundary-grill.md +50 -0
  159. package/workflows/brainstorm.md +508 -0
  160. package/workflows/business-test.md +574 -0
  161. package/workflows/chinese-response.md +25 -0
  162. package/workflows/claude-instructions.md +167 -0
  163. package/workflows/codebase-rebuild.md +267 -0
  164. package/workflows/codebase-refresh.md +168 -0
  165. package/workflows/codex-instructions.md +156 -0
  166. package/workflows/coding-philosophy.md +70 -0
  167. package/workflows/command-authoring.md +823 -0
  168. package/workflows/debug.md +409 -0
  169. package/workflows/delegate-usage.md +99 -0
  170. package/workflows/domain-add.md +121 -0
  171. package/workflows/drift-realign.md +396 -0
  172. package/workflows/execute.md +631 -0
  173. package/workflows/explore-usage.md +93 -0
  174. package/workflows/finish-work.md +124 -0
  175. package/workflows/fork.md +162 -0
  176. package/workflows/grill.md +494 -0
  177. package/workflows/harvest.md +478 -0
  178. package/workflows/impeccable.md +168 -0
  179. package/workflows/init.md +157 -0
  180. package/workflows/instruction-authoring-guide.md +97 -0
  181. package/workflows/integration-test.md +186 -0
  182. package/workflows/interview-mechanics.md +8 -0
  183. package/workflows/issue-analyze.md +20 -0
  184. package/workflows/issue-discover.md +238 -0
  185. package/workflows/issue-execute.md +110 -0
  186. package/workflows/issue-gaps-analyze.codex.md +256 -0
  187. package/workflows/issue-gaps-analyze.md +215 -0
  188. package/workflows/issue-plan.md +110 -0
  189. package/workflows/issue.md +338 -0
  190. package/workflows/knowhow.md +429 -0
  191. package/workflows/knowledge-audit.md +355 -0
  192. package/workflows/learn.md +271 -0
  193. package/workflows/maestro-chain-execute.md +20 -0
  194. package/workflows/maestro-link-coordinate.md +114 -0
  195. package/workflows/maestro-super.md +120 -0
  196. package/workflows/maestro.md +501 -0
  197. package/workflows/map.md +74 -0
  198. package/workflows/merge.md +122 -0
  199. package/workflows/milestone-audit.md +155 -0
  200. package/workflows/milestone-complete.md +167 -0
  201. package/workflows/milestone-release.md +82 -0
  202. package/workflows/odyssey-base-codex.md +305 -0
  203. package/workflows/odyssey-base.md +256 -0
  204. package/workflows/overlays.md +109 -0
  205. package/workflows/plan.md +520 -0
  206. package/workflows/quick.md +350 -0
  207. package/workflows/ralph-amend-goal.md +177 -0
  208. package/workflows/refactor.md +87 -0
  209. package/workflows/retrospective.md +471 -0
  210. package/workflows/review.md +448 -0
  211. package/workflows/roadmap-common.md +193 -0
  212. package/workflows/roadmap.md +106 -0
  213. package/workflows/shell-exec-protocol.md +30 -0
  214. package/workflows/skill-authoring.md +265 -0
  215. package/workflows/spec-generate.md +475 -0
  216. package/workflows/specs-add.md +123 -0
  217. package/workflows/specs-load.md +76 -0
  218. package/workflows/specs-remove.md +104 -0
  219. package/workflows/specs-setup.md +316 -0
  220. package/workflows/status.md +149 -0
  221. package/workflows/sync.md +116 -0
  222. package/workflows/tdd.md +255 -0
  223. package/workflows/test-gen.md +226 -0
  224. package/workflows/test.md +385 -0
  225. package/workflows/tools-spec.md +70 -0
  226. package/workflows/ui-codify-extract.md +372 -0
  227. package/workflows/ui-codify-knowhow.md +258 -0
  228. package/workflows/ui-codify-package.md +159 -0
  229. package/workflows/ui-codify.md +227 -0
  230. package/workflows/ui-design.md +393 -0
  231. package/workflows/ui-style.md +201 -0
  232. package/workflows/verify.md +557 -0
  233. package/workflows/wiki-connect.md +153 -0
  234. package/workflows/wiki-digest.md +180 -0
  235. package/workflows/wiki-manage.md +113 -0
@@ -0,0 +1,475 @@
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**: `@~/.maestro/workflows/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**: MANDATORY: execute ~/.maestro/workflows/roadmap-common.md "Load Project Context"; REQUIRED produce: specs+history loaded.
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** (MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep)
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** — MANDATORY: execute ~/.maestro/workflows/roadmap-common.md Codebase Exploration logic; REQUIRED produce: discovery-context.json (codebase context)
118
+ - Output: `discovery-context.json` with relevant_files, patterns, tech_stack
119
+
120
+ **Step 2.5: External Research** — MANDATORY: execute ~/.maestro/workflows/roadmap-common.md External Research logic; REQUIRED produce: apiResearchContext (or [LOW CONFIDENCE] if none)
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)** (MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep)
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
+ **GATE P2→P3**: REQUIRED product-brief.md written; BLOCKED if missing
195
+
196
+ ### Step 5: Requirements / PRD (Phase 3)
197
+
198
+ Generate detailed PRD with functional/non-functional requirements.
199
+
200
+ **Step 5.1: Requirement Expansion via CLI**
201
+ - For each product brief goal, generate 3-7 functional requirements
202
+ - Each requirement: REQ-NNN ID, title, description, user story, 2-4 acceptance criteria
203
+ - Generate non-functional requirements: performance, security, scalability, usability
204
+ - Apply RFC 2119 keywords (MUST/SHOULD/MAY) to all behavioral constraints
205
+ - Define core entity data models: fields, types, constraints, relationships
206
+ - Inject glossary.json for terminology consistency
207
+
208
+ **Step 5.2: MoSCoW Priority Sorting (interactive)**
209
+ - Present requirements grouped by initial priority
210
+ - User adjusts Must/Should/Could/Won't labels
211
+ - Select MVP scope: Must-only / Must+key Should / Comprehensive
212
+ - `--yes`: accept CLI-suggested priorities
213
+
214
+ **Step 5.3: Generate Directory**
215
+ - `requirements/_index.md` — summary table, MoSCoW breakdown, traceability matrix
216
+ - `requirements/REQ-NNN-{slug}.md` — one per functional requirement
217
+ - `requirements/NFR-{type}-NNN-{slug}.md` — one per non-functional requirement
218
+
219
+ **Output**: `requirements/` directory (index + individual files)
220
+
221
+ **GATE P3→P4**: REQUIRED requirements/_index.md with MoSCoW table; BLOCKED if missing
222
+
223
+ ### Step 6: Architecture (Phase 4)
224
+
225
+ Generate architecture decisions, component design, and technology selections.
226
+
227
+ **Step 6.1: Architecture Analysis via CLI (role: review)** (MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep)
228
+ - System architecture style with justification
229
+ - Core components and responsibilities
230
+ - Component interaction diagram (Mermaid graph TD)
231
+ - Technology stack: languages, frameworks, databases, infrastructure
232
+ - 2-4 Architecture Decision Records (ADRs): context, decision, alternatives, consequences
233
+ - Data model: entities and relationships (Mermaid erDiagram)
234
+ - Security architecture: auth, authorization, data protection
235
+ - **State machine**: ASCII diagram + transition table for lifecycle entities (service/platform type)
236
+ - **Configuration model**: all configurable fields with type, default, constraint
237
+ - **Error handling strategy**: per-component classification (transient/permanent/degraded), recovery mechanisms
238
+ - **Observability**: key metrics (5+), structured log events, health checks
239
+ - Spec type profile injection for domain-specific depth
240
+ - Glossary injection for terminology consistency
241
+ - If `apiResearchContext` is set: inject as "External API Research" context
242
+
243
+ **Step 6.2: Architecture Review via CLI (role: review)**
244
+ - Challenge each ADR, identify scalability bottlenecks
245
+ - Assess security gaps, evaluate technology choices
246
+ - Rate overall quality 1-5
247
+
248
+ **Step 6.3: Interactive ADR Decisions**
249
+ - Present ADRs with review feedback, user decides: accept / incorporate feedback / simplify
250
+ - `--yes`: auto-accept
251
+
252
+ **Step 6.4: Codebase Integration Mapping (conditional)**
253
+ - Map new components to existing code modules
254
+
255
+ **Step 6.5: Generate Directory**
256
+ - `architecture/_index.md` — overview, component diagram, tech stack, data model, security
257
+ - `architecture/ADR-NNN-{slug}.md` — one per Architecture Decision Record
258
+
259
+ **Output**: `architecture/` directory (index + individual ADR files)
260
+
261
+ ### Step 7: Epics & Stories (Phase 5)
262
+
263
+ Decompose specification into executable Epics and Stories.
264
+
265
+ **Step 7.1: Epic Decomposition via CLI**
266
+ - 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.
267
+ - Tag MVP subset
268
+ - For each Epic: 2-5 Stories in "As a...I want...So that..." format
269
+ - Each Story: 2-4 testable acceptance criteria, relative size (S/M/L/XL), trace to REQ-NNN
270
+ - Cross-Epic dependency map (Mermaid graph LR)
271
+ - Recommended execution order with rationale
272
+ - MVP definition of done (3-5 criteria)
273
+
274
+ **Epic sizing awareness** (informs Phase 7 roadmap generation):
275
+ - Epics that are too small (1-2 Stories, all size S) should be flagged for merge in Phase 7
276
+ - Each Epic should carry enough substance to become part of a phase with 5+ tasks
277
+ - Prefer fewer, larger Epics over many tiny ones
278
+
279
+ **Step 7.2: Interactive Validation**
280
+ - Present Epic overview, user adjusts: merge/split epics, adjust MVP scope
281
+ - `--yes`: accept as-is
282
+
283
+ **Step 7.3: Generate Directory**
284
+ - `epics/_index.md` — overview table, dependency map, MVP scope, execution order, traceability
285
+ - `epics/EPIC-NNN-{slug}.md` — one per Epic with embedded Stories
286
+
287
+ **Output**: `epics/` directory (index + individual Epic files)
288
+
289
+ ### Step 8: Readiness Check & Handoff (Phase 6)
290
+
291
+ Validate specification package and provide execution handoff.
292
+
293
+ **Step 8.1: Cross-Document Validation via CLI**
294
+ Score on 4 dimensions (25% each):
295
+ 1. **Completeness**: all required sections present with substantive content
296
+ 2. **Consistency**: terminology uniform (glossary compliance), scope containment, non-goals respected
297
+ 3. **Traceability**: goals → requirements → architecture → epics (matrix generated)
298
+ 4. **Depth**: acceptance criteria testable, ADRs justified, stories estimable
299
+
300
+ Gate decision: Pass (>=80) / Review (60-79) / Fail (<60)
301
+
302
+ **Step 8.2: Generate Reports**
303
+ - `readiness-report.md` — quality scores, issue list (Error/Warning/Info), traceability matrix
304
+ - `spec-summary.md` — one-page executive summary
305
+
306
+ **Step 8.3: Update Document Status**
307
+ - All document frontmatter updated to `status: complete`
308
+
309
+ **Step 8.4: Gate Routing**
310
+
311
+ | Gate Result | Action |
312
+ |-------------|--------|
313
+ | Pass (>=80%) | Proceed to Step 11 (Phase 7: Roadmap) |
314
+ | Review (60-79%) | Proceed to Step 11 with caveats logged |
315
+ | Fail (<60%) | Trigger Step 9 (Auto-Fix), then re-run Step 8 |
316
+
317
+ ### Step 9: Auto-Fix (Phase 6.5, conditional)
318
+
319
+ Triggered when Phase 6 score < 60%.
320
+
321
+ **Step 9.1: Parse Readiness Report**
322
+ - Extract Error and Warning items, group by originating phase (2-5), map to affected files
323
+
324
+ **Step 9.2: Fix Affected Phases (sequential, Phase 2→3→4→5)**
325
+ - Read current phase output
326
+ - CLI re-generation with error context injected
327
+ - Inject glossary for terminology consistency
328
+ - Preserve unflagged content, only fix flagged issues
329
+ - Increment document version
330
+
331
+ **Step 9.3: Re-run Phase 6**
332
+ - Generate new readiness-report.md
333
+ - If still Fail and iteration_count < 2: loop back
334
+ - If Pass or max iterations (2) reached: proceed to handoff
335
+
336
+ **Output**: Updated Phase 2-5 documents, updated spec-config.json with iteration tracking
337
+
338
+ ### Step 11: Roadmap Generation (Phase 7)
339
+
340
+ Convert Epics into an interactive roadmap with user confirmation.
341
+
342
+ **Step 11.1: Epic→Phase Mapping**
343
+ - Read `epics/_index.md` for Epic table, dependency map, MVP tags
344
+ - Read individual `EPIC-NNN-{slug}.md` for Stories and acceptance criteria
345
+ - Read `architecture/_index.md` for technical constraints (ADR decisions)
346
+
347
+ Apply **Minimum-Phase Principle** from ~/.maestro/workflows/roadmap-common.md for Epic→Phase mapping:
348
+ - Default: ALL Epics → 1 Phase (wave DAG orders tasks by Epic dependencies)
349
+ - Only split if hard dependency conditions are all met
350
+ - MVP-tagged Epics → Milestone 1, Post-MVP → Milestone 2+
351
+ - Small Epics (1-2 Stories, all size S) MUST be merged
352
+ - Epic dependencies → wave ordering within phase (not phase splits)
353
+ - Stories within Epics → phase success criteria
354
+ - ADR decisions → phase technical constraints
355
+
356
+ **Step 11.2: Generate Draft Roadmap**
357
+ MANDATORY: apply ~/.maestro/workflows/roadmap-common.md **Roadmap Template** format. For full mode, populate from product-brief.md vision and Epic→Stories acceptance criteria; REQUIRED produce: roadmap section.
358
+
359
+ **Step 11.3: Interactive Refinement (max 3 rounds)**
360
+ - Present roadmap overview: phase count, milestone structure, dependency graph
361
+ - **Before presenting**: validate minimum-phase principle. Auto-merge violations and inform user.
362
+ - User feedback via AskUserQuestion:
363
+ - **Approve**: Run final sizing check before accepting
364
+ - **Adjust Scope**: Move Epics between milestones, merge phases
365
+ - **Reorder**: Change phase sequencing
366
+ - **Split/Merge**: Combine small phases (min 5 tasks enforced); splits require hard-dependency justification
367
+ - `--yes`: auto-approve (minimum-phase principle still enforced automatically)
368
+
369
+ **Step 11.4: Write Outputs**
370
+ - Write `roadmap.md` to spec directory: `{spec_dir}/roadmap.md`
371
+ - MANDATORY: apply ~/.maestro/workflows/roadmap-common.md **Overwrite vs Edit Rules**; REQUIRED produce: .workflow/roadmap.md; BLOCKED if missing
372
+ - Update `spec-config.json`: add Phase 7 completion
373
+ - MANDATORY: apply ~/.maestro/workflows/roadmap-common.md **state.json Update Rules**; REQUIRED produce: state.json updated
374
+
375
+ **Step 11.5: Handoff Options (AskUserQuestion)**
376
+
377
+ | Option | Action |
378
+ |--------|--------|
379
+ | Initialize project | Skill({ skill: "maestro-init" }) |
380
+ | Plan first phase | Skill({ skill: "maestro-plan", args: "1" }) |
381
+ | Create issues | Generate issues per phase via Skill({ skill: "manage-issue" }) |
382
+ | Export only | Spec + roadmap complete, no further action |
383
+
384
+ ### Step 12: Final Report
385
+
386
+ ```
387
+ Glob product-brief.md AND requirements/ AND architecture/ AND epics/ MUST exist before final report; BLOCKED if missing.
388
+ == spec-generate complete ==
389
+ Session: SPEC-{slug}-{date} | Quality: {score}% ({gate}) | Phases: {completed_count}/7
390
+ Output: .workflow/.spec/{session_id}/
391
+ spec-config.json, product-brief.md, requirements/, architecture/, epics/,
392
+ readiness-report.md, spec-summary.md, roadmap.md
393
+
394
+ Next: maestro-init (setup) | maestro-plan 1 (plan first phase)
395
+ ```
396
+
397
+ ---
398
+
399
+ ## Key Design Principles
400
+
401
+ 1. **Document Chain**: Each phase builds on previous outputs with traceability
402
+ 2. **Multi-Perspective Analysis**: CLI tools provide product, technical, and user perspectives
403
+ 3. **Interactive by Default**: Each phase offers user confirmation; `-y` enables auto mode
404
+ 4. **Resumable Sessions**: spec-config.json tracks phases; `-c` resumes from checkpoint
405
+ 5. **Template-Driven**: All documents from standardized templates with YAML frontmatter
406
+ 6. **Spec Type Specialization**: Templates adapt to service/api/library/platform via profiles
407
+ 7. **Terminology Consistency**: glossary.json from Phase 2 injected into all subsequent phases
408
+ 8. **Iterative Quality**: Phase 6.5 auto-fix loop (max 2 iterations)
409
+ 9. **Context Package Integration**: `--from` loads upstream context-package.json as seed (brainstorm:ID, @file, or path). `--from-brainstorm` retained as backward-compatible alias
410
+
411
+ ## State Management
412
+
413
+ **spec-config.json**:
414
+ ```json
415
+ {
416
+ "session_id": "SPEC-xxx-2026-03-15",
417
+ "seed_input": "User input text",
418
+ "input_type": "text|file|context-package",
419
+ "timestamp": "ISO8601",
420
+ "mode": "interactive|auto",
421
+ "complexity": "simple|moderate|complex",
422
+ "depth": "light|standard|comprehensive",
423
+ "focus_areas": [],
424
+ "spec_type": "service|api|library|platform",
425
+ "iteration_count": 0,
426
+ "iteration_history": [],
427
+ "seed_analysis": {
428
+ "problem_statement": "...",
429
+ "target_users": [],
430
+ "domain": "...",
431
+ "constraints": [],
432
+ "dimensions": []
433
+ },
434
+ "has_codebase": false,
435
+ "phasesCompleted": [
436
+ { "phase": 1, "name": "discovery", "output_file": "spec-config.json", "completed_at": "ISO8601" }
437
+ ]
438
+ }
439
+ ```
440
+
441
+ Resume: `-c` reads spec-config.json, resumes from first incomplete phase.
442
+
443
+ ## Quality Dimensions (Phase 6)
444
+
445
+ | Dimension | Weight | Focus |
446
+ |-----------|--------|-------|
447
+ | Completeness | 25% | All sections present with substance |
448
+ | Consistency | 25% | Terminology, scope, non-goals alignment |
449
+ | Traceability | 25% | Goals → Reqs → Arch → Epics chain |
450
+ | Depth | 25% | Testable criteria, justified decisions, estimable stories |
451
+
452
+ **Gate**: Pass (>=80%) / Review (60-79%) / Fail (<60%)
453
+
454
+ ## Handoff to maestro-init
455
+
456
+ When spec-generate completes, `roadmap.md` is already generated (Phase 7).
457
+ Run `maestro-init` to set up project infrastructure (project.md, state.json, config.json, specs/).
458
+ Init detects existing `.workflow/roadmap.md` and skips roadmap creation.
459
+
460
+ ## Error Handling
461
+
462
+ | Phase | Error | Blocking? | Action |
463
+ |-------|-------|-----------|--------|
464
+ | Phase 1 | Empty input | Yes | Error and exit |
465
+ | Phase 1 | CLI analysis fails | No | Basic parsing fallback; flag seed analysis as [LOW CONFIDENCE] (basic parsing) |
466
+ | Phase 1.5 | Gap analysis fails | No | Skip to basic prompts |
467
+ | Phase 2 | Single CLI fails | No | Continue with available; flag product-brief as [LOW CONFIDENCE] (N-1 perspectives) |
468
+ | Phase 3 | Gemini fails | No | Codex fallback; flag requirements as [LOW CONFIDENCE] (fallback tool) |
469
+ | Phase 4 | Review fails | No | Skip review; flag architecture/ as [LOW CONFIDENCE] (review skipped) |
470
+ | Phase 5 | Story generation fails | No | Generate epics only |
471
+ | Phase 6 | Validation fails | No | Partial report; flag readiness-report as [LOW CONFIDENCE] (validation incomplete) |
472
+ | Phase 6.5 | Max iterations (2) | No | Force handoff |
473
+ | Step 2.5 | External research fails | No | apiResearchContext = null, continue; flag Phase 2-5 outputs as [LOW CONFIDENCE] (no external research) |
474
+
475
+ CLI Fallback Chain: Role-based resolution → degraded mode (local only); flag all affected outputs as [LOW CONFIDENCE] (degraded local-only mode)
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: spec-add
3
+ alias: spec-add
4
+ ---
5
+
6
+ # Workflow: spec-add
7
+
8
+ Add a `<spec-entry>` closed-tag entry to a single target spec file by category.
9
+
10
+ ## Arguments
11
+
12
+ ```
13
+ $ARGUMENTS: "[--scope <scope>] [--uid <uid>] <category> <content>"
14
+
15
+ --scope -- target scope: project (default) | global | team | personal
16
+ --uid -- user id for personal scope (auto-detected from git if omitted)
17
+ category -- one of: coding, arch, quality, debug, test, review, learning, ui
18
+ content -- free-text description of the entry
19
+ ```
20
+
21
+ ## Scope-to-Directory Mapping
22
+
23
+ | Scope | Target directory | uid needed |
24
+ |-------|-----------------|------------|
25
+ | `project` (default) | `.workflow/specs/` | no |
26
+ | `global` | `~/.maestro/specs/` | no |
27
+ | `team` | `.workflow/collab/specs/` | no |
28
+ | `personal` | `.workflow/collab/specs/{uid}/` | yes (auto or `--uid`) |
29
+
30
+ ## Category-to-File Mapping (1:1, same filename in every scope)
31
+
32
+ | Category | Target file |
33
+ |----------|------------|
34
+ | `coding` | `coding-conventions.md` |
35
+ | `arch` | `architecture-constraints.md` |
36
+ | `quality` | `quality-rules.md` |
37
+ | `debug` | `debug-notes.md` |
38
+ | `test` | `test-conventions.md` |
39
+ | `review` | `review-standards.md` |
40
+ | `learning` | `learnings.md` |
41
+ | `ui` | `ui-conventions.md` |
42
+
43
+ ## Prerequisites
44
+
45
+ - Target specs directory must exist:
46
+ - `project`: `.workflow/specs/` (run `/spec-setup` or `maestro spec init`)
47
+ - `global`: `~/.maestro/specs/` (run `maestro spec init --scope global`)
48
+ - `team`: `.workflow/collab/specs/` (run `maestro spec init --scope team`)
49
+ - `personal`: `.workflow/collab/specs/{uid}/` (run `maestro spec init --scope personal`)
50
+
51
+ ## Execution Steps
52
+
53
+ ### Step 1: Parse Arguments
54
+
55
+ ```
56
+ Parse $ARGUMENTS:
57
+ 1. Extract --scope <value> (default: project)
58
+ 2. Extract --uid <value> if present
59
+ 3. category = first remaining word
60
+ 4. content = remaining text
61
+ Validate:
62
+ - scope ∈ {project, global, team, personal}
63
+ - category ∈ {coding, arch, quality, debug, test, review, learning, ui}
64
+ - content non-empty
65
+ - personal scope requires uid (resolve from `maestro collab whoami` if --uid not given)
66
+ On failure: show usage `/spec-add [--scope <scope>] <category> <content>`, exit
67
+ ```
68
+
69
+ ### Step 2: Resolve Target File
70
+
71
+ Resolve directory from scope (see table above), then append `<target_file>` from category mapping.
72
+
73
+ If file does not exist, create it with a basic header.
74
+
75
+ Check for near-duplicate entries:
76
+ ```bash
77
+ grep -i "<content_first_10_words>" <resolved_dir>/<target_file> | tail -5
78
+ ```
79
+
80
+ ### Step 3: Extract Keywords
81
+
82
+ Auto-extract 3-5 relevant keywords from the content. **Keywords must match the content language:**
83
+
84
+ - **Chinese content** → generate Chinese keywords (2-4 字词语,如 `设计系统,颜色,组件,布局`)
85
+ - **English content** → generate English keywords (lowercase, hyphens for multi-word)
86
+ - **Mixed content** → generate bilingual keywords (中英各半,如 `设计,layout,组件,responsive`)
87
+
88
+ Keyword quality rules:
89
+ - Domain-specific terms (not generic words like "code"/"代码", "file"/"文件", "function"/"函数")
90
+ - Must be terms a user would naturally type when searching for this knowledge
91
+ - Chinese keywords: 2-4 characters, no punctuation (如 `路由,状态管理,权限控制`)
92
+ - English keywords: lowercase, no spaces (use hyphens for multi-word terms)
93
+ - Prefer concrete nouns/verbs over abstract descriptions
94
+
95
+ ### Step 4: Format Entry
96
+
97
+ ```
98
+ Entry format (closed-tag), date = YYYY-MM-DD, title = first meaningful phrase:
99
+
100
+ <spec-entry category="{category}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}" sid="{S-YYYYMMDD-xxxx}" title="{title}" description="{one-line summary}">
101
+ ### {title}
102
+ {content}
103
+ </spec-entry>
104
+ ```
105
+
106
+ `sid` (stable identity) 由 CLI 自动生成(`S-YYYYMMDD-xxxx`,base36 随机后缀),用于 supersession 演化链。
107
+
108
+ ### Step 5: Append to Target File
109
+
110
+ Read target file. Append the formatted `<spec-entry>` block at the end. Write file back.
111
+
112
+ CLI 调用时加 `--json` 可从输出中获取生成的 `sid`(supersession 流程需要)。
113
+
114
+ ### Step 6: Confirm
115
+
116
+ Display: category, scope, target file path, keywords, sid, and verify command:
117
+ ```
118
+ maestro spec load --scope <scope> --keyword <kw1>
119
+ ```
120
+
121
+ ## Output
122
+
123
+ One `<spec-entry>` block appended to the target file (with auto-generated sid).
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: spec-load
3
+ alias: spec-load
4
+ ---
5
+
6
+ # Workflow: spec-load
7
+
8
+ Load spec files filtered by category. Supports project, global, team, and personal scopes.
9
+
10
+ ## Arguments
11
+
12
+ ```
13
+ $ARGUMENTS: "[--scope <scope>] [--uid <uid>] [--category <category>] [keyword]"
14
+
15
+ --scope -- load scope: project (default) | global | team | personal
16
+ --uid -- user id for personal scope (auto-detected from git if omitted)
17
+ --category -- filter by category: coding | arch | test | review | debug | quality | learning | ui
18
+ Loads category's primary doc in full + cross-file entries with matching category attr
19
+ keyword -- optional, grep within loaded specs for matching sections
20
+ ```
21
+
22
+ ## Category -> File Mapping (1:1)
23
+
24
+ Each category loads exactly one file per layer. Same mapping as spec-add.
25
+
26
+ ## File → Primary Category Mapping
27
+
28
+ | File | Category |
29
+ |------|----------|
30
+ | `coding-conventions.md` | coding |
31
+ | `architecture-constraints.md` | arch |
32
+ | `test-conventions.md` | test |
33
+ | `review-standards.md` | review |
34
+ | `debug-notes.md` | debug |
35
+ | `quality-rules.md` | quality |
36
+ | `learnings.md` | learning |
37
+ | `ui-conventions.md` | ui |
38
+
39
+ ## Layer Order by Scope
40
+
41
+ | Scope | Layers loaded (lowest -> highest priority) |
42
+ |-------|-------------------------------------------|
43
+ | `project` | baseline only |
44
+ | `global` | global + baseline |
45
+ | `team` | baseline + team shared |
46
+ | `personal` | baseline + team shared + personal (requires uid) |
47
+
48
+ Each layer is prefixed with a section header when multi-layer.
49
+
50
+ ## Execution Steps
51
+
52
+ ### Step 1: Parse Arguments
53
+
54
+ Extract `--scope`, `--uid`, `--category <category>` and remaining text (keyword for grep).
55
+
56
+ ### Step 2: Load Specs via CLI
57
+
58
+ ```bash
59
+ maestro spec load --scope <scope> [--uid <uid>] [--category <category>] [--keyword <word>]
60
+ ```
61
+
62
+ If `maestro spec load` CLI is unavailable, read files directly from the resolved directory; flag loaded specs as [LOW CONFIDENCE] (CLI unavailable, direct file read).
63
+
64
+ ### Step 3: Keyword Filter (optional)
65
+
66
+ If keyword provided, grep within loaded content:
67
+ ```bash
68
+ grep -n -i -C 3 "$KEYWORD" <loaded content>
69
+ ```
70
+
71
+ ### Step 4: Display Results
72
+
73
+ Output loaded specs content. If no specs found, show:
74
+ ```
75
+ (No specs found. Run "maestro spec init --scope <scope>" to initialize.)
76
+ ```