maestro-flow 0.3.38 → 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 (181) 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 +4 -3
  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/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -0
  130. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  131. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +6 -0
  132. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
  133. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  134. package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +2 -0
  135. package/dashboard/dist-server/src/agents/cli-agent-runner.js +4 -0
  136. package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
  137. package/dashboard/dist-server/src/commands/delegate.d.ts +2 -0
  138. package/dashboard/dist-server/src/commands/delegate.js +18 -0
  139. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  140. package/dashboard/dist-server/src/config/cli-tools-config.d.ts +6 -0
  141. package/dashboard/dist-server/src/config/cli-tools-config.js +2 -0
  142. package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
  143. package/dist/shared/agent-types.d.ts +2 -0
  144. package/dist/shared/agent-types.d.ts.map +1 -1
  145. package/dist/src/agents/cli-agent-runner.d.ts +2 -0
  146. package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
  147. package/dist/src/agents/cli-agent-runner.js +4 -0
  148. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  149. package/dist/src/commands/config.d.ts.map +1 -1
  150. package/dist/src/commands/config.js +29 -1
  151. package/dist/src/commands/config.js.map +1 -1
  152. package/dist/src/commands/delegate.d.ts +2 -0
  153. package/dist/src/commands/delegate.d.ts.map +1 -1
  154. package/dist/src/commands/delegate.js +18 -0
  155. package/dist/src/commands/delegate.js.map +1 -1
  156. package/dist/src/commands/launcher.d.ts.map +1 -1
  157. package/dist/src/commands/launcher.js +27 -4
  158. package/dist/src/commands/launcher.js.map +1 -1
  159. package/dist/src/config/cli-tools-config.d.ts +6 -0
  160. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  161. package/dist/src/config/cli-tools-config.js +2 -0
  162. package/dist/src/config/cli-tools-config.js.map +1 -1
  163. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  164. package/dist/src/core/overlay/applier.js +65 -5
  165. package/dist/src/core/overlay/applier.js.map +1 -1
  166. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  167. package/dist/src/core/overlay/loader.js +9 -4
  168. package/dist/src/core/overlay/loader.js.map +1 -1
  169. package/dist/src/core/overlay/types.d.ts +2 -0
  170. package/dist/src/core/overlay/types.d.ts.map +1 -1
  171. package/dist/src/core/overlay/types.js +2 -0
  172. package/dist/src/core/overlay/types.js.map +1 -1
  173. package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
  174. package/dist/src/tui/tools-ui/ToolsDashboard.js +1 -1
  175. package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
  176. package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
  177. package/dist/src/tui/tools-ui/ToolsOverview.js +51 -4
  178. package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
  179. package/package.json +1 -1
  180. package/shared/agent-types.ts +2 -0
  181. package/workflows/delegate-protocol.codex.md +65 -0
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: maestro-fork
3
- description: Create git worktree for milestone-level parallel development, or sync existing worktree with main. Copies .workflow/ context and scratch artifacts into worktree since .workflow/ is gitignored.
3
+ description: Create or sync milestone worktree for parallel dev
4
4
  argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
6
  ---
7
7
 
8
8
  <purpose>
@@ -18,6 +18,11 @@ Also supports `--sync` mode to pull latest main into an active worktree.
18
18
  @~/.maestro/workflows/fork.md
19
19
  </required_reading>
20
20
 
