maestro-flow 0.3.44 → 0.3.46

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 (173) hide show
  1. package/.claude/commands/learn-decompose.md +1 -1
  2. package/.claude/commands/learn-follow.md +1 -1
  3. package/.claude/commands/learn-investigate.md +1 -1
  4. package/.claude/commands/learn-retro.md +1 -1
  5. package/.claude/commands/learn-second-opinion.md +1 -1
  6. package/.claude/commands/maestro-analyze.md +1 -1
  7. package/.claude/commands/maestro-brainstorm.md +1 -1
  8. package/.claude/commands/maestro-execute.md +3 -2
  9. package/.claude/commands/maestro-plan.md +1 -1
  10. package/.claude/commands/maestro-tools-execute.md +14 -14
  11. package/.claude/commands/maestro-tools-register.md +49 -29
  12. package/.claude/commands/manage-knowhow-capture.md +10 -1
  13. package/.claude/commands/quality-debug.md +3 -2
  14. package/.claude/commands/quality-review.md +3 -2
  15. package/.claude/commands/quality-test.md +5 -0
  16. package/.claude/commands/spec-add.md +7 -12
  17. package/.claude/commands/spec-load.md +15 -16
  18. package/.claude/skills/codify-to-knowhow/SKILL.md +1 -1
  19. package/.claude/skills/codify-to-knowhow/phases/04-index-verify.md +1 -1
  20. package/.claude/skills/maestro-help/SKILL.md +264 -0
  21. package/.claude/skills/maestro-help/index/catalog.json +182 -0
  22. package/.claude/skills/maestro-help/phases/01-parse-intent.md +122 -0
  23. package/.claude/skills/maestro-help/phases/02-search-present.md +181 -0
  24. package/.claude/skills/maestro-help/phases/03-workflow-guide.md +186 -0
  25. package/.codex/agents/team-supervisor.toml +40 -0
  26. package/.codex/agents/team-worker.toml +63 -0
  27. package/.codex/skills/codify-to-knowhow/SKILL.md +2 -2
  28. package/.codex/skills/maestro-analyze/SKILL.md +1 -1
  29. package/.codex/skills/maestro-brainstorm/SKILL.md +1 -1
  30. package/.codex/skills/maestro-collab/SKILL.md +1 -1
  31. package/.codex/skills/maestro-execute/SKILL.md +1 -1
  32. package/.codex/skills/maestro-help/SKILL.md +213 -0
  33. package/.codex/skills/maestro-help/catalog.json +182 -0
  34. package/.codex/skills/maestro-milestone-complete/SKILL.md +1 -1
  35. package/.codex/skills/maestro-plan/SKILL.md +1 -1
  36. package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
  37. package/.codex/skills/maestro-tools-execute/SKILL.md +12 -12
  38. package/.codex/skills/maestro-tools-register/SKILL.md +171 -144
  39. package/.codex/skills/maestro-ui-codify/SKILL.md +1 -1
  40. package/.codex/skills/maestro-verify/SKILL.md +1 -1
  41. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  42. package/.codex/skills/manage-knowhow-capture/SKILL.md +18 -3
  43. package/.codex/skills/quality-auto-test/SKILL.md +2 -2
  44. package/.codex/skills/quality-debug/SKILL.md +2 -1
  45. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  46. package/.codex/skills/quality-review/SKILL.md +1 -1
  47. package/.codex/skills/quality-test/SKILL.md +11 -1
  48. package/.codex/skills/spec-add/SKILL.md +104 -114
  49. package/.codex/skills/spec-load/SKILL.md +73 -73
  50. package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
  51. package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
  52. package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
  53. package/.codex/skills/team-testing/roles/executor/role.md +1 -1
  54. package/.codex/skills/team-testing/roles/generator/role.md +1 -1
  55. package/dashboard/dist-server/dashboard/src/server/index.js +5 -3
  56. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  57. package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js +3 -3
  58. package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js.map +1 -1
  59. package/dashboard/dist-server/dashboard/src/server/routes/index.js +14 -5
  60. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  61. package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.d.ts +2 -0
  62. package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js +181 -0
  63. package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js.map +1 -0
  64. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +1 -1
  65. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  66. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +0 -2
  67. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  68. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +2 -0
  69. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +2 -0
  70. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  71. package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.d.ts +2 -0
  72. package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +58 -0
  73. package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
  74. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +0 -1
  75. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +6 -23
  76. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
  77. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +0 -1
  78. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  79. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +0 -1
  80. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  81. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -36
  82. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  83. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +0 -5
  84. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +0 -2
  85. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +2 -3
  86. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  87. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +7 -2
  88. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +7 -1
  89. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  90. package/dashboard/dist-server/dashboard/src/shared/constants.js +7 -9
  91. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  92. package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.d.ts +113 -0
  93. package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js +6 -0
  94. package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js.map +1 -0
  95. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +4 -3
  96. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
  97. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  98. package/dashboard/dist-server/src/agents/cli-agent-runner.js +5 -5
  99. package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
  100. package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +3 -9
  101. package/dashboard/dist-server/src/tools/spec-entry-parser.js +9 -31
  102. package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
  103. package/dashboard/dist-server/src/tools/spec-loader.d.ts +5 -9
  104. package/dashboard/dist-server/src/tools/spec-loader.js +99 -52
  105. package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
  106. package/dist/src/agents/cli-agent-runner.js +5 -5
  107. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  108. package/dist/src/commands/knowhow.d.ts.map +1 -1
  109. package/dist/src/commands/knowhow.js +11 -8
  110. package/dist/src/commands/knowhow.js.map +1 -1
  111. package/dist/src/commands/spec.d.ts.map +1 -1
  112. package/dist/src/commands/spec.js +7 -14
  113. package/dist/src/commands/spec.js.map +1 -1
  114. package/dist/src/commands/wiki.d.ts.map +1 -1
  115. package/dist/src/commands/wiki.js +11 -20
  116. package/dist/src/commands/wiki.js.map +1 -1
  117. package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -14
  118. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  119. package/dist/src/hooks/spec-injector.d.ts +0 -7
  120. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  121. package/dist/src/hooks/spec-injector.js +41 -81
  122. package/dist/src/hooks/spec-injector.js.map +1 -1
  123. package/dist/src/hooks/wiki-role-loader.d.ts +5 -5
  124. package/dist/src/hooks/wiki-role-loader.d.ts.map +1 -1
  125. package/dist/src/hooks/wiki-role-loader.js +6 -6
  126. package/dist/src/hooks/wiki-role-loader.js.map +1 -1
  127. package/dist/src/tools/spec-entry-parser.d.ts +3 -9
  128. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  129. package/dist/src/tools/spec-entry-parser.js +9 -31
  130. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  131. package/dist/src/tools/spec-init.d.ts.map +1 -1
  132. package/dist/src/tools/spec-init.js +54 -73
  133. package/dist/src/tools/spec-init.js.map +1 -1
  134. package/dist/src/tools/spec-loader.d.ts +5 -9
  135. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  136. package/dist/src/tools/spec-loader.js +99 -52
  137. package/dist/src/tools/spec-loader.js.map +1 -1
  138. package/dist/src/tools/spec-writer.d.ts +1 -1
  139. package/dist/src/tools/spec-writer.d.ts.map +1 -1
  140. package/dist/src/tools/spec-writer.js +2 -2
  141. package/dist/src/tools/spec-writer.js.map +1 -1
  142. package/dist/src/tools/store-knowhow.d.ts.map +1 -1
  143. package/dist/src/tools/store-knowhow.js +15 -6
  144. package/dist/src/tools/store-knowhow.js.map +1 -1
  145. package/package.json +4 -2
  146. package/workflows/analyze.md +2 -2
  147. package/workflows/auto-test.md +2 -2
  148. package/workflows/brainstorm.md +1 -1
  149. package/workflows/codebase-rebuild.md +1 -1
  150. package/workflows/codebase-refresh.md +1 -1
  151. package/workflows/debug.md +1 -1
  152. package/workflows/execute.md +3 -3
  153. package/workflows/integration-test.md +2 -2
  154. package/workflows/issue-discover.md +1 -1
  155. package/workflows/knowhow.md +2 -2
  156. package/workflows/learn.md +1 -1
  157. package/workflows/map.md +1 -1
  158. package/workflows/milestone-complete.md +2 -2
  159. package/workflows/plan.md +1 -1
  160. package/workflows/quick.md +1 -1
  161. package/workflows/refactor.md +1 -1
  162. package/workflows/retrospective.md +3 -3
  163. package/workflows/review.md +1 -1
  164. package/workflows/roadmap-common.md +1 -1
  165. package/workflows/specs-add.md +2 -11
  166. package/workflows/specs-load.md +13 -14
  167. package/workflows/test-gen.md +1 -1
  168. package/workflows/tools-spec.md +27 -53
  169. package/workflows/ui-codify-knowhow.md +1 -1
  170. package/workflows/ui-codify.md +1 -1
  171. package/workflows/verify.md +1 -1
  172. package/.claude/commands/maestro-link-coordinate.md +0 -71
  173. package/.codex/skills/maestro-link-coordinate/SKILL.md +0 -257
