maestro-flow 0.3.37 → 0.3.39

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 (186) hide show
  1. package/.claude/agents/workflow-analyzer.md +2 -0
  2. package/.claude/agents/workflow-debugger.md +2 -0
  3. package/.claude/agents/workflow-executor.md +2 -0
  4. package/.claude/agents/workflow-integration-checker.md +1 -0
  5. package/.claude/agents/workflow-nyquist-auditor.md +1 -0
  6. package/.claude/agents/workflow-planner.md +2 -0
  7. package/.claude/agents/workflow-reviewer.md +2 -0
  8. package/.claude/agents/workflow-verifier.md +2 -0
  9. package/.claude/commands/learn-decompose.md +176 -176
  10. package/.claude/commands/learn-follow.md +167 -167
  11. package/.claude/commands/learn-investigate.md +221 -221
  12. package/.claude/commands/learn-retro.md +303 -303
  13. package/.claude/commands/learn-second-opinion.md +167 -167
  14. package/.claude/commands/maestro-amend.md +300 -300
  15. package/.claude/commands/maestro-analyze.md +126 -126
  16. package/.claude/commands/maestro-brainstorm.md +100 -100
  17. package/.claude/commands/maestro-composer.md +354 -354
  18. package/.claude/commands/maestro-execute.md +120 -114
  19. package/.claude/commands/maestro-fork.md +86 -86
  20. package/.claude/commands/maestro-init.md +78 -78
  21. package/.claude/commands/maestro-learn.md +140 -140
  22. package/.claude/commands/maestro-link-coordinate.md +1 -1
  23. package/.claude/commands/maestro-merge.md +61 -61
  24. package/.claude/commands/maestro-milestone-release.md +96 -96
  25. package/.claude/commands/maestro-overlay.md +178 -178
  26. package/.claude/commands/maestro-plan.md +150 -138
  27. package/.claude/commands/maestro-player.md +404 -404
  28. package/.claude/commands/maestro-quick.md +56 -56
  29. package/.claude/commands/maestro-ralph-execute.md +7 -18
  30. package/.claude/commands/maestro-ralph.md +9 -3
  31. package/.claude/commands/maestro-roadmap.md +1 -1
  32. package/.claude/commands/maestro-ui-design.md +93 -93
  33. package/.claude/commands/maestro-update.md +176 -176
  34. package/.claude/commands/maestro-verify.md +96 -90
  35. package/.claude/commands/maestro.md +121 -121
  36. package/.claude/commands/manage-codebase-rebuild.md +75 -75
  37. package/.claude/commands/manage-codebase-refresh.md +57 -57
  38. package/.claude/commands/manage-harvest.md +94 -94
  39. package/.claude/commands/manage-issue-discover.md +77 -77
  40. package/.claude/commands/manage-issue.md +73 -73
  41. package/.claude/commands/manage-knowhow-capture.md +193 -193
  42. package/.claude/commands/manage-knowhow.md +77 -77
  43. package/.claude/commands/manage-learn.md +67 -67
  44. package/.claude/commands/manage-status.md +51 -51
  45. package/.claude/commands/manage-wiki.md +62 -62
  46. package/.claude/commands/quality-auto-test.md +1 -1
  47. package/.claude/commands/quality-debug.md +121 -115
  48. package/.claude/commands/quality-refactor.md +55 -55
  49. package/.claude/commands/quality-retrospective.md +78 -78
  50. package/.claude/commands/quality-review.md +114 -108
  51. package/.claude/commands/quality-sync.md +51 -51
  52. package/.claude/commands/quality-test.md +103 -103
  53. package/.claude/commands/spec-add.md +49 -49
  54. package/.claude/commands/spec-load.md +51 -51
  55. package/.claude/commands/spec-remove.md +51 -51
  56. package/.claude/commands/spec-setup.md +51 -51
  57. package/.claude/commands/wiki-connect.md +62 -62
  58. package/.claude/commands/wiki-digest.md +69 -69
  59. package/.codex/skills/learn-decompose/SKILL.md +113 -113
  60. package/.codex/skills/learn-follow/SKILL.md +1 -1
  61. package/.codex/skills/learn-investigate/SKILL.md +83 -83
  62. package/.codex/skills/learn-retro/SKILL.md +83 -83
  63. package/.codex/skills/learn-second-opinion/SKILL.md +86 -86
  64. package/.codex/skills/maestro/SKILL.md +304 -304
  65. package/.codex/skills/maestro-analyze/SKILL.md +9 -8
  66. package/.codex/skills/maestro-brainstorm/SKILL.md +442 -397
  67. package/.codex/skills/maestro-composer/SKILL.md +213 -213
  68. package/.codex/skills/maestro-execute/SKILL.md +346 -318
  69. package/.codex/skills/maestro-fork/SKILL.md +56 -2
  70. package/.codex/skills/maestro-init/SKILL.md +40 -16
  71. package/.codex/skills/maestro-learn/SKILL.md +80 -80
  72. package/.codex/skills/maestro-link-coordinate/SKILL.md +257 -257
  73. package/.codex/skills/maestro-merge/SKILL.md +1 -1
  74. package/.codex/skills/maestro-milestone-audit/SKILL.md +1 -1
  75. package/.codex/skills/maestro-milestone-complete/SKILL.md +40 -9
  76. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -70
  77. package/.codex/skills/maestro-overlay/SKILL.md +1 -1
  78. package/.codex/skills/maestro-plan/SKILL.md +19 -4
  79. package/.codex/skills/maestro-player/SKILL.md +323 -323
  80. package/.codex/skills/maestro-quick/SKILL.md +1 -1
  81. package/.codex/skills/maestro-ralph/SKILL.md +681 -578
  82. package/.codex/skills/maestro-roadmap/SKILL.md +518 -468
  83. package/.codex/skills/maestro-ui-design/SKILL.md +109 -12
  84. package/.codex/skills/maestro-verify/SKILL.md +27 -9
  85. package/.codex/skills/manage-codebase-rebuild/SKILL.md +3 -2
  86. package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
  87. package/.codex/skills/manage-harvest/SKILL.md +91 -91
  88. package/.codex/skills/manage-issue/SKILL.md +19 -6
  89. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  90. package/.codex/skills/manage-knowhow/SKILL.md +95 -95
  91. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -110
  92. package/.codex/skills/manage-learn/SKILL.md +1 -1
  93. package/.codex/skills/manage-status/SKILL.md +1 -1
  94. package/.codex/skills/manage-wiki/SKILL.md +55 -55
  95. package/.codex/skills/quality-auto-test/SKILL.md +547 -547
  96. package/.codex/skills/quality-debug/SKILL.md +339 -334
  97. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  98. package/.codex/skills/quality-retrospective/SKILL.md +292 -292
  99. package/.codex/skills/quality-review/SKILL.md +365 -364
  100. package/.codex/skills/quality-sync/SKILL.md +1 -1
  101. package/.codex/skills/quality-test/SKILL.md +498 -498
  102. package/.codex/skills/spec-add/SKILL.md +101 -101
  103. package/.codex/skills/spec-load/SKILL.md +77 -77
  104. package/.codex/skills/spec-map/SKILL.md +1 -1
  105. package/.codex/skills/spec-remove/SKILL.md +69 -69
  106. package/.codex/skills/spec-setup/SKILL.md +1 -1
  107. package/.codex/skills/team-coordinate/SKILL.md +2 -1
  108. package/.codex/skills/team-executor/SKILL.md +116 -115
  109. package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -1
  110. package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +14 -6
  111. package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +16 -4
  112. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +7 -1
  113. package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +16 -4
  114. package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +8 -2
  115. package/.codex/skills/team-quality-assurance/SKILL.md +2 -1
  116. package/.codex/skills/team-quality-assurance/roles/scout/role.md +9 -2
  117. package/.codex/skills/team-review/SKILL.md +2 -1
  118. package/.codex/skills/team-review/roles/reviewer/role.md +10 -1
  119. package/.codex/skills/team-review/roles/scanner/role.md +10 -1
  120. package/.codex/skills/team-tech-debt/SKILL.md +144 -143
  121. package/.codex/skills/team-tech-debt/roles/executor/role.md +9 -5
  122. package/.codex/skills/team-tech-debt/roles/scanner/role.md +10 -0
  123. package/.codex/skills/team-tech-debt/roles/validator/role.md +8 -2
  124. package/.codex/skills/team-testing/SKILL.md +2 -1
  125. package/.codex/skills/team-testing/roles/executor/role.md +8 -2
  126. package/.codex/skills/team-testing/roles/generator/role.md +8 -2
  127. package/.codex/skills/wiki-connect/SKILL.md +73 -73
  128. package/.codex/skills/wiki-digest/SKILL.md +87 -87
  129. package/README.md +6 -0
  130. package/README.zh-CN.md +6 -0
  131. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -0
  132. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +118 -7
  134. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
  135. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  136. package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +2 -0
  137. package/dashboard/dist-server/src/agents/cli-agent-runner.js +4 -0
  138. package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
  139. package/dashboard/dist-server/src/commands/delegate.d.ts +2 -0
  140. package/dashboard/dist-server/src/commands/delegate.js +18 -0
  141. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  142. package/dashboard/dist-server/src/config/cli-tools-config.d.ts +6 -0
  143. package/dashboard/dist-server/src/config/cli-tools-config.js +2 -0
  144. package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
  145. package/dist/shared/agent-types.d.ts +2 -0
  146. package/dist/shared/agent-types.d.ts.map +1 -1
  147. package/dist/src/agents/cli-agent-runner.d.ts +2 -0
  148. package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
  149. package/dist/src/agents/cli-agent-runner.js +4 -0
  150. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  151. package/dist/src/commands/config.d.ts.map +1 -1
  152. package/dist/src/commands/config.js +29 -1
  153. package/dist/src/commands/config.js.map +1 -1
  154. package/dist/src/commands/delegate.d.ts +2 -0
  155. package/dist/src/commands/delegate.d.ts.map +1 -1
  156. package/dist/src/commands/delegate.js +18 -0
  157. package/dist/src/commands/delegate.js.map +1 -1
  158. package/dist/src/commands/launcher.d.ts.map +1 -1
  159. package/dist/src/commands/launcher.js +27 -4
  160. package/dist/src/commands/launcher.js.map +1 -1
  161. package/dist/src/config/cli-tools-config.d.ts +6 -0
  162. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  163. package/dist/src/config/cli-tools-config.js +2 -0
  164. package/dist/src/config/cli-tools-config.js.map +1 -1
  165. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  166. package/dist/src/core/overlay/applier.js +65 -5
  167. package/dist/src/core/overlay/applier.js.map +1 -1
  168. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  169. package/dist/src/core/overlay/loader.js +9 -4
  170. package/dist/src/core/overlay/loader.js.map +1 -1
  171. package/dist/src/core/overlay/types.d.ts +2 -0
  172. package/dist/src/core/overlay/types.d.ts.map +1 -1
  173. package/dist/src/core/overlay/types.js +2 -0
  174. package/dist/src/core/overlay/types.js.map +1 -1
  175. package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
  176. package/dist/src/tui/tools-ui/ToolsDashboard.js +1 -1
  177. package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
  178. package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
  179. package/dist/src/tui/tools-ui/ToolsOverview.js +51 -4
  180. package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
  181. package/package.json +1 -1
  182. package/shared/agent-types.ts +2 -0
  183. package/workflows/delegate-protocol.codex.md +65 -0
  184. package/workflows/issue-analyze.md +2 -3
  185. package/workflows/issue-gaps-analyze.codex.md +260 -0
  186. package/workflows/issue-gaps-analyze.md +214 -0
