maestro-flow-one 0.2.34 → 0.2.35

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 (54) hide show
  1. package/maestro-flow/commands/learn/investigate.md +151 -152
  2. package/maestro-flow/commands/learn/second-opinion.md +118 -122
  3. package/maestro-flow/commands/lifecycle/analyze.md +215 -266
  4. package/maestro-flow/commands/lifecycle/blueprint.md +189 -204
  5. package/maestro-flow/commands/lifecycle/brainstorm.md +209 -213
  6. package/maestro-flow/commands/lifecycle/companion.md +531 -531
  7. package/maestro-flow/commands/lifecycle/composer.md +188 -179
  8. package/maestro-flow/commands/lifecycle/execute.md +183 -184
  9. package/maestro-flow/commands/lifecycle/fork.md +111 -110
  10. package/maestro-flow/commands/lifecycle/grill.md +175 -176
  11. package/maestro-flow/commands/lifecycle/guard.md +103 -102
  12. package/maestro-flow/commands/lifecycle/impeccable.md +311 -268
  13. package/maestro-flow/commands/lifecycle/init.md +130 -131
  14. package/maestro-flow/commands/lifecycle/merge.md +87 -80
  15. package/maestro-flow/commands/lifecycle/next.md +253 -257
  16. package/maestro-flow/commands/lifecycle/overlay.md +188 -178
  17. package/maestro-flow/commands/lifecycle/plan.md +225 -211
  18. package/maestro-flow/commands/lifecycle/quick.md +83 -77
  19. package/maestro-flow/commands/lifecycle/roadmap.md +173 -186
  20. package/maestro-flow/commands/lifecycle/swarm-workflow.md +243 -264
  21. package/maestro-flow/commands/lifecycle/tools-execute.md +122 -117
  22. package/maestro-flow/commands/lifecycle/tools-register.md +162 -157
  23. package/maestro-flow/commands/lifecycle/ui-codify.md +117 -100
  24. package/maestro-flow/commands/lifecycle/universal-workflow.md +548 -561
  25. package/maestro-flow/commands/lifecycle/update.md +122 -119
  26. package/maestro-flow/commands/manage/codebase-rebuild.md +87 -85
  27. package/maestro-flow/commands/manage/harvest.md +97 -95
  28. package/maestro-flow/commands/manage/issue-discover.md +83 -81
  29. package/maestro-flow/commands/manage/issue.md +72 -73
  30. package/maestro-flow/commands/manage/kg-extractors.md +128 -0
  31. package/maestro-flow/commands/manage/knowhow-capture.md +92 -82
  32. package/maestro-flow/commands/manage/knowhow.md +83 -79
  33. package/maestro-flow/commands/manage/knowledge-audit.md +105 -88
  34. package/maestro-flow/commands/manage/status.md +62 -52
  35. package/maestro-flow/commands/manage/wiki.md +82 -71
  36. package/maestro-flow/commands/milestone/audit.md +4 -10
  37. package/maestro-flow/commands/milestone/complete.md +6 -7
  38. package/maestro-flow/commands/milestone/release.md +136 -145
  39. package/maestro-flow/commands/quality/auto-test.md +153 -136
  40. package/maestro-flow/commands/quality/debug.md +159 -120
  41. package/maestro-flow/commands/quality/refactor.md +105 -67
  42. package/maestro-flow/commands/quality/retrospective.md +123 -77
  43. package/maestro-flow/commands/quality/review.md +155 -128
  44. package/maestro-flow/commands/quality/sync.md +88 -52
  45. package/maestro-flow/commands/quality/test.md +147 -117
  46. package/maestro-flow/commands/spec/add.md +77 -70
  47. package/maestro-flow/commands/spec/setup.md +49 -52
  48. package/package.json +1 -1
  49. package/maestro-flow/commands/lifecycle/odyssey-debug.md +0 -473
  50. package/maestro-flow/commands/lifecycle/odyssey-improve.md +0 -505
  51. package/maestro-flow/commands/lifecycle/odyssey-planex.md +0 -601
  52. package/maestro-flow/commands/lifecycle/odyssey-review-test-fix.md +0 -427
  53. package/maestro-flow/commands/lifecycle/odyssey-ui.md +0 -462
  54. package/maestro-flow/commands/lifecycle/security-audit.md +0 -179
