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.
- package/.claude/agents/workflow-analyzer.md +2 -0
- package/.claude/agents/workflow-debugger.md +2 -0
- package/.claude/agents/workflow-executor.md +2 -0
- package/.claude/agents/workflow-integration-checker.md +1 -0
- package/.claude/agents/workflow-nyquist-auditor.md +1 -0
- package/.claude/agents/workflow-planner.md +2 -0
- package/.claude/agents/workflow-reviewer.md +2 -0
- package/.claude/agents/workflow-verifier.md +2 -0
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-investigate.md +221 -221
- package/.claude/commands/learn-retro.md +303 -303
- package/.claude/commands/learn-second-opinion.md +167 -167
- package/.claude/commands/maestro-amend.md +300 -300
- package/.claude/commands/maestro-analyze.md +126 -126
- package/.claude/commands/maestro-brainstorm.md +100 -100
- package/.claude/commands/maestro-composer.md +354 -354
- package/.claude/commands/maestro-execute.md +120 -114
- package/.claude/commands/maestro-fork.md +86 -86
- package/.claude/commands/maestro-init.md +78 -78
- package/.claude/commands/maestro-learn.md +140 -140
- package/.claude/commands/maestro-link-coordinate.md +1 -1
- package/.claude/commands/maestro-merge.md +61 -61
- package/.claude/commands/maestro-milestone-release.md +96 -96
- package/.claude/commands/maestro-overlay.md +178 -178
- package/.claude/commands/maestro-plan.md +150 -138
- package/.claude/commands/maestro-player.md +404 -404
- package/.claude/commands/maestro-quick.md +56 -56
- package/.claude/commands/maestro-ralph-execute.md +7 -18
- package/.claude/commands/maestro-ralph.md +9 -3
- package/.claude/commands/maestro-roadmap.md +1 -1
- package/.claude/commands/maestro-ui-design.md +93 -93
- package/.claude/commands/maestro-update.md +176 -176
- package/.claude/commands/maestro-verify.md +96 -90
- package/.claude/commands/maestro.md +121 -121
- package/.claude/commands/manage-codebase-rebuild.md +75 -75
- package/.claude/commands/manage-codebase-refresh.md +57 -57
- package/.claude/commands/manage-harvest.md +94 -94
- package/.claude/commands/manage-issue-discover.md +77 -77
- package/.claude/commands/manage-issue.md +73 -73
- package/.claude/commands/manage-knowhow-capture.md +193 -193
- package/.claude/commands/manage-knowhow.md +77 -77
- package/.claude/commands/manage-learn.md +67 -67
- package/.claude/commands/manage-status.md +51 -51
- package/.claude/commands/manage-wiki.md +62 -62
- package/.claude/commands/quality-auto-test.md +1 -1
- package/.claude/commands/quality-debug.md +121 -115
- package/.claude/commands/quality-refactor.md +55 -55
- package/.claude/commands/quality-retrospective.md +78 -78
- package/.claude/commands/quality-review.md +114 -108
- package/.claude/commands/quality-sync.md +51 -51
- package/.claude/commands/quality-test.md +103 -103
- package/.claude/commands/spec-add.md +49 -49
- package/.claude/commands/spec-load.md +51 -51
- package/.claude/commands/spec-remove.md +51 -51
- package/.claude/commands/spec-setup.md +51 -51
- package/.claude/commands/wiki-connect.md +62 -62
- package/.claude/commands/wiki-digest.md +69 -69
- package/.codex/skills/learn-decompose/SKILL.md +113 -113
- package/.codex/skills/learn-follow/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +83 -83
- package/.codex/skills/learn-retro/SKILL.md +83 -83
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -86
- package/.codex/skills/maestro/SKILL.md +304 -304
- package/.codex/skills/maestro-analyze/SKILL.md +9 -8
- package/.codex/skills/maestro-brainstorm/SKILL.md +442 -397
- package/.codex/skills/maestro-composer/SKILL.md +213 -213
- package/.codex/skills/maestro-execute/SKILL.md +346 -318
- package/.codex/skills/maestro-fork/SKILL.md +56 -2
- package/.codex/skills/maestro-init/SKILL.md +40 -16
- package/.codex/skills/maestro-learn/SKILL.md +80 -80
- package/.codex/skills/maestro-link-coordinate/SKILL.md +257 -257
- package/.codex/skills/maestro-merge/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-audit/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-complete/SKILL.md +40 -9
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -70
- package/.codex/skills/maestro-overlay/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +19 -4
- package/.codex/skills/maestro-player/SKILL.md +323 -323
- package/.codex/skills/maestro-quick/SKILL.md +1 -1
- package/.codex/skills/maestro-ralph/SKILL.md +681 -578
- package/.codex/skills/maestro-roadmap/SKILL.md +518 -468
- package/.codex/skills/maestro-ui-design/SKILL.md +109 -12
- package/.codex/skills/maestro-verify/SKILL.md +27 -9
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +3 -2
- package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
- package/.codex/skills/manage-harvest/SKILL.md +91 -91
- package/.codex/skills/manage-issue/SKILL.md +19 -6
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -110
- package/.codex/skills/manage-learn/SKILL.md +1 -1
- package/.codex/skills/manage-status/SKILL.md +1 -1
- package/.codex/skills/manage-wiki/SKILL.md +55 -55
- package/.codex/skills/quality-auto-test/SKILL.md +547 -547
- package/.codex/skills/quality-debug/SKILL.md +339 -334
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-retrospective/SKILL.md +292 -292
- package/.codex/skills/quality-review/SKILL.md +365 -364
- package/.codex/skills/quality-sync/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +498 -498
- package/.codex/skills/spec-add/SKILL.md +101 -101
- package/.codex/skills/spec-load/SKILL.md +77 -77
- package/.codex/skills/spec-map/SKILL.md +1 -1
- package/.codex/skills/spec-remove/SKILL.md +69 -69
- package/.codex/skills/spec-setup/SKILL.md +1 -1
- package/.codex/skills/team-coordinate/SKILL.md +2 -1
- package/.codex/skills/team-executor/SKILL.md +116 -115
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -1
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +14 -6
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +16 -4
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +7 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +16 -4
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +8 -2
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -1
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +9 -2
- package/.codex/skills/team-review/SKILL.md +2 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +10 -1
- package/.codex/skills/team-review/roles/scanner/role.md +10 -1
- package/.codex/skills/team-tech-debt/SKILL.md +144 -143
- package/.codex/skills/team-tech-debt/roles/executor/role.md +9 -5
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +10 -0
- package/.codex/skills/team-tech-debt/roles/validator/role.md +8 -2
- package/.codex/skills/team-testing/SKILL.md +2 -1
- package/.codex/skills/team-testing/roles/executor/role.md +8 -2
- package/.codex/skills/team-testing/roles/generator/role.md +8 -2
- package/.codex/skills/wiki-connect/SKILL.md +73 -73
- package/.codex/skills/wiki-digest/SKILL.md +87 -87
- package/README.md +6 -0
- package/README.zh-CN.md +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +118 -7
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +2 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +4 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +18 -0
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/dist-server/src/config/cli-tools-config.d.ts +6 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js +2 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
- package/dist/shared/agent-types.d.ts +2 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +4 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +29 -1
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/delegate.d.ts +2 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +18 -0
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/launcher.d.ts.map +1 -1
- package/dist/src/commands/launcher.js +27 -4
- package/dist/src/commands/launcher.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +6 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +2 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +65 -5
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/core/overlay/loader.d.ts.map +1 -1
- package/dist/src/core/overlay/loader.js +9 -4
- package/dist/src/core/overlay/loader.js.map +1 -1
- package/dist/src/core/overlay/types.d.ts +2 -0
- package/dist/src/core/overlay/types.d.ts.map +1 -1
- package/dist/src/core/overlay/types.js +2 -0
- package/dist/src/core/overlay/types.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.js +51 -4
- package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
- package/package.json +1 -1
- package/shared/agent-types.ts +2 -0
- package/workflows/delegate-protocol.codex.md +65 -0
- package/workflows/issue-analyze.md +2 -3
- package/workflows/issue-gaps-analyze.codex.md +260 -0
- package/workflows/issue-gaps-analyze.md +214 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-fork
|
|
3
|
-
description: Create
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
61
|
-
-
|
|
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
|
|
70
|
-
2. Who are the target users?
|
|
71
|
-
3. What are the key requirements
|
|
72
|
-
4. What are known constraints/limitations
|
|
73
|
-
5. What tech stack preferences
|
|
74
|
-
-
|
|
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)
|
|
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
|
|
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:
|
|
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>
|