@@ -1,103 +1,103 @@
1
- ---
2
- name: quality-test
3
- description: Conversational UAT with session persistence, auto-diagnosis, and gap-plan closure loop
4
- argument-hint: "[phase] [--smoke] [--auto-fix]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Run UAT-style conversational testing for a completed phase. Designs test scenarios from verification criteria, walks through each scenario interactively one at a time with plain text responses, and records pass/fail results with severity inference.
17
-
18
- When issues are found, spawns parallel debug agents (one per gap cluster) to diagnose root causes, then optionally triggers the gap-fix loop (plan --gaps -> execute -> re-verify) to auto-close gaps.
19
-
20
- Key mechanisms from GSD verify-work:
21
- - **Session persistence**: uat.md survives context resets, resume from any point
22
- - **Severity inference**: Natural language -> blocker/major/minor/cosmetic (never ask)
23
- - **Cold-start smoke tests**: --smoke flag injects basic sanity tests before UAT
24
- - **Parallel auto-diagnosis**: Spawn debug agents per gap cluster with pre-filled symptoms
25
- - **Gap-plan closure loop**: --auto-fix triggers verify -> plan --gaps -> execute -> re-verify
26
- </purpose>
27
-
28
- <required_reading>
29
- @~/.maestro/workflows/test.md
30
- </required_reading>
31
-
32
- <context>
33
- Phase or task: $ARGUMENTS (optional)
34
-
35
- Flags, artifact context resolution, and output directory format defined in workflow test.md.
36
- </context>
37
-
38
- <execution>
39
- Follow '~/.maestro/workflows/test.md' completely.
40
-
41
- **Command-specific extensions (not in workflow):**
42
-
43
- **Review findings integration** (from related review artifacts):
44
- - Extract critical/high findings as additional test scenarios, marked `source: "review_finding"`
45
- - When review verdict is "BLOCK" and review-finding tests fail, auto-enter gap-fix loop
46
-
47
- **Debug root cause integration** (from related debug artifacts):
48
- - Generate regression test scenarios from confirmed root causes, marked `source: "debug_root_cause"`
49
-
50
- **Register artifact on completion:**
51
- ```
52
- Append to state.json.artifacts[]:
53
- {
54
- id: nextArtifactId(artifacts, "test"), // TST-001
55
- type: "test",
56
- milestone: current_milestone,
57
- phase: target_phase,
58
- scope: "phase",
59
- path: "scratch/{YYYYMMDD}-test-P{N}-{slug}",
60
- status: issues == 0 ? "completed" : "failed",
61
- depends_on: exec_art.id,
62
- harvested: false,
63
- created_at: start_time,
64
- completed_at: now()
65
- }
66
- ```
67
-
68
- **Next-step routing on completion:**
69
- - All tests pass → `/maestro-milestone-audit`
70
- - Issues found, --auto-fix ran and succeeded → `/maestro-verify {phase}`
71
- - Issues found, --auto-fix ran but gaps remain → `/quality-debug --from-uat {phase}`
72
- - Issues found, manual fix needed → `/quality-debug --from-uat {phase}`
73
- - Coverage below threshold → `/quality-auto-test {phase}`
74
- - Need integration tests → `/quality-auto-test {phase}`
75
- </execution>
76
-
77
- <error_codes>
78
- | Code | Severity | Condition | Recovery |
79
- |------|----------|-----------|----------|
80
- | E001 | error | Phase or task target required (no active sessions) | Prompt user for phase number |
81
- | E002 | error | Phase not verified yet (no verification.json) | Suggest `/maestro-verify` first |
82
- | E003 | error | Smoke test failed (app won't start) | Suggest `/quality-debug` |
83
- | W001 | warning | One or more test scenarios failed | Auto-diagnose, suggest fix options |
84
- | W002 | warning | Coverage below threshold | Suggest `/quality-auto-test` |
85
- </error_codes>
86
-
87
- <success_criteria>
88
- - [ ] Target resolved (phase or scratch task)
89
- - [ ] Active sessions checked, resume offered if applicable
90
- - [ ] Smoke tests run if --smoke flag set
91
- - [ ] test-plan.json generated with categorized tests mapped to requirements
92
- - [ ] uat.md created/resumed with all tests
93
- - [ ] Tests presented one at a time with expected behavior
94
- - [ ] User responses processed as pass/issue/skip
95
- - [ ] Severity inferred from natural language (never asked)
96
- - [ ] Batched writes: on issue, every 5 passes, or completion
97
- - [ ] test-results.json and coverage-report.json written
98
- - [ ] index.json uat fields updated
99
- - [ ] If issues: parallel debug agents spawned per gap cluster
100
- - [ ] Gaps updated with root_cause, fix_direction, affected_files
101
- - [ ] Gap-fix loop triggered if --auto-fix (max 2 iterations)
102
- - [ ] Next step routed (phase-transition if pass, verify if auto-fix success, debug --from-uat if issues, test-gen if low coverage)
103
- </success_criteria>
1
+ ---
2
+ name: quality-test
3
+ description: Conversational UAT with auto-diagnosis and gap closure
4
+ argument-hint: "[phase] [--smoke] [--auto-fix]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Run UAT-style conversational testing for a completed phase. Designs test scenarios from verification criteria, walks through each scenario interactively one at a time with plain text responses, and records pass/fail results with severity inference.
17
+
18
+ When issues are found, spawns parallel debug agents (one per gap cluster) to diagnose root causes, then optionally triggers the gap-fix loop (plan --gaps -> execute -> re-verify) to auto-close gaps.
19
+
20
+ Key mechanisms from GSD verify-work:
21
+ - **Session persistence**: uat.md survives context resets, resume from any point
22
+ - **Severity inference**: Natural language -> blocker/major/minor/cosmetic (never ask)
23
+ - **Cold-start smoke tests**: --smoke flag injects basic sanity tests before UAT
24
+ - **Parallel auto-diagnosis**: Spawn debug agents per gap cluster with pre-filled symptoms
25
+ - **Gap-plan closure loop**: --auto-fix triggers verify -> plan --gaps -> execute -> re-verify
26
+ </purpose>
27
+
28
+ <required_reading>
29
+ @~/.maestro/workflows/test.md
30
+ </required_reading>
31
+
32
+ <context>
33
+ Phase or task: $ARGUMENTS (optional)
34
+
35
+ Flags, artifact context resolution, and output directory format defined in workflow test.md.
36
+ </context>
37
+
38
+ <execution>
39
+ Follow '~/.maestro/workflows/test.md' completely.
40
+
41
+ **Command-specific extensions (not in workflow):**
42
+
43
+ **Review findings integration** (from related review artifacts):
44
+ - Extract critical/high findings as additional test scenarios, marked `source: "review_finding"`
45
+ - When review verdict is "BLOCK" and review-finding tests fail, auto-enter gap-fix loop
46
+
47
+ **Debug root cause integration** (from related debug artifacts):
48
+ - Generate regression test scenarios from confirmed root causes, marked `source: "debug_root_cause"`
49
+
50
+ **Register artifact on completion:**
51
+ ```
52
+ Append to state.json.artifacts[]:
53
+ {
54
+ id: nextArtifactId(artifacts, "test"), // TST-001
55
+ type: "test",
56
+ milestone: current_milestone,
57
+ phase: target_phase,
58
+ scope: "phase",
59
+ path: "scratch/{YYYYMMDD}-test-P{N}-{slug}",
60
+ status: issues == 0 ? "completed" : "failed",
61
+ depends_on: exec_art.id,
62
+ harvested: false,
63
+ created_at: start_time,
64
+ completed_at: now()
65
+ }
66
+ ```
67
+
68
+ **Next-step routing on completion:**
69
+ - All tests pass → `/maestro-milestone-audit`
70
+ - Issues found, --auto-fix ran and succeeded → `/maestro-verify {phase}`
71
+ - Issues found, --auto-fix ran but gaps remain → `/quality-debug --from-uat {phase}`
72
+ - Issues found, manual fix needed → `/quality-debug --from-uat {phase}`
73
+ - Coverage below threshold → `/quality-auto-test {phase}`
74
+ - Need integration tests → `/quality-auto-test {phase}`
75
+ </execution>
76
+
77
+ <error_codes>
78
+ | Code | Severity | Condition | Recovery |
79
+ |------|----------|-----------|----------|
80
+ | E001 | error | Phase or task target required (no active sessions) | Prompt user for phase number |
81
+ | E002 | error | Phase not verified yet (no verification.json) | Suggest `/maestro-verify` first |
82
+ | E003 | error | Smoke test failed (app won't start) | Suggest `/quality-debug` |
83
+ | W001 | warning | One or more test scenarios failed | Auto-diagnose, suggest fix options |
84
+ | W002 | warning | Coverage below threshold | Suggest `/quality-auto-test` |
85
+ </error_codes>
86
+
87
+ <success_criteria>
88
+ - [ ] Target resolved (phase or scratch task)
89
+ - [ ] Active sessions checked, resume offered if applicable
90
+ - [ ] Smoke tests run if --smoke flag set
91
+ - [ ] test-plan.json generated with categorized tests mapped to requirements
92
+ - [ ] uat.md created/resumed with all tests
93
+ - [ ] Tests presented one at a time with expected behavior
94
+ - [ ] User responses processed as pass/issue/skip
95
+ - [ ] Severity inferred from natural language (never asked)
96
+ - [ ] Batched writes: on issue, every 5 passes, or completion
97
+ - [ ] test-results.json and coverage-report.json written
98
+ - [ ] index.json uat fields updated
99
+ - [ ] If issues: parallel debug agents spawned per gap cluster
100
+ - [ ] Gaps updated with root_cause, fix_direction, affected_files
101
+ - [ ] Gap-fix loop triggered if --auto-fix (max 2 iterations)
102
+ - [ ] Next step routed (phase-transition if pass, verify if auto-fix success, debug --from-uat if issues, test-gen if low coverage)
103
+ </success_criteria>
@@ -1,49 +1,49 @@
1
- ---
2
- name: spec-add
3
- description: Add a spec entry to the appropriate specs file by category
4
- argument-hint: "[--scope project|global|team|personal] <category> <content>"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Glob
10
- - Grep
11
- ---
12
- <purpose>
13
- Add a knowledge entry to the specs system using `<spec-entry>` closed-tag format.
14
- Each category maps 1:1 to a single target file — no dual-write.
15
- Supports 4 scopes: project (default), global, team, personal.
16
- </purpose>
17
-
18
- <required_reading>
19
- @~/.maestro/workflows/specs-add.md
20
- </required_reading>
21
-
22
- <context>
23
- $ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>] <category> <content>`
24
-
25
- Scope-to-directory mapping, category-to-file mapping, and entry format defined in workflow specs-add.md.
26
- </context>
27
-
28
- <execution>
29
- Follow '~/.maestro/workflows/specs-add.md' completely.
30
- </execution>
31
-
32
- <error_codes>
33
- | Code | Severity | Description | Stage |
34
- |------|----------|-------------|-------|
35
- | E001 | fatal | Category and content are both required | parse_input |
36
- | E002 | fatal | Specs directory not initialized -- run `maestro spec init --scope <scope>` | validate_entry |
37
- | E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning | parse_input |
38
- | E004 | fatal | Invalid scope -- must be one of: project, global, team, personal | parse_input |
39
- | E005 | fatal | Personal scope requires uid -- use `--uid` or run `maestro collab join` first | parse_input |
40
- </error_codes>
41
-
42
- <success_criteria>
43
- - [ ] Scope and category parsed and validated
44
- - [ ] Keywords auto-extracted from content (3-5 relevant terms)
45
- - [ ] Entry written in `<spec-entry>` closed-tag format
46
- - [ ] Entry appended to correct target file for scope
47
- - [ ] Confirmation report displayed with scope, path, keywords
48
- - [ ] Next step: `maestro spec load --scope <scope> --keyword {keyword}` to verify
49
- </success_criteria>
1
+ ---
2
+ name: spec-add
3
+ description: Add spec entry by category
4
+ argument-hint: "[--scope project|global|team|personal] <category> <content>"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ ---
12
+ <purpose>
13
+ Add a knowledge entry to the specs system using `<spec-entry>` closed-tag format.
14
+ Each category maps 1:1 to a single target file — no dual-write.
15
+ Supports 4 scopes: project (default), global, team, personal.
16
+ </purpose>
17
+
18
+ <required_reading>
19
+ @~/.maestro/workflows/specs-add.md
20
+ </required_reading>
21
+
22
+ <context>
23
+ $ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>] <category> <content>`
24
+
25
+ Scope-to-directory mapping, category-to-file mapping, and entry format defined in workflow specs-add.md.
26
+ </context>
27
+
28
+ <execution>
29
+ Follow '~/.maestro/workflows/specs-add.md' completely.
30
+ </execution>
31
+
32
+ <error_codes>
33
+ | Code | Severity | Description | Stage |
34
+ |------|----------|-------------|-------|
35
+ | E001 | fatal | Category and content are both required | parse_input |
36
+ | E002 | fatal | Specs directory not initialized -- run `maestro spec init --scope <scope>` | validate_entry |
37
+ | E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning | parse_input |
38
+ | E004 | fatal | Invalid scope -- must be one of: project, global, team, personal | parse_input |
39
+ | E005 | fatal | Personal scope requires uid -- use `--uid` or run `maestro collab join` first | parse_input |
40
+ </error_codes>
41
+
42
+ <success_criteria>
43
+ - [ ] Scope and category parsed and validated
44
+ - [ ] Keywords auto-extracted from content (3-5 relevant terms)
45
+ - [ ] Entry written in `<spec-entry>` closed-tag format
46
+ - [ ] Entry appended to correct target file for scope
47
+ - [ ] Confirmation report displayed with scope, path, keywords
48
+ - [ ] Next step: `maestro spec load --scope <scope> --keyword {keyword}` to verify
49
+ </success_criteria>
@@ -1,51 +1,51 @@
1
- ---
2
- name: spec-load
3
- description: Load relevant specs and lessons for current context (used by agents before execution)
4
- argument-hint: "[--category <type>] [--keyword <word>] [--with-lessons]"
5
- allowed-tools:
6
- - Read
7
- - Bash
8
- - Glob
9
- - Grep
10
- ---
11
- <purpose>
12
- Load and display relevant spec files for the current working context.
13
- Supports filtering by category (file-level) and keyword (entry-level via `<spec-entry>` tags).
14
- </purpose>
15
-
16
- <required_reading>
17
- @~/.maestro/workflows/specs-load.md
18
- </required_reading>
19
-
20
- <context>
21
- $ARGUMENTS -- optional flags and keyword
22
-
23
- Category-to-file mapping (1:1) and flag details defined in workflow specs-load.md.
24
-
25
- **Examples:**
26
- ```
27
- /spec-load --keyword auth
28
- /spec-load --category coding --keyword naming
29
- /spec-load --category arch
30
- ```
31
- </context>
32
-
33
- <execution>
34
- Follow '~/.maestro/workflows/specs-load.md' completely.
35
- </execution>
36
-
37
- <error_codes>
38
- | Code | Severity | Description | Stage |
39
- |------|----------|-------------|-------|
40
- | E001 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | detect_context |
41
- | W001 | warning | No matching specs found for keyword -- showing all specs in category instead | load_specs |
42
- </error_codes>
43
-
44
- <success_criteria>
45
- - [ ] Category and/or keyword parsed from arguments
46
- - [ ] Spec files loaded per category mapping
47
- - [ ] Keyword filtering applied at entry level (via `<spec-entry>` keywords attribute)
48
- - [ ] Legacy entries filtered by text grep fallback
49
- - [ ] Results displayed with file:category references
50
- </success_criteria>
51
- </output>
1
+ ---
2
+ name: spec-load
3
+ description: Load specs and lessons for current context
4
+ argument-hint: "[--category <type>] [--keyword <word>] [--with-lessons]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ ---
11
+ <purpose>
12
+ Load and display relevant spec files for the current working context.
13
+ Supports filtering by category (file-level) and keyword (entry-level via `<spec-entry>` tags).
14
+ </purpose>
15
+
16
+ <required_reading>
17
+ @~/.maestro/workflows/specs-load.md
18
+ </required_reading>
19
+
20
+ <context>
21
+ $ARGUMENTS -- optional flags and keyword
22
+
23
+ Category-to-file mapping (1:1) and flag details defined in workflow specs-load.md.
24
+
25
+ **Examples:**
26
+ ```
27
+ /spec-load --keyword auth
28
+ /spec-load --category coding --keyword naming
29
+ /spec-load --category arch
30
+ ```
31
+ </context>
32
+
33
+ <execution>
34
+ Follow '~/.maestro/workflows/specs-load.md' completely.
35
+ </execution>
36
+
37
+ <error_codes>
38
+ | Code | Severity | Description | Stage |
39
+ |------|----------|-------------|-------|
40
+ | E001 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | detect_context |
41
+ | W001 | warning | No matching specs found for keyword -- showing all specs in category instead | load_specs |
42
+ </error_codes>
43
+
44
+ <success_criteria>
45
+ - [ ] Category and/or keyword parsed from arguments
46
+ - [ ] Spec files loaded per category mapping
47
+ - [ ] Keyword filtering applied at entry level (via `<spec-entry>` keywords attribute)
48
+ - [ ] Legacy entries filtered by text grep fallback
49
+ - [ ] Results displayed with file:category references
50
+ </success_criteria>
51
+ </output>
@@ -1,51 +1,51 @@
1
- ---
2
- name: spec-remove
3
- description: Remove a spec entry from a specs file by entry ID
4
- argument-hint: "<entry-id>"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - AskUserQuestion
13
- ---
14
- <purpose>
15
- Remove a `<spec-entry>` from a specs file. Symmetric with `/spec-add`.
16
- Uses `maestro wiki remove-entry` for atomic removal with index auto-update.
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/specs-remove.md
21
- </required_reading>
22
-
23
- <context>
24
- $ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-conventions-001`)
25
-
26
- **Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
27
-
28
- **Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
29
- </context>
30
-
31
- <execution>
32
- Follow '~/.maestro/workflows/specs-remove.md' completely.
33
- </execution>
34
-
35
- <error_codes>
36
- | Code | Severity | Description | Stage |
37
- |------|----------|-------------|-------|
38
- | E001 | fatal | Entry ID is required -- usage: `/spec-remove <entry-id>` | parse_input |
39
- | E002 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | validate |
40
- | E003 | fatal | Entry ID not found in wiki index | lookup |
41
- | E004 | fatal | Entry is not a spec sub-node (wrong type) | validate |
42
- </error_codes>
43
-
44
- <success_criteria>
45
- - [ ] Entry ID parsed and validated
46
- - [ ] Entry found in wiki index (type=spec, is sub-node)
47
- - [ ] User confirmed removal (unless -y flag)
48
- - [ ] Entry removed from container file via `maestro wiki remove-entry`
49
- - [ ] Wiki index auto-updated
50
- - [ ] Confirmation displayed with removed entry details
51
- </success_criteria>
1
+ ---
2
+ name: spec-remove
3
+ description: Remove spec entry by ID
4
+ argument-hint: "<entry-id>"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - AskUserQuestion
13
+ ---
14
+ <purpose>
15
+ Remove a `<spec-entry>` from a specs file. Symmetric with `/spec-add`.
16
+ Uses `maestro wiki remove-entry` for atomic removal with index auto-update.
17
+ </purpose>
18
+
19
+ <required_reading>
20
+ @~/.maestro/workflows/specs-remove.md
21
+ </required_reading>
22
+
23
+ <context>
24
+ $ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-conventions-001`)
25
+
26
+ **Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
27
+
28
+ **Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
29
+ </context>
30
+
31
+ <execution>
32
+ Follow '~/.maestro/workflows/specs-remove.md' completely.
33
+ </execution>
34
+
35
+ <error_codes>
36
+ | Code | Severity | Description | Stage |
37
+ |------|----------|-------------|-------|
38
+ | E001 | fatal | Entry ID is required -- usage: `/spec-remove <entry-id>` | parse_input |
39
+ | E002 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | validate |
40
+ | E003 | fatal | Entry ID not found in wiki index | lookup |
41
+ | E004 | fatal | Entry is not a spec sub-node (wrong type) | validate |
42
+ </error_codes>
43
+
44
+ <success_criteria>
45
+ - [ ] Entry ID parsed and validated
46
+ - [ ] Entry found in wiki index (type=spec, is sub-node)
47
+ - [ ] User confirmed removal (unless -y flag)
48
+ - [ ] Entry removed from container file via `maestro wiki remove-entry`
49
+ - [ ] Wiki index auto-updated
50
+ - [ ] Confirmation displayed with removed entry details
51
+ </success_criteria>
@@ -1,51 +1,51 @@
1
- ---
2
- name: spec-setup
3
- description: Initialize system specs by scanning project structure and generating conventions
4
- argument-hint: ""
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Glob
10
- - Grep
11
- ---
12
- <purpose>
13
- Initialize the project-level specs directory by scanning the codebase for conventions, patterns, and tech stack.
14
- Core files (coding, arch, learning) are always created. Optional files (quality, debug, test, review) are created only when relevant signals are detected.
15
- All output lands in `.workflow/specs/`.
16
- </purpose>
17
-
18
- <required_reading>
19
- @~/.maestro/workflows/specs-setup.md
20
- </required_reading>
21
-
22
- <deferred_reading>
23
- </deferred_reading>
24
-
25
- <context>
26
- $ARGUMENTS (no arguments expected)
27
-
28
- **Preconditions:**
29
- - `.workflow/` directory must exist (created by `/maestro-init`) # (see code: E001)
30
- - Project must contain source files to scan # (see code: E002)
31
- </context>
32
-
33
- <execution>
34
- Follow '~/.maestro/workflows/specs-setup.md' completely.
35
- </execution>
36
-
37
- <error_codes>
38
- | Code | Severity | Description | Stage |
39
- |------|----------|-------------|-------|
40
- | E001 | fatal | `.workflow/` directory not initialized -- run `/maestro-init` first | parse_input |
41
- | E002 | fatal | No source files found in project -- nothing to scan | scan_codebase |
42
- | W001 | warning | Convention detection uncertain for one or more categories -- marked `[UNCERTAIN]` | generate_specs |
43
- </error_codes>
44
-
45
- <success_criteria>
46
- - [ ] `.workflow/specs/` directory created
47
- - [ ] Core files always created: `coding-conventions.md`, `architecture-constraints.md`, `learnings.md`
48
- - [ ] Optional files created when detected: `quality-rules.md` (linter/CI), `test-conventions.md` (test framework), `debug-notes.md` (on demand), `review-standards.md` (on demand)
49
- - [ ] Report displayed with summary and next steps
50
- </success_criteria>
51
- </output>
1
+ ---
2
+ name: spec-setup
3
+ description: Initialize specs from project structure
4
+ argument-hint: ""
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ ---
12
+ <purpose>
13
+ Initialize the project-level specs directory by scanning the codebase for conventions, patterns, and tech stack.
14
+ Core files (coding, arch, learning) are always created. Optional files (quality, debug, test, review) are created only when relevant signals are detected.
15
+ All output lands in `.workflow/specs/`.
16
+ </purpose>
17
+
18
+ <required_reading>
19
+ @~/.maestro/workflows/specs-setup.md
20
+ </required_reading>
21
+
22
+ <deferred_reading>
23
+ </deferred_reading>
24
+
25
+ <context>
26
+ $ARGUMENTS (no arguments expected)
27
+
28
+ **Preconditions:**
29
+ - `.workflow/` directory must exist (created by `/maestro-init`) # (see code: E001)
30
+ - Project must contain source files to scan # (see code: E002)
31
+ </context>
32
+
33
+ <execution>
34
+ Follow '~/.maestro/workflows/specs-setup.md' completely.
35
+ </execution>
36
+
37
+ <error_codes>
38
+ | Code | Severity | Description | Stage |
39
+ |------|----------|-------------|-------|
40
+ | E001 | fatal | `.workflow/` directory not initialized -- run `/maestro-init` first | parse_input |
41
+ | E002 | fatal | No source files found in project -- nothing to scan | scan_codebase |
42
+ | W001 | warning | Convention detection uncertain for one or more categories -- marked `[UNCERTAIN]` | generate_specs |
43
+ </error_codes>
44
+
45
+ <success_criteria>
46
+ - [ ] `.workflow/specs/` directory created
47
+ - [ ] Core files always created: `coding-conventions.md`, `architecture-constraints.md`, `learnings.md`
48
+ - [ ] Optional files created when detected: `quality-rules.md` (linter/CI), `test-conventions.md` (test framework), `debug-notes.md` (on demand), `review-standards.md` (on demand)
49
+ - [ ] Report displayed with summary and next steps
50
+ </success_criteria>
51
+ </output>