@@ -390,7 +390,7 @@ Atomic insights captured during active work.
390
390
 
391
391
  ## Entries
392
392
 
393
- <spec-entry roles="implement" keywords="pattern,auth,jwt" date="2026-05-10" id="INS-abc123" source="manual">
393
+ <spec-entry category="coding" keywords="pattern,auth,jwt" date="2026-05-10" id="INS-abc123" source="manual">
394
394
 
395
395
  ### JWT refresh tokens must rotate on every use
396
396
 
@@ -402,7 +402,7 @@ Refresh-on-use prevents replay attacks.
402
402
 
403
403
  </spec-entry>
404
404
 
405
- <spec-entry roles="analyze" keywords="gotcha,redis,cache" date="2026-05-11" id="INS-def456" source="retrospective">
405
+ <spec-entry category="debug" keywords="gotcha,redis,cache" date="2026-05-11" id="INS-def456" source="retrospective">
406
406
 
407
407
  ### Redis MULTI is not truly transactional
408
408
 
@@ -118,7 +118,7 @@ First match wins. If nothing matches, category = `technique`.
118
118
 
119
119
  ```
120
120
  entry = <spec-entry
121
- roles="{role}"
121
+ category="{category}"
122
122
  keywords="{category},{parsed --keywords values joined by comma}"
123
123
  date="{YYYY-MM-DD}"
124
124
  id="INS-{hex}"
package/workflows/map.md CHANGED
@@ -30,7 +30,7 @@ Spawn 4 parallel `workflow-codebase-mapper` agents, each writing to `.workflow/r
30
30
 