@@ -1,184 +1,183 @@
1
- ---
2
- name: maestro-execute
3
- description: Use when a confirmed plan is ready for implementation
4
- argument-hint: "[phase] [--auto-commit] [--method agent|cli|auto] [--executor <tool>] [--dir <path>] [-y]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Execute all tasks in a plan using wave-based parallel execution with dependency-aware ordering. Each plan is executed independently (plans串行, plan内wave并行). Task summaries are written to the plan's scratch directory under `.summaries/`. Registers EXC artifact in state.json.
17
-
18
- Invoked after /maestro-plan produces a confirmed plan. When called without args on a milestone, finds all pending plans and executes them sequentially.
19
-
20
- Pipeline position: upstream from maestro-plan (consumes confirmed plan). Verification is built-in (E2.7).
21
- </purpose>
22
-
23
- <required_reading>
24
- @~/.maestro/workflows/execute.md
25
- </required_reading>
26
-
27
- <deferred_reading>
28
- - [task.json](~/.maestro/templates/task.json) — read when reading task definitions
29
- - [state.json](~/.maestro/templates/state.json) — read when registering artifact
30
- </deferred_reading>
31
-
32
- <context>
33
- $ARGUMENTS — phase number, or no args for milestone-wide execution, with optional flags.
34
-
35
- ### Flags
36
-
37
- | Flag | Effect | Default |
38
- |------|--------|---------|
39
- | `--auto-commit` | Auto-commit after each completed task | false |
40
- | `--method agent\|cli\|auto` | Execution method: Agent tool, CLI delegate, or auto-select | `auto` |
41
- | `--executor <tool>` | Explicit executor tool for CLI delegate mode | First enabled in config |
42
- | `--dir <path>` | Execute a specific plan directory instead of auto-discovery | — |
43
- | `-y` / `--yes` | Auto mode — skip interactive questions | false |
44
-
45
- ### Scope routing
46
-
47
- | Input | Scope | Resolution |
48
- |-------|-------|------------|
49
- | numeric arg | phase | Resolve plan from roadmap phase |
50
- | `--dir <path>` | explicit | Use specified plan directory |
51
- | no args + milestone | milestone | Find all pending plans, execute sequentially |
52
- | no args + no milestone | error E001 | No plan found |
53
-
54
- Full resolution logic, output directory format, artifact registration schema, and incremental knowhow extraction are defined in workflow `execute.md`.
55
-
56
- ### Pre-load context (before task execution)
57
-
58
- 1. **Codebase docs**: If `.workflow/codebase/doc-index.json` exists, read `ARCHITECTURE.md` for module boundaries. Pass as shared context to executor agents.
59
- 2. **Wiki knowledge**: Run `maestro search "<phase keywords>" --json 2>/dev/null`. If results found, extract top 5 entries as prior knowledge context for agents.
60
- 3. **Coding specs + tools**: Run `maestro spec load --category coding` to load coding conventions AND discoverable knowhow tools (tool: true entries). Pass as specs context to all executor agents.
61
- 4. **UI specs (conditional)**: If any task involves frontend/UI work (task scope/description contains keywords like component, page, style, layout, CSS, HTML, frontend; or focus_paths in `src/components/`, `src/pages/`, `src/styles/`, `src/ui/`), also run `maestro spec load --category ui` and include in agent context.
62
- 5. All are optional proceed without if unavailable (log warning).
63
-
64
- ### Role Knowledge
65
- `maestro search --category coding` → select relevant → `maestro wiki load`
66
- </context>
67
-
68
- <execution>
69
- ### Pre-flight: team conflict check
70
-
71
- Before any task execution, run:
72
- ```
73
- Bash("maestro collab preflight --phase <phase-number>")
74
- ```
75
- If exit code is 1, present warnings and ask whether to proceed.
76
-
77
- Follow '~/.maestro/workflows/execute.md' completely.
78
-
79
- ### Phase Gates (MANDATORY, BLOCKING)
80
-
81
- **GATE 1: Plan Load Task Execution**
82
- - REQUIRED: plan.json found and parsed with valid task definitions.
83
- - REQUIRED: `.task/TASK-*.json` files exist for all tasks in plan.
84
- - BLOCKED if no pending tasks: error E004.
85
-
86
- **GATE 2: Per-Task Execution Summary**
87
- - REQUIRED: Each completed task has `.summaries/TASK-{NNN}-summary.md` written with concrete evidence (files changed, tests run, verification results).
88
- - REQUIRED: `.task/TASK-{NNN}.json` status updated to completed|blocked.
89
- - Do NOT silently skip failed tasks — mark as blocked with reason.
90
-
91
- **GATE 3: All Tasks Completion**
92
- - REQUIRED: All waves executed in dependency order.
93
- - REQUIRED: EXC artifact registered in state.json.
94
-
95
- ### Evidence Requirement
96
-
97
- Task summaries MUST include:
98
- - Files actually modified (not just planned targets)
99
- - Convergence criteria verification results (pass/fail with evidence)
100
- - Any deviations from the plan with rationale
101
-
102
- ### Post-task Knowledge Inquiry
103
-
104
- After each task completion, check triggers:
105
-
106
- | Condition | Ask | Route |
107
- |-----------|-----|-------|
108
- | Summary mentions approach change / plan deviation | "Record as arch constraint?" | spec-add arch |
109
- | retry_count >= 2 | "Document fix pattern?" | spec-add debug |
110
- | Summary contains design rationale ("chose X because") | "Record as knowhow?" | spec-add learning |
111
-
112
- On confirm `Skill("spec-add", "<category> <content> --description \"<summary>\"")`.
113
- Include `--description` with a one-line summary for search result display.
114
-
115
- ### Issue Status Sync
116
-
117
- On each task completion, if `task.issue_id` exists, sync status back to the issue in `.workflow/issues/issues.jsonl`:
118
-
119
- ```
120
- For each completed/failed TASK with issue_id:
121
- Read issue from issues.jsonl by issue_id
122
- Collect all task_refs[] statuses for that issue:
123
- all task_refs completed → issue.status = "resolved"
124
- any task_ref failed → issue.status = "in_progress"
125
- Append history entry: { action: "executed", at: <ISO>, by: "maestro-execute", summary: "TASK-{NNN} {status}" }
126
- Write updated issue back to issues.jsonl
127
- ```
128
-
129
- </execution>
130
-
131
- <completion>
132
- ### Standalone report
133
-
134
- ```
135
- === EXECUTION COMPLETE ===
136
- Plans executed: {plans_count}
137
- Completed: {completed_count}/{total_count} tasks
138
- Failed: {failed_count} tasks
139
-
140
- Summaries: {plan_dir}/.summaries/
141
- Tasks: {plan_dir}/.task/
142
- ```
143
-
144
- ### Ralph-invoked completion
145
-
146
- End the step by calling the CLI (no text block output):
147
- ```
148
- maestro ralph complete <idx> --status {STATUS} [--evidence {path}]
149
- ```
150
-
151
- Status verdicts:
152
- - **DONE** — Normal completion
153
- - **DONE_WITH_CONCERNS** — Completed with caveats; pass `--concerns`
154
- - **NEEDS_RETRY** — Tooling error / transient issue; ralph will retry
155
- - **BLOCKED** — External hard blocker; pass `--reason`
156
-
157
- ### Next-step routing
158
-
159
- | Condition | Suggestion |
160
- |-----------|-----------|
161
- | All tasks completed successfully | `/quality-review` |
162
- | Failed tasks exist | `/quality-debug` |
163
- | View project dashboard | `/manage-status` |
164
- </completion>
165
-
166
- <error_codes>
167
- | Code | Severity | Condition | Recovery |
168
- |------|----------|-----------|----------|
169
- | E001 | error | No pending plans found | Verify plans exist, run maestro-plan first |
170
- | E002 | error | Plan directory not found | Check --dir path |
171
- | E003 | error | plan.json not found in directory | Verify plan.json exists, run maestro-plan first |
172
- | E004 | error | No pending tasks, all tasks already completed | Check task statuses, reset if needed |
173
- | W001 | warning | Executor completed with partial failures | Check task dependencies, retry failed wave |
174
- </error_codes>
175
-
176
- <success_criteria>
177
- - [ ] All pending plans identified and executed sequentially
178
- - [ ] Within each plan: waves executed in parallel, waves串行
179
- - [ ] `.summaries/TASK-{NNN}-summary.md` written for each completed task
180
- - [ ] `.task/TASK-{NNN}.json` statuses updated (completed|blocked)
181
- - [ ] EXC artifact registered in state.json for each plan executed
182
- - [ ] Incremental knowhow extracted to specs/learnings.md
183
- - [ ] state.json updated with execution progress
184
- </success_criteria>
1
+ ---
2
+ name: maestro-execute
3
+ description: Use when a confirmed plan is ready for implementation
4
+ argument-hint: "[phase] [--auto-commit] [--method agent|cli|auto] [--executor <tool>] [--dir <path>] [-y]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Execute confirmed plan tasks via wave-based parallel dispatch.
17
+ Consumes plan from maestro-plan; registers EXC artifact in state.json.
18
+ </purpose>
19
+
20
+ <required_reading>
21
+ @~/.maestro/workflows/execute.md
22
+ </required_reading>
23
+
24
+ <deferred_reading>
25
+ - [task.json](~/.maestro/templates/task.json) — read when reading task definitions
26
+ - [state.json](~/.maestro/templates/state.json) — read when registering artifact
27
+ </deferred_reading>
28
+
29
+ <context>
30
+ $ARGUMENTS — phase number, or no args for milestone-wide execution, with optional flags.
31
+
32
+ ### Flags
33
+
34
+ | Flag | Effect | Default |
35
+ |------|--------|---------|
36
+ | `--auto-commit` | Auto-commit after each completed task | false |
37
+ | `--method agent\|cli\|auto` | Execution method: Agent tool, CLI delegate, or auto-select | `auto` |
38
+ | `--executor <tool>` | Explicit executor tool for CLI delegate mode | First enabled in config |
39
+ | `--dir <path>` | Execute a specific plan directory instead of auto-discovery | |
40
+ | `-y` / `--yes` | Auto mode skip interactive questions | false |
41
+
42
+ ### Scope routing
43
+
44
+ | Input | Scope | Resolution |
45
+ |-------|-------|------------|
46
+ | numeric arg | phase | Resolve plan from roadmap phase |
47
+ | `--dir <path>` | explicit | Use specified plan directory |
48
+ | no args + milestone | milestone | Find all pending plans, execute sequentially |
49
+ | no args + no milestone | error E001 | No plan found |
50
+
51
+ Full resolution logic, output directory format, artifact registration schema, and incremental knowhow extraction are defined in workflow `execute.md`.
52
+
53
+ ### Pre-load context (before task execution)
54
+
55
+ 1. **Codebase docs**: If `.workflow/codebase/doc-index.json` exists, read `ARCHITECTURE.md` for module boundaries. Pass as shared context to executor agents.
56
+ 2. **Wiki knowledge**: Run `maestro search "<phase keywords>" --json 2>/dev/null`. If results found, extract top 5 entries as prior knowledge context for agents.
57
+ 3. **Coding specs + tools**: Run `maestro spec load --category coding` to load coding conventions AND discoverable knowhow tools (tool: true entries). Pass as specs context to all executor agents.
58
+ 4. **UI specs (conditional)**: If any task involves frontend/UI work (task scope/description contains keywords like component, page, style, layout, CSS, HTML, frontend; or focus_paths in `src/components/`, `src/pages/`, `src/styles/`, `src/ui/`), also run `maestro spec load --category ui` and include in agent context.
59
+ 5. All are optional proceed without if unavailable (log warning).
60
+
61
+ ### Role Knowledge
62
+ `maestro search --category coding` select relevant `maestro wiki load`
63
+ </context>
64
+
65
+ <execution>
66
+ ### Pre-flight: team conflict check
67
+
68
+ Before any task execution, run:
69
+ ```
70
+ Bash("maestro collab preflight --phase <phase-number>")
71
+ ```
72
+ If exit code is 1, present warnings and ask whether to proceed.
73
+
74
+ Follow '~/.maestro/workflows/execute.md' completely.
75
+
76
+ ### Phase Gates (MANDATORY, BLOCKING)
77
+
78
+ **GATE 1: Plan Load → Task Execution**
79
+ - REQUIRED: plan.json found and parsed with valid task definitions.
80
+ - REQUIRED: `.task/TASK-*.json` files exist for all tasks in plan.
81
+ - BLOCKED if no pending tasks: error E004.
82
+
83
+ **GATE 2: Per-Task Execution Summary**
84
+ - REQUIRED: Each completed task has `.summaries/TASK-{NNN}-summary.md` written with concrete evidence (files changed, tests run, verification results).
85
+ - REQUIRED: `.task/TASK-{NNN}.json` status updated to completed|blocked.
86
+ - BLOCKED if missing: summary file absent or task status not updated — halt wave progression until evidence is recorded.
87
+ - Do NOT silently skip failed tasks mark as blocked with reason.
88
+
89
+ **GATE 3: All Tasks Completion**
90
+ - REQUIRED: All waves executed in dependency order.
91
+ - REQUIRED: EXC artifact registered in state.json.
92
+ - BLOCKED if missing: waves incomplete or EXC artifact not registered — do not report execution complete.
93
+
94
+ ### Evidence Requirement
95
+
96
+ Task summaries MUST include:
97
+ - Files actually modified (not just planned targets)
98
+ - Convergence criteria verification results (pass/fail with evidence)
99
+ - Any deviations from the plan with rationale
100
+
101
+ ### Post-task Knowledge Inquiry
102
+
103
+ After each task completion, check triggers:
104
+
105
+ | Condition | Ask | Route |
106
+ |-----------|-----|-------|
107
+ | Summary mentions approach change / plan deviation | "Record as arch constraint?" | spec-add arch |
108
+ | retry_count >= 2 | "Document fix pattern?" | spec-add debug |
109
+ | Summary contains design rationale ("chose X because") | "Record as knowhow?" | spec-add learning |
110
+
111
+ On confirm → `Skill("spec-add", "<category> <content> --description \"<summary>\"")`.
112
+ Include `--description` with a one-line summary for search result display.
113
+
114
+ ### Issue Status Sync
115
+
116
+ On each task completion, if `task.issue_id` exists, sync status back to the issue in `.workflow/issues/issues.jsonl`:
117
+
118
+ ```
119
+ For each completed/failed TASK with issue_id:
120
+ Read issue from issues.jsonl by issue_id
121
+ Collect all task_refs[] statuses for that issue:
122
+ all task_refs completed issue.status = "resolved"
123
+ any task_ref failed → issue.status = "in_progress"
124
+ Append history entry: { action: "executed", at: <ISO>, by: "maestro-execute", summary: "TASK-{NNN} {status}" }
125
+ Write updated issue back to issues.jsonl
126
+ ```
127
+
128
+ </execution>
129
+
130
+ <completion>
131
+ ### Standalone report
132
+
133
+ ```
134
+ === EXECUTION COMPLETE ===
135
+ Plans executed: {plans_count}
136
+ Completed: {completed_count}/{total_count} tasks
137
+ Failed: {failed_count} tasks
138
+
139
+ Summaries: {plan_dir}/.summaries/
140
+ Tasks: {plan_dir}/.task/
141
+ ```
142
+
143
+ ### Ralph-invoked completion
144
+
145
+ End the step by calling the CLI (no text block output):
146
+ ```
147
+ maestro ralph complete <idx> --status {STATUS} [--evidence {path}]
148
+ ```
149
+
150
+ Status verdicts:
151
+ - **DONE** — Normal completion
152
+ - **DONE_WITH_CONCERNS** — Completed with caveats; pass `--concerns`
153
+ - **NEEDS_RETRY** — Tooling error / transient issue; ralph will retry
154
+ - **BLOCKED** — External hard blocker; pass `--reason`
155
+
156
+ ### Next-step routing
157
+
158
+ | Condition | Suggestion |
159
+ |-----------|-----------|
160
+ | All tasks completed successfully | `/quality-review` |
161
+ | Failed tasks exist | `/quality-debug` |
162
+ | View project dashboard | `/manage-status` |
163
+ </completion>
164
+
165
+ <error_codes>
166
+ | Code | Severity | Condition | Recovery |
167
+ |------|----------|-----------|----------|
168
+ | E001 | error | No pending plans found | Verify plans exist, run maestro-plan first |
169
+ | E002 | error | Plan directory not found | Check --dir path |
170
+ | E003 | error | plan.json not found in directory | Verify plan.json exists, run maestro-plan first |
171
+ | E004 | error | No pending tasks, all tasks already completed | Check task statuses, reset if needed |
172
+ | W001 | warning | Executor completed with partial failures | Check task dependencies, retry failed wave |
173
+ </error_codes>
174
+
175
+ <success_criteria>
176
+ - [ ] All pending plans identified and executed sequentially
177
+ - [ ] Within each plan: waves executed in parallel, waves串行
178
+ - [ ] `.summaries/TASK-{NNN}-summary.md` written for each completed task
179
+ - [ ] `.task/TASK-{NNN}.json` statuses updated (completed|blocked)
180
+ - [ ] EXC artifact registered in state.json for each plan executed
181
+ - [ ] Incremental knowhow extracted to specs/learnings.md
182
+ - [ ] state.json updated with execution progress
183
+ </success_criteria>
@@ -1,110 +1,111 @@
1
- ---
2
- name: maestro-fork
3
- description: Create or sync milestone worktree for parallel dev
4
- argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Create a git worktree for an entire milestone, enabling inter-milestone parallel development. The worktree scope is milestone-level — all scratch artifacts for that milestone are owned by the worktree.
17
-
18
- Since `.workflow/` is gitignored, this command explicitly copies project context and existing milestone scratch artifacts into the worktree. Per-phase parallelism within a milestone is NOT supported.
19
-
20
- Also supports `--sync` mode to pull latest main branch changes and shared artifacts into an active worktree (prevents source and artifact drift for long-lived worktrees).
21
-
22
- Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow/worktree-scope.json` marker in the worktree, and writes a scoped `state.json` inside the worktree containing only the forked milestone's artifacts.
23
- </purpose>
24
-
25
- <required_reading>
26
- @~/.maestro/workflows/fork.md
27
- </required_reading>
28
-
29
- <deferred_reading>
30
- - [worktrees.json](~/.maestro/templates/worktrees.json) read when updating registry
31
- - [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when writing scope marker
32
- </deferred_reading>
33
-
34
- <context>
35
- $ARGUMENTS -- milestone number and optional flags.
36
-
37
- Modes (`Fork` / `Sync`), flags (`-m`, `--base`, `--sync`), milestone resolution, worktree layout, and artifact scoping are defined in workflow `fork.md`.
38
- </context>
39
-
40
- <execution>
41
- Follow '~/.maestro/workflows/fork.md' completely.
42
-
43
- Fork and sync algorithm steps are defined in workflow `fork.md`.
44
-
45
- ### Phase Gates (MANDATORY, BLOCKING)
46
-
47
- **Fork mode:**
48
-
49
- **GATE 1: Validation → Worktree Creation**
50
- - REQUIRED: Milestone resolved from state.json.milestones[].
51
- - REQUIRED: No existing active worktree for this milestone (E008).
52
- - REQUIRED: Not running inside a worktree (E003).
53
-
54
- **GATE 2: Worktree Creation → Artifact Copy**
55
- - REQUIRED: Git worktree created with branch (`milestone/{slug}`).
56
- - REQUIRED: Shared `.workflow/` files copied (project.md, roadmap.md, config.json, specs/).
57
-
58
- **GATE 3: Artifact Copy Completion**
59
- - REQUIRED: `worktree-scope.json` written with milestone scope.
60
- - REQUIRED: Scoped `state.json` written (only this milestone's artifacts).
61
- - REQUIRED: `worktrees.json` registry updated in main worktree.
62
-
63
- **Sync mode:**
64
-
65
- **GATE: Sync Completion**
66
- - REQUIRED: Git merge main into worktree branch completed.
67
- - REQUIRED: Shared artifacts re-copied.
68
-
69
- **Next-step routing on completion:**
70
-
71
- Fork mode:
72
- - Enter worktree → `cd {wt.path} && /maestro-analyze`
73
- - Automated `maestro delegate "run full lifecycle for milestone" --cd {wt.path} --mode write`
74
- - Status → Skill({ skill: "manage-status" })
75
-
76
- Sync mode:
77
- - Sync complete resume work in worktree
78
- - Conflicts found resolve manually, then retry
79
- </execution>
80
-
81
- <error_codes>
82
- | Code | Severity | Condition | Recovery |
83
- |------|----------|-----------|----------|
84
- | E001 | error | Project not initialized | Run maestro-init first |
85
- | E002 | error | No roadmap found | Run maestro-roadmap first |
86
- | E003 | error | Running inside a worktree | Run from main worktree |
87
- | E004 | error | No milestone number provided | Provide `-m <N>` |
88
- | E005 | error | No milestones defined in state.json | Run maestro-roadmap first |
89
- | E006 | error | Milestone number out of range | Check available milestones |
90
- | E007 | error | No active worktree for milestone (--sync) | Check worktrees.json |
91
- | E008 | error | Milestone already has active worktree | Merge or cleanup first |
92
- </error_codes>
93
-
94
- <success_criteria>
95
- Fork mode:
96
- - [ ] Milestone resolved from state.json.milestones[]
97
- - [ ] Git worktree created with branch (`milestone/{slug}`)
98
- - [ ] Shared `.workflow/` files copied (project.md, roadmap.md, config.json, specs/)
99
- - [ ] Milestone scratch artifacts copied (filtered from artifact registry)
100
- - [ ] `worktree-scope.json` written with milestone scope
101
- - [ ] Scoped `state.json` written (only this milestone's artifacts)
102
- - [ ] `worktrees.json` registry updated in main worktree
103
- - [ ] Milestone marked as `"forked"` in main `state.json.milestones[]`
104
- - [ ] Summary displayed with next-step commands
105
-
106
- Sync mode:
107
- - [ ] Git merge main into worktree branch
108
- - [ ] Shared artifacts re-copied (project.md, roadmap.md, config.json, specs/)
109
- - [ ] Conflicts reported if any
110
- </success_criteria>
1
+ ---
2
+ name: maestro-fork
3
+ description: Create or sync milestone worktree for parallel dev
4
+ argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Create or sync a milestone-level git worktree for parallel development.
17
+ Supports `--sync` mode to pull latest main changes into an active worktree.
18
+ </purpose>
19
+
20
+ <required_reading>
21
+ @~/.maestro/workflows/fork.md
22
+ </required_reading>
23
+
24
+ <deferred_reading>
25
+ - [worktrees.json](~/.maestro/templates/worktrees.json) — read when updating registry
26
+ - [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when writing scope marker
27
+ </deferred_reading>
28
+
29
+ <context>
30
+ $ARGUMENTS -- milestone number and optional flags.
31
+
32
+ Modes (`Fork` / `Sync`), flags (`-m`, `--base`, `--sync`), milestone resolution, worktree layout, and artifact scoping are defined in workflow `fork.md`.
33
+ </context>
34
+
35
+ <execution>
36
+ Follow '~/.maestro/workflows/fork.md' completely.
37
+
38
+ Fork and sync algorithm steps are defined in workflow `fork.md`.
39
+
40
+ ### Phase Gates (MANDATORY, BLOCKING)
41
+
42
+ **Fork mode:**
43
+
44
+ **GATE 1: Validation → Worktree Creation**
45
+ - REQUIRED: Milestone resolved from state.json.milestones[].
46
+ - REQUIRED: No existing active worktree for this milestone (E008).
47
+ - REQUIRED: Not running inside a worktree (E003).
48
+ - BLOCKED if: milestone not found (E006), already forked (E008), or running inside worktree (E003).
49
+
50
+ **GATE 2: Worktree Creation Artifact Copy**
51
+ - REQUIRED: Git worktree created with branch (`milestone/{slug}`).
52
+ - REQUIRED: Shared `.workflow/` files copied (project.md, roadmap.md, config.json, specs/).
53
+ - BLOCKED if missing: worktree creation failed or shared files not copied — do not proceed to artifact scoping.
54
+
55
+ **GATE 3: Artifact Copy Completion**
56
+ - REQUIRED: `worktree-scope.json` written with milestone scope.
57
+ - REQUIRED: Scoped `state.json` written (only this milestone's artifacts).
58
+ - REQUIRED: `worktrees.json` registry updated in main worktree.
59
+ - BLOCKED if missing: scope marker, scoped state, or registry update absent — worktree is unusable without these.
60
+
61
+ **Sync mode:**
62
+
63
+ **GATE: Sync → Completion**
64
+ - REQUIRED: Git merge main into worktree branch completed.
65
+ - REQUIRED: Shared artifacts re-copied.
66
+ - BLOCKED if: merge has unresolved conflicts or shared artifacts failed to copy.
67
+
68
+ </execution>
69
+
70
+ <completion>
71
+ ### Next-step routing
72
+
73
+ | Condition | Suggestion |
74
+ |-----------|-----------|
75
+ | Fork complete | `cd {wt.path} && /maestro-analyze` |
76
+ | Fork + automated | `maestro delegate "run full lifecycle for milestone" --cd {wt.path} --mode write` |
77
+ | Fork + status check | Skill({ skill: "manage-status" }) |
78
+ | Sync complete | Resume work in worktree |
79
+ | Sync conflicts found | Resolve manually, then retry |
80
+ </completion>
81
+
82
+ <error_codes>
83
+ | Code | Severity | Condition | Recovery |
84
+ |------|----------|-----------|----------|
85
+ | E001 | error | Project not initialized | Run maestro-init first |
86
+ | E002 | error | No roadmap found | Run maestro-roadmap first |
87
+ | E003 | error | Running inside a worktree | Run from main worktree |
88
+ | E004 | error | No milestone number provided | Provide `-m <N>` |
89
+ | E005 | error | No milestones defined in state.json | Run maestro-roadmap first |
90
+ | E006 | error | Milestone number out of range | Check available milestones |
91
+ | E007 | error | No active worktree for milestone (--sync) | Check worktrees.json |
92
+ | E008 | error | Milestone already has active worktree | Merge or cleanup first |
93
+ </error_codes>
94
+
95
+ <success_criteria>
96
+ Fork mode:
97
+ - [ ] Milestone resolved from state.json.milestones[]
98
+ - [ ] Git worktree created with branch (`milestone/{slug}`)
99
+ - [ ] Shared `.workflow/` files copied (project.md, roadmap.md, config.json, specs/)
100
+ - [ ] Milestone scratch artifacts copied (filtered from artifact registry)
101
+ - [ ] `worktree-scope.json` written with milestone scope
102
+ - [ ] Scoped `state.json` written (only this milestone's artifacts)
103
+ - [ ] `worktrees.json` registry updated in main worktree
104
+ - [ ] Milestone marked as `"forked"` in main `state.json.milestones[]`
105
+ - [ ] Summary displayed with next-step commands
106
+
107
+ Sync mode:
108
+ - [ ] Git merge main into worktree branch
109
+ - [ ] Shared artifacts re-copied (project.md, roadmap.md, config.json, specs/)
110
+ - [ ] Conflicts reported if any
111
+ </success_criteria>