maestro-flow 0.3.9 → 0.3.11

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 (281) hide show
  1. package/.claude/agents/workflow-collab-planner.md +1 -1
  2. package/.claude/agents/workflow-executor.md +1 -1
  3. package/.claude/agents/workflow-plan-checker.md +1 -1
  4. package/.claude/agents/workflow-planner.md +1 -1
  5. package/.claude/commands/learn-decompose.md +176 -176
  6. package/.claude/commands/learn-follow.md +167 -167
  7. package/.claude/commands/learn-retro.md +1 -1
  8. package/.claude/commands/maestro-analyze.md +46 -3
  9. package/.claude/commands/maestro-coordinate.md +1 -3
  10. package/.claude/commands/maestro-execute.md +14 -0
  11. package/.claude/commands/maestro-plan.md +16 -0
  12. package/.claude/commands/manage-harvest.md +131 -131
  13. package/.claude/commands/manage-issue-discover.md +2 -2
  14. package/.claude/commands/manage-issue.md +5 -5
  15. package/.claude/commands/spec-add.md +67 -56
  16. package/.claude/commands/spec-load.md +66 -64
  17. package/.claude/commands/spec-setup.md +5 -9
  18. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  19. package/.codex/skills/learn-follow/SKILL.md +83 -0
  20. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  21. package/.codex/skills/learn-retro/SKILL.md +83 -0
  22. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  23. package/.codex/skills/maestro/SKILL.md +335 -0
  24. package/.codex/skills/maestro-analyze/SKILL.md +84 -75
  25. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  26. package/.codex/skills/maestro-chain/SKILL.md +233 -0
  27. package/.codex/skills/maestro-coordinate/SKILL.md +167 -278
  28. package/.codex/skills/maestro-execute/SKILL.md +435 -438
  29. package/.codex/skills/maestro-fork/SKILL.md +68 -0
  30. package/.codex/skills/maestro-init/SKILL.md +171 -167
  31. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  32. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  33. package/.codex/skills/maestro-merge/SKILL.md +62 -0
  34. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  35. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  36. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  37. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  38. package/.codex/skills/maestro-plan/SKILL.md +66 -69
  39. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  40. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  41. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  42. package/.codex/skills/maestro-ui-design/SKILL.md +34 -31
  43. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  44. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  45. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  46. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  47. package/.codex/skills/manage-issue/SKILL.md +80 -65
  48. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  49. package/.codex/skills/manage-learn/SKILL.md +190 -186
  50. package/.codex/skills/manage-memory/SKILL.md +95 -72
  51. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  52. package/.codex/skills/manage-status/SKILL.md +102 -89
  53. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  54. package/.codex/skills/quality-debug/SKILL.md +54 -66
  55. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  56. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  57. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  58. package/.codex/skills/quality-review/SKILL.md +93 -105
  59. package/.codex/skills/quality-sync/SKILL.md +101 -89
  60. package/.codex/skills/quality-test/SKILL.md +202 -198
  61. package/.codex/skills/quality-test-gen/SKILL.md +93 -104
  62. package/.codex/skills/spec-add/SKILL.md +58 -39
  63. package/.codex/skills/spec-load/SKILL.md +45 -40
  64. package/.codex/skills/spec-map/SKILL.md +180 -182
  65. package/.codex/skills/spec-setup/SKILL.md +94 -76
  66. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  67. package/.codex/skills/team-executor/SKILL.md +70 -112
  68. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  69. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  70. package/.codex/skills/team-review/SKILL.md +232 -225
  71. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  72. package/.codex/skills/team-testing/SKILL.md +242 -235
  73. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  74. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  75. package/README.md +14 -11
  76. package/README.zh-CN.md +14 -11
  77. package/chains/issue-lifecycle.json +13 -13
  78. package/chains/singles/issue-analyze.json +3 -3
  79. package/chains/singles/issue-execute.json +3 -3
  80. package/chains/singles/issue-plan.json +3 -3
  81. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
  82. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  83. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  84. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  85. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
  86. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  87. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  88. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  89. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  90. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  91. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  92. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  93. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
  94. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  95. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  96. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  97. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
  98. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  99. package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
  100. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
  101. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
  102. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +21 -0
  103. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  104. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  105. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
  106. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  107. package/dashboard/dist-server/src/hooks/constants.d.ts +92 -12
  108. package/dashboard/dist-server/src/hooks/constants.js +151 -16
  109. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  110. package/dashboard/dist-server/src/types/index.d.ts +5 -0
  111. package/dist/src/commands/collab.d.ts +1 -34
  112. package/dist/src/commands/collab.d.ts.map +1 -1
  113. package/dist/src/commands/collab.js +8 -76
  114. package/dist/src/commands/collab.js.map +1 -1
  115. package/dist/src/commands/hooks.d.ts +5 -1
  116. package/dist/src/commands/hooks.d.ts.map +1 -1
  117. package/dist/src/commands/hooks.js +115 -10
  118. package/dist/src/commands/hooks.js.map +1 -1
  119. package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
  120. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  121. package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
  122. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  123. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  124. package/dist/src/commands/install-ui/InstallExecution.js +5 -1
  125. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  126. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  127. package/dist/src/commands/install-ui/InstallFlow.js +7 -3
  128. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  129. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
  130. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  131. package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
  132. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  133. package/dist/src/commands/spec.d.ts.map +1 -1
  134. package/dist/src/commands/spec.js +7 -2
  135. package/dist/src/commands/spec.js.map +1 -1
  136. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
  137. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
  138. package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
  139. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
  140. package/dist/src/hooks/constants.d.ts +92 -12
  141. package/dist/src/hooks/constants.d.ts.map +1 -1
  142. package/dist/src/hooks/constants.js +151 -16
  143. package/dist/src/hooks/constants.js.map +1 -1
  144. package/dist/src/hooks/guards/index.d.ts +2 -0
  145. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  146. package/dist/src/hooks/guards/index.js +2 -0
  147. package/dist/src/hooks/guards/index.js.map +1 -1
  148. package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
  149. package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
  150. package/dist/src/hooks/guards/preflight-guard.js +95 -0
  151. package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
  152. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  153. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  154. package/dist/src/hooks/guards/spec-validator.js +66 -0
  155. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  156. package/dist/src/hooks/index.d.ts +1 -0
  157. package/dist/src/hooks/index.d.ts.map +1 -1
  158. package/dist/src/hooks/index.js +1 -0
  159. package/dist/src/hooks/index.js.map +1 -1
  160. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  161. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  162. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  163. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  164. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  165. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  166. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  167. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  168. package/dist/src/hooks/preflight-core.d.ts +37 -0
  169. package/dist/src/hooks/preflight-core.d.ts.map +1 -0
  170. package/dist/src/hooks/preflight-core.js +86 -0
  171. package/dist/src/hooks/preflight-core.js.map +1 -0
  172. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  173. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  174. package/dist/src/hooks/spec-bridge.js +97 -0
  175. package/dist/src/hooks/spec-bridge.js.map +1 -0
  176. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  177. package/dist/src/hooks/spec-injector.js +18 -12
  178. package/dist/src/hooks/spec-injector.js.map +1 -1
  179. package/dist/src/hooks/statusline.d.ts +8 -17
  180. package/dist/src/hooks/statusline.d.ts.map +1 -1
  181. package/dist/src/hooks/statusline.js +269 -112
  182. package/dist/src/hooks/statusline.js.map +1 -1
  183. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  184. package/dist/src/i18n/locales/en.js +5 -0
  185. package/dist/src/i18n/locales/en.js.map +1 -1
  186. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  187. package/dist/src/i18n/locales/zh.js +5 -0
  188. package/dist/src/i18n/locales/zh.js.map +1 -1
  189. package/dist/src/i18n/types.d.ts +5 -0
  190. package/dist/src/i18n/types.d.ts.map +1 -1
  191. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  192. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  193. package/dist/src/team/phase-orchestrator.js +165 -0
  194. package/dist/src/team/phase-orchestrator.js.map +1 -0
  195. package/dist/src/team/phase-types.d.ts +51 -0
  196. package/dist/src/team/phase-types.d.ts.map +1 -0
  197. package/dist/src/team/phase-types.js +41 -0
  198. package/dist/src/team/phase-types.js.map +1 -0
  199. package/dist/src/tools/collab-adapter.d.ts +17 -0
  200. package/dist/src/tools/collab-adapter.d.ts.map +1 -1
  201. package/dist/src/tools/collab-adapter.js +138 -0
  202. package/dist/src/tools/collab-adapter.js.map +1 -1
  203. package/dist/src/tools/index.d.ts.map +1 -1
  204. package/dist/src/tools/index.js +6 -0
  205. package/dist/src/tools/index.js.map +1 -1
  206. package/dist/src/tools/merge-validator.d.ts +24 -0
  207. package/dist/src/tools/merge-validator.d.ts.map +1 -0
  208. package/dist/src/tools/merge-validator.js +220 -0
  209. package/dist/src/tools/merge-validator.js.map +1 -0
  210. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  211. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  212. package/dist/src/tools/spec-entry-parser.js +196 -0
  213. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  214. package/dist/src/tools/spec-init.d.ts.map +1 -1
  215. package/dist/src/tools/spec-init.js +66 -92
  216. package/dist/src/tools/spec-init.js.map +1 -1
  217. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  218. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  219. package/dist/src/tools/spec-keyword-index.js +101 -0
  220. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  221. package/dist/src/tools/spec-loader.d.ts +3 -3
  222. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  223. package/dist/src/tools/spec-loader.js +49 -23
  224. package/dist/src/tools/spec-loader.js.map +1 -1
  225. package/dist/src/tools/team-agents.d.ts +27 -0
  226. package/dist/src/tools/team-agents.d.ts.map +1 -0
  227. package/dist/src/tools/team-agents.js +362 -0
  228. package/dist/src/tools/team-agents.js.map +1 -0
  229. package/dist/src/tools/team-mailbox.d.ts +40 -0
  230. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  231. package/dist/src/tools/team-mailbox.js +384 -0
  232. package/dist/src/tools/team-mailbox.js.map +1 -0
  233. package/dist/src/tools/team-msg.d.ts +17 -8
  234. package/dist/src/tools/team-msg.d.ts.map +1 -1
  235. package/dist/src/tools/team-msg.js +110 -13
  236. package/dist/src/tools/team-msg.js.map +1 -1
  237. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  238. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  239. package/dist/src/tools/team-tasks-mcp.js +408 -0
  240. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  241. package/dist/src/types/index.d.ts +5 -0
  242. package/dist/src/types/index.d.ts.map +1 -1
  243. package/package.json +2 -1
  244. package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
  245. package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
  246. package/templates/search-tools.md +1 -1
  247. package/workflows/analyze.md +816 -816
  248. package/workflows/brainstorm.md +471 -471
  249. package/workflows/cli-tools-usage.md +44 -27
  250. package/workflows/codebase-rebuild.md +332 -332
  251. package/workflows/codebase-refresh.md +240 -240
  252. package/workflows/delegate-usage.md +3 -3
  253. package/workflows/execute.md +1 -1
  254. package/workflows/harvest.md +420 -420
  255. package/workflows/integration-test.md +343 -343
  256. package/workflows/issue-analyze.md +6 -2
  257. package/workflows/issue-discover.md +414 -414
  258. package/workflows/issue-execute.md +6 -3
  259. package/workflows/issue-plan.md +5 -2
  260. package/workflows/maestro-coordinate.codex.md +281 -470
  261. package/workflows/maestro-coordinate.md +14 -14
  262. package/workflows/maestro-link-coordinate.md +2 -2
  263. package/workflows/maestro.codex.md +710 -0
  264. package/workflows/maestro.md +10 -11
  265. package/workflows/map.md +111 -111
  266. package/workflows/milestone-complete.md +176 -176
  267. package/workflows/plan.md +1 -1
  268. package/workflows/quick.md +497 -497
  269. package/workflows/refactor.md +300 -300
  270. package/workflows/retrospective.md +1 -1
  271. package/workflows/roadmap.md +335 -335
  272. package/workflows/spec-generate.md +640 -640
  273. package/workflows/specs-add.md +46 -81
  274. package/workflows/specs-load.md +15 -17
  275. package/workflows/specs-setup.md +40 -161
  276. package/.claude/commands/manage-issue-analyze.md +0 -62
  277. package/.claude/commands/manage-issue-execute.md +0 -73
  278. package/.claude/commands/manage-issue-plan.md +0 -62
  279. package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
  280. package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
  281. package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