31
31
  If `$ARGUMENTS` provided, pass as focus filter to each agent.
32
32
 
33
- Load project specs: `maestro spec load --role plan`
33
+ Load project specs: `maestro spec load --category arch`
34
34
 
35
35
  Each agent spawned in parallel as `workflow-codebase-mapper` subagent with specs context.
36
36
 
@@ -41,7 +41,7 @@ Archive completed milestone, move artifacts to history, and prepare for next.
41
41
  ## Step 2.5: Load Existing Learnings
42
42
 
43
43
  ```
44
- existing_learnings = maestro spec load --role implement
44
+ existing_learnings = maestro spec load --category coding
45
45
  ```
46
46
 
47
47
  Check existing entries to avoid duplicates when appending in Step 3.
@@ -57,7 +57,7 @@ Check existing entries to avoid duplicates when appending in Step 3.
57
57
 
58
58
  2. Aggregate learnings and append to `.workflow/specs/learnings.md` using `<spec-entry>` closed-tag format. Each entry (strategy adjustment, pattern, or pitfall) follows this template:
59
59
  ```
60
- <spec-entry roles="implement" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
60
+ <spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
61
61
 
62
62
  ### {summary}
63
63
 
package/workflows/plan.md CHANGED
@@ -74,7 +74,7 @@ default → Create Mode: P1 → P2 → P3 → P4 → P4.5 → P5
74
74
 
75
75
  3. **Load project specs**
76
76
  ```
77
- specs_content = maestro spec load --role plan
77
+ specs_content = maestro spec load --category arch
78
78
  ```
79
79
  Pass to planner agent as project constraints context.
80
80
 
@@ -204,7 +204,7 @@ Report: "Context captured: ${QUICK_DIR}/context.md"
204
204
  ### Step 4.5: Load Project Specs
205
205
 
206
206
  ```
207
- specs_content = maestro spec load --role implement
207
+ specs_content = maestro spec load --category coding
208
208
  ```
209
209
 
210
210
  Passed inline to planner agent in Step 5.
@@ -39,7 +39,7 @@ Write index.json: id, type="refactor", title, status="active", scope, plan (empt
39
39
  ### Step 2.5: Load Project Specs
40
40
 
41
41
  ```