21
+ <deferred_reading>
22
+ - [worktrees.json](~/.maestro/templates/worktrees.json) — read when initializing or updating worktree registry
23
+ - [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when creating worktree scope marker
24
+ </deferred_reading>
25
+
21
26
  <context>
22
27
  $ARGUMENTS — milestone number and optional flags.
23
28
 
@@ -64,6 +69,55 @@ Follow '~/.maestro/workflows/fork.md' completely.
64
69
  2. `cd worktree && git merge main`
65
70
  3. Re-copy shared files (project.md, roadmap.md, config.json, specs/)
66
71
 
72
+ **Registry: `worktrees.json`** (`.workflow/worktrees.json` in main worktree):
73
+
74
+ Initialize if not exists: `{ "version": "1.0", "worktrees": [], "fork_sessions": [] }`
75
+
76
+ On fork, append to `worktrees[]`:
77
+ ```json
78
+ {
79
+ "milestone_num": "{milestoneNum}",
80
+ "milestone": "{milestoneName}",
81
+ "slug": "{milestoneSlug}",
82
+ "branch": "milestone/{milestoneSlug}",
83
+ "path": "{worktreeRoot}/m{milestoneNum}-{milestoneSlug}",
84
+ "base_commit": "{baseCommit}",
85
+ "status": "active",
86
+ "created_at": "{UTC8_ISO}",
87
+ "owned_phases": ["{ownedPhaseNumbers}"],
88
+ "fork_session": "{forkSessionId}"
89
+ }
90
+ ```
91
+
92
+ Append to `fork_sessions[]`:
93
+ ```json
94
+ {
95
+ "session_id": "fork-{UTC8_compact_timestamp}",
96
+ "created_at": "{UTC8_ISO}",
97
+ "milestone_num": "{milestoneNum}",
98
+ "milestone": "{milestoneName}",
99
+ "base_branch": "{baseBranch}",
100
+ "base_commit": "{baseCommit}"
101
+ }
102
+ ```
103
+
104
+ **Scope marker: `worktree-scope.json`** (`{wtPath}/.workflow/worktree-scope.json`):
105
+ ```json
106
+ {
107
+ "worktree": true,
108
+ "milestone_num": "{milestoneNum}",
109
+ "milestone": "{milestoneName}",
110
+ "owned_phases": ["{ownedPhaseNumbers}"],
111
+ "phase_dependencies": "{phaseDeps}",
112
+ "main_worktree": "{resolve(cwd)}",
113
+ "branch": "milestone/{milestoneSlug}",
114
+ "base_commit": "{baseCommit}",
115
+ "created_at": "{UTC8_ISO}"
116
+ }
117
+ ```
118
+
119
+ Presence of `worktree-scope.json` signals "inside a worktree" — used by E003 validation to prevent nested forks.
120
+
67
121
  **Next steps:**
68
122
  - Fork → `cd {wt.path} && $maestro-analyze`
69
123
  - Sync → resume work in worktree
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: maestro-init
3
- description: Initialize project with auto state detection — creates .workflow/ directory, project.md, state.json, config.json, and specs/
3
+ description: Initialize project with auto state detection
4
4
  argument-hint: "[-y] [--from-brainstorm SESSION-ID]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
6
  ---
7
7
 
8
8
  <purpose>
@@ -57,21 +57,26 @@ Classify as:
57
57
 
58
58
  **If `--from-brainstorm`**:
59
59
  - Read `.workflow/.brainstorm/{SESSION-ID}/guidance-specification.md`
60
- - Extract: vision, goals, constraints, terminology, tech decisions
61
- - Skip interactive questioning
60
+ - Extract these fields from the document (match by heading or frontmatter key):
61
+ - `## Vision` or `vision:` → project.md Core Value Proposition
62
+ - `## Goals` or `goals:` → project.md Requirements (Validated)
63
+ - `## Constraints` or `constraints:` → project.md Constraints section
64
+ - `## Terminology` or `terminology:` → project.md Glossary section
65
+ - `## Tech Decisions` or `tech_stack:` → project.md Tech Stack section
66
+ - Skip interactive questioning — all project info comes from the document
62
67
 
63
68
  **If `-y`**:
64
69
  - Extract project info from provided document/@ reference
65
70
  - Minimal interactive questions (confirm core value only)
66
71
 
67
72
  **Otherwise (interactive)**:
68
- - Deep questioning flow:
69
- 1. What is the core value proposition?
70
- 2. Who are the target users?
71
- 3. What are the key requirements? (follow threads, don't rush)
72
- 4. What are known constraints/limitations?
73
- 5. What tech stack preferences exist?
74
- - Follow each thread with clarifying questions until satisfied
73
+ - Deep questioning flow (ask via `request_user_input`, follow each thread with clarifying questions until satisfied):
74
+ 1. "What problem does this project solve? Who feels the pain today?" — core value proposition
75
+ 2. "Who are the target users? How do they currently work around this problem?" — user personas
76
+ 3. "What are the must-have features for a first usable version?" — key requirements (follow threads, don't rush)
77
+ 4. "What are known constraints — budget, timeline, team size, tech mandates, compliance?" — constraints/limitations
78
+ 5. "What tech stack preferences or existing infrastructure must be used?" — tech stack decisions
79
+ - For each answer, probe deeper: "Why?", "What happens if not?", "Can you give an example?"
75
80
 
76
81
  ### Step 4: Read Templates
77
82
 
@@ -94,17 +99,36 @@ Initialize from template with `current_milestone: null`, `status: "initialized"`
94
99
 
95
100
  ### Step 8: Write config.json
96
101
 
97
- Configuration questions (or defaults for -y): granularity (fine/medium/coarse), workflow agents (enable/disable), gate preferences. Write to `.workflow/config.json`.
102
+ Configuration questions (or defaults for -y). Ask via `request_user_input`:
103
+
104
+ **Granularity** — task decomposition detail level:
105
+ ```json
106
+ { "questions": [{ "id": "granularity", "header": "Task Granularity", "question": "How granular should task breakdowns be?", "options": [{ "label": "medium (Recommended)", "description": "Balanced: one task per logical feature" }, { "label": "fine", "description": "Detailed: one task per function/component" }, { "label": "coarse", "description": "High-level: one task per epic/module" }] }] }
107
+ ```
108
+
109
+ **Workflow agents** — enable parallel research agents during analyze/plan:
110
+ ```json
111
+ { "questions": [{ "id": "workflow_agents", "header": "Workflow Agents", "question": "Enable parallel research agents for analysis and planning phases?", "options": [{ "label": "enabled (Recommended)", "description": "Spawn parallel agents for research, patterns, risks" }, { "label": "disabled", "description": "Sequential single-agent flow only" }] }] }
112
+ ```
113
+
114
+ **Gate preferences** — milestone completion gates:
115
+ ```json
116
+ { "questions": [{ "id": "gate_preferences", "header": "Quality Gates", "question": "What quality gates should be enforced at milestone boundaries?", "options": [{ "label": "standard (Recommended)", "description": "Audit report required, all tasks completed" }, { "label": "strict", "description": "Audit + code review + test coverage threshold" }, { "label": "relaxed", "description": "Manual approval only, no automated checks" }] }] }
117
+ ```
118
+
119
+ Write collected configuration to `.workflow/config.json`.
98
120
 
99
121
  ### Step 9: Initialize specs/
100
122
 
101
123
  Run `Bash("maestro spec init")` to create empty seed files in `.workflow/specs/`.
102
124
 
103
- If project state is **code** (existing source files detected):
104
- - Auto-trigger `Skill({ skill: "spec-setup" })` to scan codebase and populate specs with detected conventions.
125
+ If project state is **code** (existing source files detected in Step 2):
126
+ - Auto-trigger `Skill({ skill: "spec-setup" })` to scan codebase and populate specs with detected conventions
127
+ - This runs unconditionally for `code` state — existing source means conventions can be extracted
105
128
 
106
- If project state is **empty** (greenfield):
107
- - Skip spec-setup. Specs are populated progressively by analyze, plan, and execute stages via `maestro spec add`.
129
+ If project state is **empty** (greenfield, no source files found in Step 2):
130
+ - Skip spec-setup entirely no code to scan
131
+ - Specs are populated progressively by analyze, plan, and execute stages via `maestro spec add`
108
132
 
109
133
  ### Step 10: Completion Report
110
134
 
@@ -1,80 +1,80 @@
1
- ---
2
- name: maestro-learn
3
- description: Learning coordinator — route intent to learn commands, execute single or multi-step chains sequentially. Supports 7 chains from single-step (follow, investigate) to multi-step (deep-understand, pattern-catalog).
4
- argument-hint: "\"intent text\" [-y] [--dry-run] [--chain <name>]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- <purpose>
9
- Route learning requests to the optimal learn command or multi-step chain.
10
- Executes commands sequentially with session tracking.
11
-
12
- ```
13
- Intent → Route to Chain → Execute Steps → Session Summary
14
- ```
15
- </purpose>
16
-
17
- <context>
18
- $ARGUMENTS — learning intent text, or flags.
19
-
20
- **Flags:**
21
- - `-y, --yes` — Auto mode: skip confirmation
22
- - `--dry-run` — Show planned chain without executing
23
- - `--chain <name>` — Force specific chain
24
-
25
- **Chains:**
26
- | Chain | Steps | Use when |
27
- |-------|-------|----------|
28
- | `follow` | learn-follow | Read/understand code or docs |
29
- | `investigate` | learn-investigate | Answer "how/why" questions |
30
- | `decompose` | learn-decompose | Catalog patterns in a module |
31
- | `second-opinion` | learn-second-opinion | Get review/challenge on code |
32
- | `retro` | learn-retro --lens all | Full retrospective |
33
- | `deep-understand` | follow → decompose → second-opinion | Thorough module analysis |
34
- | `pattern-catalog` | decompose --save-spec --save-wiki → second-opinion --mode review | Full pattern extraction + review |
35
-
36
- **Session state:** `.workflow/learning/.maestro-learn/{session_id}/status.json`
37
- </context>
38
-
39
- <execution>
40
-
41
- ### Step 1: Parse & Route
42
-
43
- **Intent routing:**
44
- | Keywords | Route |
45
- |----------|-------|
46
- | File path (contains `/` or `\`) | `follow` |
47
- | read, follow, walk through, understand | `follow` |
48
- | why, how, what if, investigate | `investigate` |
49
- | pattern, decompose, catalog | `decompose` |
50
- | opinion, review, challenge, consult | `second-opinion` |
51
- | retro, git, commit, decision | `retro` |
52
- | thorough, deep | `deep-understand` |
53
-
54
- No match → present menu via AskUserQuestion. Max 1 clarification.
55
-
56
- ### Step 2: Resolve Target & Build Args
57
- Map chain to skill invocations. Extract target and flags from arguments.
58
-
59
- ### Step 3: Confirm & Execute
60
- - `--dry-run`: display chain and exit
61
- - Not `-y`: show plan, ask confirmation
62
- - Execute each step sequentially. On failure: retry/skip/abort
63
- - Write session `status.json`, display summary
64
- </execution>
65
-
66
- <error_codes>
67
- | Code | Severity | Condition | Recovery |
68
- |------|----------|-----------|----------|
69
- | E001 | error | No intent provided | Provide learning goal or use --chain |
70
- | E002 | error | Cannot determine intent | Rephrase or use --chain |
71
- | E005 | error | Invalid --chain name | Show valid chains |
72
- | W001 | warning | Intent ambiguous | Present options |
73
- </error_codes>
74
-
75
- <success_criteria>
76
- - [ ] Intent routed to correct chain
77
- - [ ] Session directory created with status.json
78
- - [ ] All chain steps executed
79
- - [ ] Session summary displayed with next-step routing
80
- </success_criteria>
1
+ ---
2
+ name: maestro-learn
3
+ description: Route learning intent to learn-* commands
4
+ argument-hint: "\"intent text\" [-y] [--dry-run] [--chain <name>]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Route learning requests to the optimal learn command or multi-step chain.
10
+ Executes commands sequentially with session tracking.
11
+
12
+ ```
13
+ Intent → Route to Chain → Execute Steps → Session Summary
14
+ ```
15
+ </purpose>
16
+
17
+ <context>
18
+ $ARGUMENTS — learning intent text, or flags.
19
+
20
+ **Flags:**
21
+ - `-y, --yes` — Auto mode: skip confirmation
22
+ - `--dry-run` — Show planned chain without executing
23
+ - `--chain <name>` — Force specific chain
24
+
25
+ **Chains:**
26
+ | Chain | Steps | Use when |
27
+ |-------|-------|----------|
28
+ | `follow` | learn-follow | Read/understand code or docs |
29
+ | `investigate` | learn-investigate | Answer "how/why" questions |
30
+ | `decompose` | learn-decompose | Catalog patterns in a module |
31
+ | `second-opinion` | learn-second-opinion | Get review/challenge on code |
32
+ | `retro` | learn-retro --lens all | Full retrospective |
33
+ | `deep-understand` | follow → decompose → second-opinion | Thorough module analysis |
34
+ | `pattern-catalog` | decompose --save-spec --save-wiki → second-opinion --mode review | Full pattern extraction + review |
35
+
36
+ **Session state:** `.workflow/learning/.maestro-learn/{session_id}/status.json`
37
+ </context>
38
+
39
+ <execution>
40
+
41
+ ### Step 1: Parse & Route
42
+
43
+ **Intent routing:**
44
+ | Keywords | Route |
45
+ |----------|-------|
46
+ | File path (contains `/` or `\`) | `follow` |
47
+ | read, follow, walk through, understand | `follow` |
48
+ | why, how, what if, investigate | `investigate` |
49
+ | pattern, decompose, catalog | `decompose` |
50
+ | opinion, review, challenge, consult | `second-opinion` |
51
+ | retro, git, commit, decision | `retro` |
52
+ | thorough, deep | `deep-understand` |
53
+
54
+ No match → present menu via AskUserQuestion. Max 1 clarification.
55
+
56
+ ### Step 2: Resolve Target & Build Args
57
+ Map chain to skill invocations. Extract target and flags from arguments.
58
+
59
+ ### Step 3: Confirm & Execute
60
+ - `--dry-run`: display chain and exit
61
+ - Not `-y`: show plan, ask confirmation
62
+ - Execute each step sequentially. On failure: retry/skip/abort
63
+ - Write session `status.json`, display summary
64
+ </execution>
65
+
66
+ <error_codes>
67
+ | Code | Severity | Condition | Recovery |
68
+ |------|----------|-----------|----------|
69
+ | E001 | error | No intent provided | Provide learning goal or use --chain |
70
+ | E002 | error | Cannot determine intent | Rephrase or use --chain |
71
+ | E005 | error | Invalid --chain name | Show valid chains |
72
+ | W001 | warning | Intent ambiguous | Present options |
73
+ </error_codes>
74
+
75
+ <success_criteria>
76
+ - [ ] Intent routed to correct chain
77
+ - [ ] Session directory created with status.json
78
+ - [ ] All chain steps executed
79
+ - [ ] Session summary displayed with next-step routing
80
+ </success_criteria>