@@ -1,182 +1,180 @@
1
- ---
2
- name: spec-map
3
- description: Analyze codebase with 4 parallel mapper agents via CSV wave pipeline. Produces .workflow/codebase/ documents for tech-stack, architecture, features, and cross-cutting concerns.
4
- argument-hint: "[-y|--yes] [-c|--concurrency 4] [--continue] \"[focus area]\""
5
- allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `--yes` or `-y`: Auto-confirm mapper assignment, skip validation.
11
-
12
- # Maestro Spec Map (CSV Wave)
13
-
14
- ## Usage
15
-
16
- ```bash
17
- $spec-map ""
18
- $spec-map "auth"
19
- $spec-map -c 4 "api layer"
20
- $spec-map --continue "map-auth-20260318"
21
- ```
22
-
23
- **Flags**:
24
- - `-y, --yes`: Skip all confirmations
25
- - `-c, --concurrency N`: Max concurrent agents (default: 4)
26
- - `--continue`: Resume existing session
27
-
28
- **Output**: `.workflow/codebase/` (tech-stack.md, architecture.md, features.md, concerns.md)
29
-
30
- ---
31
-
32
- ## Overview
33
-
34
- Single-wave parallel execution — 4 independent mapper agents each analyze a different codebase dimension. No dependencies between tasks, maximum parallelism.
35
-
36
- **Topology**: Independent Parallel (single wave)
37
-
38
- ```
39
- ┌──────────────────────────────────────────────────────┐
40
- │ CODEBASE MAPPER WORKFLOW │
41
- ├──────────────────────────────────────────────────────┤
42
- │ │
43
- │ Phase 1: Setup → CSV │
44
- │ ├─ Detect focus area from arguments │
45
- │ ├─ Generate tasks.csv with 4 mapper tasks │
46
- │ └─ All tasks wave 1 (no dependencies) │
47
- │ │
48
- │ Phase 2: Wave Execution (Single Wave) │
49
- │ ├─ Wave 1: All 4 mappers run concurrently │
50
- │ │ ├─ Tech Stack mapper
51
- │ │ ├─ Architecture mapper │
52
- │ │ ├─ Features mapper │
53
- │ │ └─ Cross-cutting Concerns mapper │
54
- │ └─ discoveries.ndjson shared (append-only)
55
- │ │
56
- │ Phase 3: Results → .workflow/codebase/ │
57
- │ ├─ Write output files from agent findings │
58
- │ ├─ Generate context.md summary │
59
- │ └─ Display completion report │
60
- │ │
61
- └──────────────────────────────────────────────────────┘
62
- ```
63
-
64
- ---
65
-
66
- ## CSV Schema
67
-
68
- ### tasks.csv
69
-
70
- ```csv
71
- id,title,description,focus_area,output_file,deps,context_from,wave,status,findings,error
72
- "1","Tech Stack Analysis","Analyze languages, frameworks, dependencies, build system, package managers, runtime configuration. Scan package.json, build configs, CI/CD files.","full","tech-stack.md","","","1","","",""
73
- "2","Architecture Analysis","Analyze project structure, module boundaries, layer architecture, data flow patterns, entry points, API surface. Map directory tree and import graph.","full","architecture.md","","","1","","",""
74
- "3","Features Analysis","Inventory user-facing capabilities, API endpoints, CLI commands, UI components, background jobs, integrations. Map to source locations.","full","features.md","","","1","","",""
75
- "4","Cross-cutting Concerns","Analyze error handling patterns, logging strategy, authentication/authorization, configuration management, testing approach, observability.","full","concerns.md","","","1","","",""
76
- ```
77
-
78
- **Columns**:
79
-
80
- | Column | Phase | Description |
81
- |--------|-------|-------------|
82
- | `id` | Input | Mapper identifier |
83
- | `title` | Input | Mapper dimension title |
84
- | `description` | Input | Detailed analysis instructions |
85
- | `focus_area` | Input | Focus scope (full or specific area) |
86
- | `output_file` | Input | Target output filename in .workflow/codebase/ |
87
- | `deps` | Input | Empty (all independent) |
88
- | `context_from` | Input | Empty (no cross-task context) |
89
- | `wave` | Computed | Always 1 (single wave) |
90
- | `status` | Output | pending/completed/failed/skipped |
91
- | `findings` | Output | Analysis summary (max 500 chars) |
92
- | `error` | Output | Error if failed |
93
-
94
- ---
95
-
96
- ## Implementation
97
-
98
- ### Session Initialization
99
-
100
- ```javascript
101
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
102
- const focusArea = $ARGUMENTS.replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+/g, '').trim() || 'full'
103
- const dateStr = new Date(Date.now() + 8*60*60*1000).toISOString().substring(0,10).replace(/-/g,'')
104
- const sessionId = `map-${focusArea.substring(0,20)}-${dateStr}`
105
- const sessionFolder = `.workflow/.csv-wave/${sessionId}`
106
-
107
- Bash(`mkdir -p ${sessionFolder}`)
108
- Bash(`mkdir -p .workflow/codebase`)
109
- ```
110
-
111
- ### Phase 1: Generate tasks.csv
112
-
113
- Generate 4 mapper rows. If focus_area is specified, scope descriptions to that area.
114
-
115
- ### Phase 2: Wave Execution
116
-
117
- Single wave — all 4 mappers run concurrently:
118
-
119
- ```javascript
120
- spawn_agents_on_csv({
121
- csv_path: `${sessionFolder}/wave-1.csv`,
122
- id_column: "id",
123
- instruction: buildMapperInstruction(sessionFolder, focusArea),
124
- max_concurrency: 4,
125
- max_runtime_seconds: 600,
126
- output_csv_path: `${sessionFolder}/wave-1-results.csv`,
127
- output_schema: {
128
- type: "object",
129
- properties: {
130
- id: { type: "string" },
131
- status: { type: "string", enum: ["completed", "failed"] },
132
- findings: { type: "string" },
133
- error: { type: "string" }
134
- },
135
- required: ["id", "status", "findings"]
136
- }
137
- })
138
- ```
139
-
140
- ### Phase 3: Write Output Files
141
-
142
- 1. Read each agent's findings from results
143
- 2. Write to `.workflow/codebase/{output_file}`
144
- 3. Generate context.md summary
145
- 4. Display report
146
-
147
- ---
148
-
149
- ## Shared Discovery Board Protocol
150
-
151
- Discovery types particularly valuable for mapper agents:
152
-
153
- | Type | Dedup Key | Data Schema |
154
- |------|-----------|-------------|
155
- | `tech_stack` | singleton | `{framework, language, tools[]}` |
156
- | `code_pattern` | `data.name` | `{name, file, description}` |
157
- | `integration_point` | `data.file` | `{file, description, exports[]}` |
158
- | `convention` | singleton | `{naming, imports, formatting}` |
159
-
160
- Mappers share discoveries so other mappers can skip redundant exploration (e.g., if tech-stack mapper discovers the framework, features mapper can focus on feature-level analysis).
161
-
162
- ---
163
-
164
- ## Error Handling
165
-
166
- | Error | Resolution |
167
- |-------|------------|
168
- | No source files found | Abort: "No source files in project" |
169
- | Mapper agent timeout | Mark failed, continue with other mappers |
170
- | Mapper agent failed | Mark failed, output partial results |
171
- | .workflow/codebase/ exists | Prompt: refresh/skip/merge (auto-refresh with -y) |
172
-
173
- ---
174
-
175
- ## Core Rules
176
-
177
- 1. **Start Immediately**: Initialize session, generate CSV, execute
178
- 2. **CSV is Source of Truth**: tasks.csv holds all mapper state
179
- 3. **Discovery Board is Append-Only**: Mappers share findings
180
- 4. **Partial Results OK**: If 3/4 mappers succeed, still write available docs
181
- 5. **Focus Area Scoping**: When focus is specified, descriptions narrow to that area
182
- 6. **DO NOT STOP**: Execute until all mappers complete or fail
1
+ ---
2
+ name: spec-map
3
+ description: Analyze codebase with 4 parallel mapper agents via CSV wave pipeline. Produces .workflow/codebase/ documents for tech-stack, architecture, features, and cross-cutting concerns.
4
+ argument-hint: "[-y|--yes] [-c|--concurrency 4] [--continue] \"[focus area]\""
5
+ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Single-wave parallel execution — 4 independent mapper agents each analyze a different codebase dimension. No dependencies between tasks, maximum parallelism.
10
+
11
+ **Topology**: Independent Parallel (single wave)
12
+
13
+ ```
14
+ ┌──────────────────────────────────────────────────────┐
15
+ │ CODEBASE MAPPER WORKFLOW │
16
+ ├──────────────────────────────────────────────────────┤
17
+ │ │
18
+ │ Phase 1: Setup → CSV │
19
+ │ ├─ Detect focus area from arguments │
20
+ │ ├─ Generate tasks.csv with 4 mapper tasks │
21
+ │ └─ All tasks wave 1 (no dependencies) │
22
+ │ │
23
+ │ Phase 2: Wave Execution (Single Wave) │
24
+ │ ├─ Wave 1: All 4 mappers run concurrently │
25
+ │ │ ├─ Tech Stack mapper │
26
+ │ │ ├─ Architecture mapper │
27
+ │ │ ├─ Features mapper │
28
+ │ │ └─ Cross-cutting Concerns mapper │
29
+ │ └─ discoveries.ndjson shared (append-only) │
30
+ │ │
31
+ │ Phase 3: Results → .workflow/codebase/ │
32
+ │ ├─ Write output files from agent findings │
33
+ │ ├─ Generate context.md summary │
34
+ │ └─ Display completion report │
35
+ │ │
36
+ └──────────────────────────────────────────────────────┘
37
+ ```
38
+ </purpose>
39
+
40
+ <context>
41
+
42
+ ```bash
43
+ $spec-map ""
44
+ $spec-map "auth"
45
+ $spec-map -c 4 "api layer"
46
+ $spec-map --continue "map-auth-20260318"
47
+ ```
48
+
49
+ **Flags**:
50
+ - `-y, --yes`: Skip all confirmations (auto-confirm mapper assignment, skip validation)
51
+ - `-c, --concurrency N`: Max concurrent agents (default: 4)
52
+ - `--continue`: Resume existing session
53
+
54
+ **Output**: `.workflow/codebase/` (tech-stack.md, architecture.md, features.md, concerns.md)
55
+
56
+ </context>
57
+
58
+ <csv_schema>
59
+
60
+ ### tasks.csv
61
+
62
+ ```csv
63
+ id,title,description,focus_area,output_file,deps,context_from,wave,status,findings,error
64
+ "1","Tech Stack Analysis","Analyze languages, frameworks, dependencies, build system, package managers, runtime configuration. Scan package.json, build configs, CI/CD files.","full","tech-stack.md","","","1","","",""
65
+ "2","Architecture Analysis","Analyze project structure, module boundaries, layer architecture, data flow patterns, entry points, API surface. Map directory tree and import graph.","full","architecture.md","","","1","","",""
66
+ "3","Features Analysis","Inventory user-facing capabilities, API endpoints, CLI commands, UI components, background jobs, integrations. Map to source locations.","full","features.md","","","1","","",""
67
+ "4","Cross-cutting Concerns","Analyze error handling patterns, logging strategy, authentication/authorization, configuration management, testing approach, observability.","full","concerns.md","","","1","","",""
68
+ ```
69
+
70
+ **Columns**:
71
+
72
+ | Column | Phase | Description |
73
+ |--------|-------|-------------|
74
+ | `id` | Input | Mapper identifier |
75
+ | `title` | Input | Mapper dimension title |
76
+ | `description` | Input | Detailed analysis instructions |
77
+ | `focus_area` | Input | Focus scope (full or specific area) |
78
+ | `output_file` | Input | Target output filename in .workflow/codebase/ |
79
+ | `deps` | Input | Empty (all independent) |
80
+ | `context_from` | Input | Empty (no cross-task context) |
81
+ | `wave` | Computed | Always 1 (single wave) |
82
+ | `status` | Output | pending/completed/failed/skipped |
83
+ | `findings` | Output | Analysis summary (max 500 chars) |
84
+ | `error` | Output | Error if failed |
85
+
86
+ </csv_schema>
87
+
88
+ <invariants>
89
+ 1. **Start Immediately**: Initialize session, generate CSV, execute
90
+ 2. **CSV is Source of Truth**: tasks.csv holds all mapper state
91
+ 3. **Discovery Board is Append-Only**: Mappers share findings
92
+ 4. **Partial Results OK**: If 3/4 mappers succeed, still write available docs
93
+ 5. **Focus Area Scoping**: When focus is specified, descriptions narrow to that area
94
+ 6. **DO NOT STOP**: Execute until all mappers complete or fail
95
+ </invariants>
96
+
97
+ <execution>
98
+
99
+ ### Session Initialization
100
+
101
+ ```javascript
102
+ const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
103
+ const focusArea = $ARGUMENTS.replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+/g, '').trim() || 'full'
104
+ const dateStr = new Date(Date.now() + 8*60*60*1000).toISOString().substring(0,10).replace(/-/g,'')
105
+ const sessionId = `map-${focusArea.substring(0,20)}-${dateStr}`
106
+ const sessionFolder = `.workflow/.csv-wave/${sessionId}`
107
+
108
+ Bash(`mkdir -p ${sessionFolder}`)
109
+ Bash(`mkdir -p .workflow/codebase`)
110
+ ```
111
+
112
+ ### Phase 1: Generate tasks.csv
113
+
114
+ Generate 4 mapper rows. If focus_area is specified, scope descriptions to that area.
115
+
116
+ ### Phase 2: Wave Execution
117
+
118
+ Single wave — all 4 mappers run concurrently:
119
+
120
+ ```javascript
121
+ spawn_agents_on_csv({
122
+ csv_path: `${sessionFolder}/wave-1.csv`,
123
+ id_column: "id",
124
+ instruction: buildMapperInstruction(sessionFolder, focusArea),
125
+ max_concurrency: 4,
126
+ max_runtime_seconds: 600,
127
+ output_csv_path: `${sessionFolder}/wave-1-results.csv`,
128
+ output_schema: {
129
+ type: "object",
130
+ properties: {
131
+ id: { type: "string" },
132
+ status: { type: "string", enum: ["completed", "failed"] },
133
+ findings: { type: "string" },
134
+ error: { type: "string" }
135
+ },
136
+ required: ["id", "status", "findings"]
137
+ }
138
+ })
139
+ ```
140
+
141
+ ### Phase 3: Write Output Files
142
+
143
+ 1. Read each agent's findings from results
144
+ 2. Write to `.workflow/codebase/{output_file}`
145
+ 3. Generate context.md summary
146
+ 4. Display report
147
+
148
+ ### Shared Discovery Board Protocol
149
+
150
+ Discovery types particularly valuable for mapper agents:
151
+
152
+ | Type | Dedup Key | Data Schema |
153
+ |------|-----------|-------------|
154
+ | `tech_stack` | singleton | `{framework, language, tools[]}` |
155
+ | `code_pattern` | `data.name` | `{name, file, description}` |
156
+ | `integration_point` | `data.file` | `{file, description, exports[]}` |
157
+ | `convention` | singleton | `{naming, imports, formatting}` |
158
+
159
+ Mappers share discoveries so other mappers can skip redundant exploration (e.g., if tech-stack mapper discovers the framework, features mapper can focus on feature-level analysis).
160
+
161
+ </execution>
162
+
163
+ <error_codes>
164
+
165
+ | Error | Resolution |
166
+ |-------|------------|
167
+ | No source files found | Abort: "No source files in project" |
168
+ | Mapper agent timeout | Mark failed, continue with other mappers |
169
+ | Mapper agent failed | Mark failed, output partial results |
170
+ | .workflow/codebase/ exists | Prompt: refresh/skip/merge (auto-refresh with -y) |
171
+
172
+ </error_codes>
173
+
174
+ <success_criteria>
175
+ - [ ] tasks.csv generated with 4 mapper tasks
176
+ - [ ] All mappers executed (completed or failed with partial results)
177
+ - [ ] `.workflow/codebase/` populated with output files
178
+ - [ ] context.md summary generated
179
+ - [ ] Completion report displayed
180
+ </success_criteria>
@@ -1,76 +1,94 @@
1
- ---
2
- name: spec-setup
3
- description: Initialize project specs by scanning codebase for conventions and tech stack
4
- argument-hint: ""
5
- allowed-tools: Read, Write, Bash, Glob, Grep
6
- ---
7
-
8
- # Spec Setup
9
-
10
- ## Usage
11
-
12
- ```bash
13
- $spec-setup
14
- ```
15
-
16
- No arguments. Scans the codebase and generates spec files in `.workflow/specs/`.
17
-
18
- ---
19
-
20
- ## Implementation
21
-
22
- ### Step 1: Validate Preconditions
23
-
24
- ```bash
25
- test -d .workflow || exit 1 # E001: not initialized
26
- ```
27
-
28
- Verify project contains source files to scan (E002 if empty).
29
-
30
- ### Step 2: Scan Codebase
31
-
32
- Detect conventions and tech stack by scanning:
33
- - Package files (`package.json`, `Cargo.toml`, `go.mod`, etc.)
34
- - Config files (`.eslintrc`, `tsconfig.json`, `.prettierrc`, etc.)
35
- - Source structure (directories, naming patterns, import style)
36
- - Test patterns (framework, naming, location)
37
-
38
- ### Step 3: Generate Spec Files
39
-
40
- Create `.workflow/specs/` directory and write:
41
-
42
- 1. **`coding-conventions.md`** -- Detected naming, import, formatting patterns
43
- 2. **`architecture-constraints.md`** -- Structural rules, layer boundaries
44
- 3. **`quality-rules.md`** -- Linting, testing, coverage requirements
45
- 4. **`learnings.md`** -- Initialized with format instructions for future entries
46
-
47
- ### Step 4: Generate Tech Profile
48
-
49
- Read template from `~/.maestro/templates/project-tech.json` if available.
50
- Write `.workflow/project-tech.json` with detected tech stack:
51
- - Language, framework, build system, test framework
52
- - Key dependencies, module system, TypeScript config
53
-
54
- ### Step 5: Display Report
55
-
56
- ```
57
- === SPEC SETUP COMPLETE ===
58
- Created:
59
- - .workflow/specs/coding-conventions.md
60
- - .workflow/specs/architecture-constraints.md
61
- - .workflow/specs/quality-rules.md
62
- - .workflow/specs/learnings.md
63
- - .workflow/project-tech.json
64
-
65
- Next: Run Skill({ skill: "spec-add", args: "<type> <content>" }) to add entries
66
- ```
67
-
68
- ---
69
-
70
- ## Error Handling
71
-
72
- | Code | Severity | Description |
73
- |------|----------|-------------|
74
- | E001 | fatal | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
75
- | E002 | fatal | No source files found in project |
76
- | W001 | warning | Convention detection uncertain -- marked `[UNCERTAIN]` |
1
+ ---
2
+ name: spec-setup
3
+ description: Initialize project specs by scanning codebase for conventions and tech stack
4
+ argument-hint: ""
5
+ allowed-tools: Read, Write, Bash, Glob, Grep
6
+ ---
7
+
8
+ <purpose>
9
+ Initialize project specs by scanning the codebase and generating spec files in `.workflow/specs/`.
10
+ Core files (coding, arch, learning) always created. Optional files created only when relevant signals detected.
11
+
12
+ ```bash
13
+ $spec-setup
14
+ ```
15
+ </purpose>
16
+
17
+ <context>
18
+ No arguments. Scans the codebase and generates spec files in `.workflow/specs/`.
19
+ </context>
20
+
21
+ <execution>
22
+
23
+ ### Step 1: Validate Preconditions
24
+
25
+ ```bash
26
+ test -d .workflow || exit 1 # E001: not initialized
27
+ ```
28
+
29
+ Verify project contains source files to scan (E002 if empty).
30
+
31
+ ### Step 2: Scan Codebase
32
+
33
+ Detect conventions and tech stack by scanning:
34
+ - Package files (`package.json`, `Cargo.toml`, `go.mod`, etc.)
35
+ - Config files (`.eslintrc`, `tsconfig.json`, `.prettierrc`, etc.)
36
+ - Source structure (directories, naming patterns, import style)
37
+ - Test patterns (framework, naming, location)
38
+
39
+ ### Step 3: Generate Core Spec Files (always)
40
+
41
+ Create `.workflow/specs/` directory and write:
42
+
43
+ 1. **`coding-conventions.md`** Detected naming, import, formatting patterns (category: `coding`)
44
+ 2. **`architecture-constraints.md`** Structural rules, layer boundaries (category: `arch`)
45
+ 3. **`learnings.md`** Initialized with format instructions for future entries (category: `learning`)
46
+
47
+ ### Step 4: Generate Optional Spec Files (when signals detected)
48
+
49
+ | File | Created when |
50
+ |------|-------------|
51
+ | `quality-rules.md` | Linter config, CI config, or lint scripts detected |
52
+ | `test-conventions.md` | Test framework, test files, or test scripts detected |
53
+ | `debug-notes.md` | Skipped — created on demand via `spec-add debug` |
54
+ | `review-standards.md` | Skipped — created on demand via `spec-add review` |
55
+
56
+ ### Step 5: Generate Tech Profile
57
+
58
+ Read template from `~/.maestro/templates/project-tech.json` if available.
59
+ Write `.workflow/project-tech.json` with detected tech stack.
60
+
61
+ ### Step 6: Display Report
62
+
63
+ ```
64
+ === SPEC SETUP COMPLETE ===
65
+ Created:
66
+ - .workflow/specs/coding-conventions.md (category: coding)
67
+ - .workflow/specs/architecture-constraints.md (category: arch)
68
+ - .workflow/specs/learnings.md (category: learning)
69
+ {optional files if created}
70
+ - .workflow/project-tech.json
71
+
72
+ Next: Run Skill({ skill: "spec-add", args: "<category> <content>" }) to add entries
73
+ Categories: coding, arch, quality, debug, test, review, learning
74
+ ```
75
+
76
+ </execution>
77
+
78
+ <error_codes>
79
+
80
+ | Code | Severity | Description |
81
+ |------|----------|-------------|
82
+ | E001 | fatal | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
83
+ | E002 | fatal | No source files found in project |
84
+ | W001 | warning | Convention detection uncertain -- marked `[UNCERTAIN]` |
85
+
86
+ </error_codes>
87
+
88
+ <success_criteria>
89
+ - [ ] `.workflow/specs/` directory created
90
+ - [ ] 3 core spec files always created (coding, arch, learning)
91
+ - [ ] Optional files created only when relevant signals detected
92
+ - [ ] `.workflow/project-tech.json` written with detected tech stack
93
+ - [ ] Completion report displayed with category labels
94
+ </success_criteria>