42
- specs_content = maestro spec load --role implement
42
+ specs_content = maestro spec load --category coding
43
43
  ```
44
44
 
45
45
  Used in Step 3 to detect pattern violations against project conventions.
@@ -385,7 +385,7 @@ Create learnings.md with frontmatter (title, type: spec, roles: [implement]) if
385
385
  For each insight in `distilled_insights`, append a `<spec-entry>` to `.workflow/specs/learnings.md`:
386
386
 
387
387
  ```html
388
- <spec-entry roles="{insight.role}" keywords="{insight.category},{insight.tags joined by comma}" date="{YYYY-MM-DD}" id="{insight.id}" source="retrospective">
388
+ <spec-entry category="{insight.category}" keywords="{insight.tags joined by comma}" date="{YYYY-MM-DD}" id="{insight.id}" source="retrospective">
389
389
 
390
390
  ### {insight.title}
391
391
 
@@ -408,7 +408,7 @@ Append learnings to `.workflow/specs/learnings.md` (shared with milestone-comple
408
408
 
409
409
  ```
410
410
  Append each insight to .workflow/specs/learnings.md as <spec-entry> with:
411
- roles="implement", keywords (3-5 extracted), date, source="retrospective"
411
+ category="learning", keywords (3-5 extracted), date, source="retrospective"
412
412
  Body: title, summary, phase/lens/INS_id metadata
413
413
 
414
414
  Create file with roles frontmatter + "## Entries" header if it does not exist.
@@ -499,7 +499,7 @@ If `mode == "range"` or `--all`, loop Stages 3-8 per phase, then print aggregate
499
499
  ### spec-entry (in specs/learnings.md)
500
500
 
501
501
  ```html
502
- <spec-entry roles="implement" keywords="pattern,auth,jwt,security" date="2026-04-11" id="INS-a1b2c3d4" source="retrospective">
502
+ <spec-entry category="coding" keywords="pattern,auth,jwt,security" date="2026-04-11" id="INS-a1b2c3d4" source="retrospective">
503
503
 
504
504
  ### JWT refresh tokens must rotate on every use
505
505
 
@@ -104,7 +104,7 @@ dimensions = --dimensions flag (comma-separated), or level defaults:
104
104
  **Skip if `--skip-specs` flag is set.**
105
105
 
106
106
  ```
107
- specs_content = maestro spec load --role review
107
+ specs_content = maestro spec load --category review
108
108
  ```
109
109
 
110
110
  Pass specs_content to reviewer agents as quality standards context.
@@ -15,7 +15,7 @@ Block if `.workflow/worktree-scope.json` exists — must run from main worktree.
15
15
  ### Load Specs
16
16
 
17
17
  ```
18
- specs_content = maestro spec load --role plan
18
+ specs_content = maestro spec load --category arch
19
19
  ```
20
20
 
21
21
  Ensure phases respect architectural constraints.
@@ -5,12 +5,11 @@ Add a `<spec-entry>` closed-tag entry to a single target spec file by category.
5
5
  ## Arguments
6
6
 
7
7
  ```
8
- $ARGUMENTS: "[--scope <scope>] [--uid <uid>] [--roles <csv>] <category> <content>"
8
+ $ARGUMENTS: "[--scope <scope>] [--uid <uid>] <category> <content>"
9
9
 
10
10
  --scope -- target scope: project (default) | global | team | personal
11
11
  --uid -- user id for personal scope (auto-detected from git if omitted)
12
- --roles -- comma-separated applicable roles (implement,plan,test,review,analyze,explore)
13
- category -- one of: coding, arch, quality, debug, test, review, learning, tools
12
+ category -- one of: coding, arch, quality, debug, test, review, learning
14
13
  content -- free-text description of the entry
15
14
  ```
16
15
 
@@ -34,7 +33,6 @@ content -- free-text description of the entry
34
33
  | `test` | `test-conventions.md` |
35
34
  | `review` | `review-standards.md` |
36
35
  | `learning` | `learnings.md` |
37
- | `tools` | `tools.md` |
38
36
 
39
37
  ## Prerequisites
40
38
 
@@ -85,13 +83,6 @@ Auto-extract 3-5 relevant keywords from the content:
85
83
  ```
86
84
  Entry format (closed-tag), date = YYYY-MM-DD, title = first meaningful phrase:
87
85
 
88
- When --roles provided (new format):
89
- <spec-entry roles="{role1},{role2}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}">
90
- ### {title}
91
- {content}
92
- </spec-entry>
93
-
94
- When --roles not provided (legacy format):
95
86
  <spec-entry category="{category}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}">
96
87
  ### {title}
97
88
  {content}
@@ -5,12 +5,12 @@ Load spec files filtered by category. Supports project, global, team, and person
5
5
  ## Arguments
6
6
 
7
7
  ```
8
- $ARGUMENTS: "[--scope <scope>] [--uid <uid>] [--role <role>] [keyword]"
8
+ $ARGUMENTS: "[--scope <scope>] [--uid <uid>] [--category <category>] [keyword]"
9
9
 
10
10
  --scope -- load scope: project (default) | global | team | personal
11
11
  --uid -- user id for personal scope (auto-detected from git if omitted)
12
- --role -- filter by role: implement | plan | test | review | analyze | explore
13
- Loads primary role doc in full + cross-file entries with matching roles attr
12
+ --category -- filter by category: coding | arch | test | review | debug | quality | learning
13
+ Loads category's primary doc in full + cross-file entries with matching category attr
14
14
  keyword -- optional, grep within loaded specs for matching sections
15
15
  ```
16
16
 
@@ -18,18 +18,17 @@ keyword -- optional, grep within loaded specs for matching sections
18
18
 
19
19
  Each category loads exactly one file per layer. Same mapping as spec-add.
20
20
 
21
- ## File → Primary Role Mapping
21
+ ## File → Primary Category Mapping
22
22
 
23
- | File | Role |
24
- |------|------|
25
- | `coding-conventions.md` | implement |
26
- | `architecture-constraints.md` | plan |
23
+ | File | Category |
24
+ |------|----------|
25
+ | `coding-conventions.md` | coding |
26
+ | `architecture-constraints.md` | arch |
27
27
  | `test-conventions.md` | test |
28
28
  | `review-standards.md` | review |
29
- | `debug-notes.md` | analyze |
30
- | `quality-rules.md` | review |
31
- | `learnings.md` | implement |
32
- | `tools.md` | _(per-entry roles)_ |
29
+ | `debug-notes.md` | debug |
30
+ | `quality-rules.md` | quality |
31
+ | `learnings.md` | learning |
33
32
 
34
33
  ## Layer Order by Scope
35
34
 
@@ -46,12 +45,12 @@ Each layer is prefixed with a section header when multi-layer.
46
45
 
47
46
  ### Step 1: Parse Arguments
48
47
 
49
- Extract `--scope`, `--uid`, `--role <role>` and remaining text (keyword for grep).
48
+ Extract `--scope`, `--uid`, `--category <category>` and remaining text (keyword for grep).
50
49
 
51
50
  ### Step 2: Load Specs via CLI
52
51
 
53
52
  ```bash
54
- maestro spec load --scope <scope> [--uid <uid>] [--role <role>] [--keyword <word>]
53
+ maestro spec load --scope <scope> [--uid <uid>] [--category <category>] [--keyword <word>]
55
54
  ```
56
55
 
57
56
  If `maestro spec load` CLI is unavailable, read files directly from the resolved directory.
@@ -9,7 +9,7 @@ Tests expose bugs -- fixing is for quality-debug or maestro-execute.
9
9
  ### Step 0: Load Project Specs
10
10
 
11
11
  ```
12
- specs_content = maestro spec load --role test
12
+ specs_content = maestro spec load --category test
13
13
  ```
14
14
 
15
15
  Follow project test conventions in Step 4 (Generate Test Plan) and Step 5 (Write Tests).
@@ -4,48 +4,19 @@ Shared reference for tool spec registration and execution commands.
4
4
 
5
5
  ## Storage
6
6
 
7
- Tool specs are stored in `.workflow/specs/tools.md` as `<spec-entry>` blocks with per-entry `roles` attribute. The `tools.md` file has no primary role entries are loaded via role matching.
7
+ Tool specs are stored as knowhow documents in `.workflow/knowhow/` with `tool: true` in YAML frontmatter. Tool registration creates new knowhow files or promotes existing ones (via frontmatter update). The `category` field determines which `spec load --category` queries match this tool.
8
8
 
9
9
  ## Entry Format
10
10
 
11
- ### Inline mode (short process, <10 steps)
12
-
13
- ```xml
14
- <spec-entry roles="implement,test" keywords="payment,gateway,idempotency" date="YYYY-MM-DD">
15
-
16
- ### Tool Name
17
-
18
- Use when {trigger condition / timing}.
19
-
20
- 1. Step one
21
- 2. Step two
22
- ...
23
-
24
- </spec-entry>
25
- ```
26
-
27
- ### Ref mode (long process, >=10 steps or with code examples)
28
-
29
- Spec index entry in `tools.md`:
30
- ```xml
31
- <spec-entry roles="implement" keywords="oauth,pkce,token" date="YYYY-MM-DD"
32
- ref="knowhow/RCP-<slug>.md">
33
-
34
- ### Tool Name
35
-
36
- Use when {trigger condition}. {scope summary — must fit within 200 chars for spec load display}.
37
-
38
- </spec-entry>
39
- ```
40
-
41
- Referenced knowhow document (`knowhow/RCP-<slug>.md`):
11
+ Knowhow document (`knowhow/RCP-<slug>.md`):
42
12
  ```yaml
43
13
  ---
44
14
  title: Tool Name
45
15
  type: recipe
16
+ tool: true
46
17
  summary: "Use when {timing}. {scope description}"
47
18
  tags: [keyword1, keyword2]
48
- roles: [implement]
19
+ category: coding
49
20
  ---
50
21
 
51
22
  ## Prerequisites
@@ -64,35 +35,38 @@ roles: [implement]
64
35
  ## Discovery Path
65
36
 
66
37
  ```
67
- Register tools.md → spec load --role <role> / spec-injector auto-inject → agent discovers tool
38
+ Register (knowhow/ + tool: true) → spec load --category / spec-injector auto-inject → agent discovers tool
68
39
  ```
69
40
 
70
41
  Agents discover tool specs via:
71
- - `spec load --role <role>` — returns entries matching the role
72
- - `spec-injector` hook — auto-injects at Agent launch based on agent type
73
- - `spec load --keyword <word>` — keyword search across all entries
42
+ - `spec load --category <category>` — scans knowhow/ for `category + tool: true` matches
43
+ - `spec-injector` hook — auto-injects at Agent launch based on agent type → category mapping
44
+ - `spec load --keyword <word>` — keyword search across all entries (cross-category)
45
+
46
+ ## Category Reference
47
+
48
+ `category` = **who consumes** (agent type), not what the content is about.
74
49
 
75
- ## Role Reference
50
+ | Category | Consumer Agent | Decision Question | Signal Words |
51
+ |---|---|---|---|
52
+ | coding | code-developer, workflow-executor | 开发者实现时需要? | build, deploy, integrate, configure, api-contract |
53
+ | test | tdd-developer, test-fix-agent | 测试者验证时需要? | verify, validate, e2e, regression, idempotency |
54
+ | review | workflow-reviewer | 审查者检查时需要? | audit, checklist, compliance, quality-gate |
55
+ | arch | workflow-planner | 规划者设计时需要? | design, architecture, decompose, blueprint |
56
+ | debug | debug-explore-agent | 调试者排查时需要? | diagnose, trace, root-cause, reproduce |
76
57
 
77
- | Role | Agent types | Tool examples |
78
- |------|-------------|---------------|
79
- | implement | code-developer, workflow-executor | Build, deploy, integrate |
80
- | test | tdd-developer, test-fix-agent | Test flows, verification steps |
81
- | review | workflow-reviewer | Checklists, audit standards |
82
- | plan | workflow-planner | Design flows, analysis steps |
83
- | analyze | debug-explore-agent | Diagnostic flows, investigation |
58
+ **Multi-consumer**: If tool serves multiple agents, split into separate docs with different categories.
84
59
 
85
60
  ## CLI Commands
86
61
 
87
62
  ```bash
88
- # Add inline tool spec
89
- maestro spec add tools "<title>" "<content>" --roles "<csv>" --keywords "<csv>"
63
+ # Register new tool as knowhow document
64
+ maestro knowhow add "knowhow/RCP-<slug>.md" --type recipe --tool
90
65
 
91
- # Add ref tool spec with knowhow
92
- maestro spec add tools "<title>" "<summary>" --roles "<csv>" --keywords "<csv>" \
93
- --ref "knowhow/RCP-<slug>.md" --knowhow-type recipe
66
+ # Promote existing knowhow to tool (in place)
67
+ maestro wiki update <id> --frontmatter '{"tool": true, "category": "<cat>", "summary": "..."}'
94
68
 
95
- # Load tool specs
96
- maestro spec load --role <role>
97
- maestro spec load --role <role> --keyword <word>
69
+ # Load specs by category
70
+ maestro spec load --category <category>
71
+ maestro spec load --category <category> --keyword <word>
98
72
  ```
@@ -253,6 +253,6 @@ Open preview:
253
253
  file://${absolutePath}/preview.html
254
254
 
255
255
  Next steps:
256
- maestro wiki list --role implement
256
+ maestro wiki list --category coding
257
257
  maestro spec load --keyword ${package_name}
258
258
  ```
@@ -220,6 +220,6 @@ Open preview:
220
220
  file://{absolute_path}/preview.html
221
221
 
222
222
  Next steps:
223
- maestro wiki list --role implement # Browse by role
223
+ maestro wiki list --category coding # Browse by category
224
224
  maestro spec load --keyword {package_name} # Load related specs
225
225
  ```
@@ -42,7 +42,7 @@ Milestone mode creates output dir: .workflow/scratch/verify-{milestone_slug}-{da
42
42
  ## V0: Load Project Specs
43
43
 
44
44
  ```
45
- specs_content = maestro spec load --role review
45
+ specs_content = maestro spec load --category review
46
46
  ```
47
47
 
48
48
  Pass specs_content to verifier agent as quality standards context.
@@ -1,71 +0,0 @@
1
- ---
2
- name: maestro-link-coordinate
3
- description: Execute command chain nodes step by step
4
- argument-hint: "\"intent text\" [--list] [-c [sessionId]] [--chain <name>] [--tool <tool>] [-y]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- ---
14
- <purpose>
15
- Step-mode workflow coordinator using `maestro coordinate` CLI subcommands (start/next/status).
16
- Walks chain graphs node by node — each command node executed via `maestro delegate` internally.
17
- Decision/gate/eval nodes auto-resolve between steps. Session persisted for resume.
18
- </purpose>
19
-
20
- <required_reading>
21
- @~/.maestro/workflows/maestro-link-coordinate.md
22
- </required_reading>
23
-
24
- <context>
25
- $ARGUMENTS — user intent text, or flags.
26
-
27
- **Flags:**
28
- - `--list` — List all available chain graphs
29
- - `-c` / `--continue [sessionId]` — Resume step_paused session via `coordinate next`
30
- - `--chain <name>` — Force a specific chain graph
31
- - `--tool <tool>` — CLI tool override (default: claude)
32
- - `-y` / `--yes` — Auto mode
33
-
34
- **CLI endpoints used:**
35
- - `maestro coordinate list` — enumerate chains
36
- - `maestro coordinate start "intent" --chain X` — begin step-mode session
37
- - `maestro coordinate next [sessionId]` — advance one step
38
- - `maestro coordinate status [sessionId]` — query state
39
- - `maestro coordinate run "intent"` — autonomous full run
40
- - `maestro coordinate watch <sessionId> [--follow]` — read-only event tail (separate from driver loop)
41
- - `maestro coordinate report` — agent-invoked command-node result writer (authoritative result channel)
42
-
43
- **Internal walker capabilities (invisible to driver loop):**
44
- - Prompt assembly owned by the walker (main flow) for both command and decision nodes
45
- - Decision nodes auto-resolve via `strategy: 'expr'` (fast path) with LLM decider fallback when expr has no match and no default edge, or explicit `strategy: 'llm'`
46
- - Walker events published to a file/SQLite broker for `watch` observers
47
- - LLM decision in step mode is synchronous — avoid tight per-step deadlines
48
- </context>
49
-
50
- <execution>
51
- Follow '~/.maestro/workflows/maestro-link-coordinate.md' completely.
52
- </execution>
53
-
54
- <error_codes>
55
- | Code | Severity | Description | Recovery |
56
- |------|----------|-------------|----------|
57
- | E001 | error | No intent and no --list/--chain | Suggest --list |
58
- | E002 | error | Chain graph not found | Show list output |
59
- | E003 | error | Step execution failed | Check status, retry next |
60
- | E004 | error | Resume session not found | List sessions |
61
- | E005 | error | CLI endpoint unavailable | Check maestro installation |
62
- </error_codes>
63
-
64
- <success_criteria>
65
- - [ ] Chain graph loaded via `maestro coordinate start`
66
- - [ ] Each step executed via `maestro coordinate next` loop
67
- - [ ] JSON output parsed for session tracking
68
- - [ ] Decision nodes auto-resolved between steps
69
- - [ ] Session persisted and resumable via `-c`
70
- - [ ] Completion summary displayed
71
- </success_criteria>