maestro-flow 0.1.1 → 0.1.3

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 (92) hide show
  1. package/.codex/skills/manage-codebase-rebuild/SKILL.md +405 -405
  2. package/.codex/skills/manage-codebase-refresh/SKILL.md +82 -82
  3. package/.codex/skills/manage-issue/SKILL.md +65 -65
  4. package/.codex/skills/manage-status/SKILL.md +89 -89
  5. package/.codex/skills/quality-debug/SKILL.md +413 -413
  6. package/.codex/skills/quality-refactor/SKILL.md +191 -191
  7. package/.codex/skills/quality-sync/SKILL.md +89 -89
  8. package/.codex/skills/quality-test/SKILL.md +198 -198
  9. package/.codex/skills/spec-add/SKILL.md +79 -79
  10. package/.codex/skills/spec-load/SKILL.md +75 -75
  11. package/.codex/skills/spec-map/SKILL.md +182 -182
  12. package/.codex/skills/spec-setup/SKILL.md +76 -76
  13. package/.codex/skills/team-coordinate/SKILL.md +7 -7
  14. package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -1
  15. package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -2
  16. package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +2 -2
  17. package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +2 -2
  18. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +2 -2
  19. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +1 -1
  20. package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +2 -2
  21. package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
  22. package/.codex/skills/team-lifecycle-v4/schemas/tasks-schema.md +1 -1
  23. package/.codex/skills/team-quality-assurance/SKILL.md +2 -2
  24. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +2 -2
  25. package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
  26. package/.codex/skills/team-quality-assurance/roles/scout/role.md +2 -2
  27. package/.codex/skills/team-review/SKILL.md +2 -2
  28. package/.codex/skills/team-review/roles/coordinator/role.md +2 -2
  29. package/.codex/skills/team-review/roles/reviewer/role.md +2 -2
  30. package/.codex/skills/team-review/roles/scanner/role.md +1 -1
  31. package/.codex/skills/team-tech-debt/SKILL.md +2 -2
  32. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -1
  33. package/.codex/skills/team-tech-debt/roles/executor/role.md +1 -1
  34. package/.codex/skills/team-tech-debt/roles/scanner/role.md +2 -2
  35. package/.codex/skills/team-tech-debt/roles/validator/role.md +1 -1
  36. package/.codex/skills/team-testing/SKILL.md +2 -2
  37. package/.codex/skills/team-testing/roles/coordinator/role.md +2 -2
  38. package/.codex/skills/team-testing/roles/executor/role.md +2 -2
  39. package/.codex/skills/team-testing/roles/generator/role.md +2 -2
  40. package/README.md +43 -4
  41. package/dist/agents/dashboard-bridge.d.ts +5 -0
  42. package/dist/agents/dashboard-bridge.d.ts.map +1 -1
  43. package/dist/agents/dashboard-bridge.js +13 -0
  44. package/dist/agents/dashboard-bridge.js.map +1 -1
  45. package/dist/agents/parallel-cli-runner.d.ts +42 -0
  46. package/dist/agents/parallel-cli-runner.d.ts.map +1 -0
  47. package/dist/agents/parallel-cli-runner.js +200 -0
  48. package/dist/agents/parallel-cli-runner.js.map +1 -0
  49. package/dist/agents/terminal-adapter.d.ts +94 -0
  50. package/dist/agents/terminal-adapter.d.ts.map +1 -0
  51. package/dist/agents/terminal-adapter.js +132 -0
  52. package/dist/agents/terminal-adapter.js.map +1 -0
  53. package/dist/agents/terminal-backend.d.ts +53 -0
  54. package/dist/agents/terminal-backend.d.ts.map +1 -0
  55. package/dist/agents/terminal-backend.js +286 -0
  56. package/dist/agents/terminal-backend.js.map +1 -0
  57. package/dist/cli.js +4 -0
  58. package/dist/cli.js.map +1 -1
  59. package/dist/commands/coordinate.d.ts.map +1 -1
  60. package/dist/commands/coordinate.js +14 -5
  61. package/dist/commands/coordinate.js.map +1 -1
  62. package/dist/commands/delegate.d.ts +3 -0
  63. package/dist/commands/delegate.d.ts.map +1 -0
  64. package/dist/commands/delegate.js +142 -0
  65. package/dist/commands/delegate.js.map +1 -0
  66. package/dist/commands/msg.d.ts +3 -0
  67. package/dist/commands/msg.d.ts.map +1 -0
  68. package/dist/commands/msg.js +110 -0
  69. package/dist/commands/msg.js.map +1 -0
  70. package/dist/coordinator/graph-types.d.ts +17 -0
  71. package/dist/coordinator/graph-types.d.ts.map +1 -1
  72. package/dist/coordinator/graph-walker.d.ts +3 -1
  73. package/dist/coordinator/graph-walker.d.ts.map +1 -1
  74. package/dist/coordinator/graph-walker.js +147 -8
  75. package/dist/coordinator/graph-walker.js.map +1 -1
  76. package/dist/coordinator/index.d.ts +2 -0
  77. package/dist/coordinator/index.d.ts.map +1 -1
  78. package/dist/coordinator/index.js +1 -0
  79. package/dist/coordinator/index.js.map +1 -1
  80. package/dist/coordinator/parallel-executor.d.ts +24 -0
  81. package/dist/coordinator/parallel-executor.d.ts.map +1 -0
  82. package/dist/coordinator/parallel-executor.js +43 -0
  83. package/dist/coordinator/parallel-executor.js.map +1 -0
  84. package/package.json +4 -2
  85. package/templates/cli/prompts/rules-tech-rules-agent-prompt.txt +89 -89
  86. package/templates/cli/prompts/workflow-codex-feasibility-validation.txt +176 -176
  87. package/templates/cli/prompts/workflow-gemini-solution-design.txt +131 -131
  88. package/templates/cli/prompts/workflow-skill-index.txt +224 -224
  89. package/templates/cli/protocols/analysis-protocol.md +2 -2
  90. package/templates/cli/protocols/write-protocol.md +2 -2
  91. package/workflows/memory.md +2 -2
  92. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +0 -512
@@ -1,82 +1,82 @@
1
- ---
2
- name: maestro-codebase-refresh
3
- description: Incremental refresh of codebase docs based on recent git changes
4
- argument-hint: "[--since <date>] [--deep]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
6
- ---
7
-
8
- # Codebase Refresh
9
-
10
- ## Usage
11
-
12
- ```bash
13
- $maestro-codebase-refresh
14
- $maestro-codebase-refresh "--since 2026-03-15"
15
- $maestro-codebase-refresh "--deep"
16
- $maestro-codebase-refresh "--since 3d --deep"
17
- ```
18
-
19
- **Flags**:
20
- - `--since <date>` -- Override change detection window (ISO date or relative like `3d`)
21
- - `--deep` -- Force deeper re-scan even for minor changes
22
-
23
- ---
24
-
25
- ## Implementation
26
-
27
- ### Step 1: Validate Preconditions
28
-
29
- ```bash
30
- test -d .workflow || exit 1 # E001: not initialized
31
- test -d .workflow/codebase || exit 1 # E002: no docs, use codebase-rebuild
32
- ```
33
-
34
- ### Step 2: Detect Changes
35
-
36
- Determine baseline timestamp:
37
- 1. If `--since` provided, use that date
38
- 2. Else read `state.json` field `codebase_last_refreshed` or `codebase_last_rebuilt`
39
- 3. Fallback to last 7 days
40
-
41
- ```bash
42
- git diff --name-only --since="{baseline}" HEAD
43
- ```
44
-
45
- If no changes detected, report clean state (W001) and exit.
46
-
47
- ### Step 3: Map Changes to Docs
48
-
49
- Read `.workflow/codebase/doc-index.json` to find which documentation entries cover the changed files.
50
- Build a list of affected doc entries that need refresh.
51
-
52
- ### Step 4: Refresh Affected Docs
53
-
54
- For each affected documentation entry:
55
- 1. Re-read the source files that changed
56
- 2. Update the corresponding doc section in `.workflow/codebase/`
57
- 3. Update the entry's timestamp in `doc-index.json`
58
-
59
- If `--deep` flag is set, also re-scan adjacent files for context changes.
60
-
61
- ### Step 5: Update State
62
-
63
- Update `doc-index.json` timestamps for all refreshed entries.
64
- Update `state.json` with `codebase_last_refreshed: "{ISO timestamp}"`.
65
-
66
- Display summary:
67
- ```
68
- === CODEBASE REFRESH ===
69
- Changes detected: {N} files
70
- Docs refreshed: {M} entries
71
- Skipped (unchanged): {K} entries
72
- ```
73
-
74
- ---
75
-
76
- ## Error Handling
77
-
78
- | Code | Severity | Description |
79
- |------|----------|-------------|
80
- | E001 | fatal | `.workflow/` not initialized |
81
- | E002 | fatal | No codebase docs exist -- use `Skill({ skill: "codebase-rebuild" })` instead |
82
- | W001 | warning | No changes detected since last refresh |
1
+ ---
2
+ name: maestro-codebase-refresh
3
+ description: Incremental refresh of codebase docs based on recent git changes
4
+ argument-hint: "[--since <date>] [--deep]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
6
+ ---
7
+
8
+ # Codebase Refresh
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ $maestro-codebase-refresh
14
+ $maestro-codebase-refresh "--since 2026-03-15"
15
+ $maestro-codebase-refresh "--deep"
16
+ $maestro-codebase-refresh "--since 3d --deep"
17
+ ```
18
+
19
+ **Flags**:
20
+ - `--since <date>` -- Override change detection window (ISO date or relative like `3d`)
21
+ - `--deep` -- Force deeper re-scan even for minor changes
22
+
23
+ ---
24
+
25
+ ## Implementation
26
+
27
+ ### Step 1: Validate Preconditions
28
+
29
+ ```bash
30
+ test -d .workflow || exit 1 # E001: not initialized
31
+ test -d .workflow/codebase || exit 1 # E002: no docs, use codebase-rebuild
32
+ ```
33
+
34
+ ### Step 2: Detect Changes
35
+
36
+ Determine baseline timestamp:
37
+ 1. If `--since` provided, use that date
38
+ 2. Else read `state.json` field `codebase_last_refreshed` or `codebase_last_rebuilt`
39
+ 3. Fallback to last 7 days
40
+
41
+ ```bash
42
+ git diff --name-only --since="{baseline}" HEAD
43
+ ```
44
+
45
+ If no changes detected, report clean state (W001) and exit.
46
+
47
+ ### Step 3: Map Changes to Docs
48
+
49
+ Read `.workflow/codebase/doc-index.json` to find which documentation entries cover the changed files.
50
+ Build a list of affected doc entries that need refresh.
51
+
52
+ ### Step 4: Refresh Affected Docs
53
+
54
+ For each affected documentation entry:
55
+ 1. Re-read the source files that changed
56
+ 2. Update the corresponding doc section in `.workflow/codebase/`
57
+ 3. Update the entry's timestamp in `doc-index.json`
58
+
59
+ If `--deep` flag is set, also re-scan adjacent files for context changes.
60
+
61
+ ### Step 5: Update State
62
+
63
+ Update `doc-index.json` timestamps for all refreshed entries.
64
+ Update `state.json` with `codebase_last_refreshed: "{ISO timestamp}"`.
65
+
66
+ Display summary:
67
+ ```
68
+ === CODEBASE REFRESH ===
69
+ Changes detected: {N} files
70
+ Docs refreshed: {M} entries
71
+ Skipped (unchanged): {K} entries
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Error Handling
77
+
78
+ | Code | Severity | Description |
79
+ |------|----------|-------------|
80
+ | E001 | fatal | `.workflow/` not initialized |
81
+ | E002 | fatal | No codebase docs exist -- use `Skill({ skill: "codebase-rebuild" })` instead |
82
+ | W001 | warning | No changes detected since last refresh |
@@ -1,65 +1,65 @@
1
- ---
2
- name: maestro-issue
3
- description: Issue CRUD -- create, list, status, update, close, and link issues to tasks
4
- argument-hint: "<create|list|status|update|close|link> [options]"
5
- allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- # Issue Management
9
-
10
- ## Usage
11
-
12
- ```bash
13
- $maestro-issue "create --title 'Auth token expiry bug' --severity high --source manual"
14
- $maestro-issue "list --status open --severity high"
15
- $maestro-issue "status ISS-20260318-001"
16
- $maestro-issue "update ISS-20260318-001 --priority critical --tags auth,security"
17
- $maestro-issue "close ISS-20260318-001 --resolution fixed"
18
- $maestro-issue "link ISS-20260318-001 --task TASK-003"
19
- ```
20
-
21
- ---
22
-
23
- ## Implementation
24
-
25
- ### Step 1: Parse Subcommand
26
-
27
- Extract first token as subcommand. Valid: `create`, `list`, `status`, `update`, `close`, `link`.
28
- If missing or invalid, display usage and prompt user (E_NO_SUBCOMMAND, E_INVALID_SUBCOMMAND).
29
-
30
- ### Step 2: Ensure Storage
31
-
32
- ```bash
33
- mkdir -p .workflow/issues
34
- touch .workflow/issues/issues.jsonl 2>/dev/null
35
- ```
36
-
37
- Auto-create directory and empty file if missing (E_ISSUES_DIR_MISSING handled silently).
38
-
39
- ### Step 3: Execute Subcommand
40
-
41
- **create**: Read `~/.maestro/templates/issue.json` for schema. Generate ID `ISS-{YYYYMMDD}-{NNN}`. Prompt for missing required fields (title, severity). Append JSON line to `issues.jsonl`.
42
-
43
- **list**: Read `issues.jsonl`, filter by `--status`, `--phase`, `--severity`, `--source`. Display as table:
44
- ```
45
- ID | Severity | Status | Title
46
- ISS-20260318-001 | high | open | Auth token expiry bug
47
- ```
48
-
49
- **status**: Find issue by ID in `issues.jsonl`. Display all fields in detail format.
50
-
51
- **update**: Find issue by ID, merge provided fields, rewrite the line in `issues.jsonl`. Track `updated_at` timestamp.
52
-
53
- **close**: Find issue by ID, set status to `closed`, add `resolution` and `closed_at`. Move line from `issues.jsonl` to `issue-history.jsonl`.
54
-
55
- **link**: Find issue by ID, add task reference to issue's `linked_tasks` array. If task JSON exists (`.task/TASK-*.json`), add issue reference to task's `linked_issues`. Bidirectional cross-reference.
56
-
57
- ---
58
-
59
- ## Error Handling
60
-
61
- | Code | Severity | Description |
62
- |------|----------|-------------|
63
- | E_NO_SUBCOMMAND | error | No subcommand provided -- display valid subcommands |
64
- | E_INVALID_SUBCOMMAND | error | Unrecognized subcommand |
65
- | E_ISSUES_DIR_MISSING | warning | `.workflow/issues/` not found -- auto-created |
1
+ ---
2
+ name: maestro-issue
3
+ description: Issue CRUD -- create, list, status, update, close, and link issues to tasks
4
+ argument-hint: "<create|list|status|update|close|link> [options]"
5
+ allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ # Issue Management
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ $maestro-issue "create --title 'Auth token expiry bug' --severity high --source manual"
14
+ $maestro-issue "list --status open --severity high"
15
+ $maestro-issue "status ISS-20260318-001"
16
+ $maestro-issue "update ISS-20260318-001 --priority critical --tags auth,security"
17
+ $maestro-issue "close ISS-20260318-001 --resolution fixed"
18
+ $maestro-issue "link ISS-20260318-001 --task TASK-003"
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Implementation
24
+
25
+ ### Step 1: Parse Subcommand
26
+
27
+ Extract first token as subcommand. Valid: `create`, `list`, `status`, `update`, `close`, `link`.
28
+ If missing or invalid, display usage and prompt user (E_NO_SUBCOMMAND, E_INVALID_SUBCOMMAND).
29
+
30
+ ### Step 2: Ensure Storage
31
+
32
+ ```bash
33
+ mkdir -p .workflow/issues
34
+ touch .workflow/issues/issues.jsonl 2>/dev/null
35
+ ```
36
+
37
+ Auto-create directory and empty file if missing (E_ISSUES_DIR_MISSING handled silently).
38
+
39
+ ### Step 3: Execute Subcommand
40
+
41
+ **create**: Read `~/.maestro/templates/issue.json` for schema. Generate ID `ISS-{YYYYMMDD}-{NNN}`. Prompt for missing required fields (title, severity). Append JSON line to `issues.jsonl`.
42
+
43
+ **list**: Read `issues.jsonl`, filter by `--status`, `--phase`, `--severity`, `--source`. Display as table:
44
+ ```
45
+ ID | Severity | Status | Title
46
+ ISS-20260318-001 | high | open | Auth token expiry bug
47
+ ```
48
+
49
+ **status**: Find issue by ID in `issues.jsonl`. Display all fields in detail format.
50
+
51
+ **update**: Find issue by ID, merge provided fields, rewrite the line in `issues.jsonl`. Track `updated_at` timestamp.
52
+
53
+ **close**: Find issue by ID, set status to `closed`, add `resolution` and `closed_at`. Move line from `issues.jsonl` to `issue-history.jsonl`.
54
+
55
+ **link**: Find issue by ID, add task reference to issue's `linked_tasks` array. If task JSON exists (`.task/TASK-*.json`), add issue reference to task's `linked_issues`. Bidirectional cross-reference.
56
+
57
+ ---
58
+
59
+ ## Error Handling
60
+
61
+ | Code | Severity | Description |
62
+ |------|----------|-------------|
63
+ | E_NO_SUBCOMMAND | error | No subcommand provided -- display valid subcommands |
64
+ | E_INVALID_SUBCOMMAND | error | Unrecognized subcommand |
65
+ | E_ISSUES_DIR_MISSING | warning | `.workflow/issues/` not found -- auto-created |
@@ -1,89 +1,89 @@
1
- ---
2
- name: maestro-status
3
- description: Display project dashboard with phase progress, active tasks, and next steps
4
- argument-hint: ""
5
- allowed-tools: Read, Bash, Glob, Grep
6
- ---
7
-
8
- # Status Dashboard
9
-
10
- ## Usage
11
-
12
- ```bash
13
- $maestro-status
14
- ```
15
-
16
- No arguments required. Reads `.workflow/` state files and renders a formatted project overview.
17
-
18
- ---
19
-
20
- ## Implementation
21
-
22
- ### Step 1: Validate Project
23
-
24
- ```bash
25
- # Verify .workflow/ exists
26
- test -d .workflow || exit 1 # E001: not initialized
27
- test -f .workflow/state.json || exit 1 # E002: state missing
28
- ```
29
-
30
- ### Step 2: Load State Files
31
-
32
- Read all state sources:
33
- - `.workflow/state.json` -- project-level state machine
34
- - `.workflow/roadmap.md` -- milestone and phase structure
35
- - `.workflow/phases/*/index.json` -- per-phase metadata and progress
36
- - `.workflow/phases/*/.task/TASK-*.json` -- individual task statuses
37
-
38
- ### Step 3: Calculate Progress
39
-
40
- For each phase directory found:
41
- 1. Count total tasks, completed, failed, blocked, pending
42
- 2. Calculate completion percentage
43
- 3. Determine phase status from index.json
44
-
45
- ### Step 4: Render Dashboard
46
-
47
- Display formatted output:
48
-
49
- ```
50
- === PROJECT DASHBOARD ===
51
- Project: {name} | Status: {state}
52
-
53
- --- Milestones & Phases ---
54
- {For each milestone}
55
- M{N}: {title}
56
- {For each phase}
57
- Phase {N}: {title} [{status}] {progress_bar} {completed}/{total} ({pct}%)
58
-
59
- --- Active Work ---
60
- Phase {N}: {title}
61
- In-progress: {list}
62
- Blocked: {list}
63
-
64
- --- Next Steps ---
65
- Based on current state: {suggestion with Skill() reference}
66
- ```
67
-
68
- ### Step 5: Suggest Next Steps
69
-
70
- Use this decision table to suggest the next action:
71
-
72
- | Current State | Suggestion |
73
- |---------------|------------|
74
- | No phases planned | `Skill({ skill: "maestro-brainstorm" })` or `Skill({ skill: "maestro-plan" })` |
75
- | Phase planned, not executed | `Skill({ skill: "maestro-execute", args: "<N>" })` |
76
- | Phase executed, not verified | `Skill({ skill: "maestro-verify", args: "<N>" })` |
77
- | Phase verified with gaps | `Skill({ skill: "maestro-plan", args: "<N> --gaps" })` |
78
- | Phase reviewed PASS/WARN | `Skill({ skill: "quality-test", args: "<N>" })` |
79
- | UAT passed | `Skill({ skill: "maestro-phase-transition" })` |
80
- | All milestone phases done | `Skill({ skill: "maestro-milestone-audit" })` |
81
-
82
- ---
83
-
84
- ## Error Handling
85
-
86
- | Code | Severity | Description |
87
- |------|----------|-------------|
88
- | E001 | fatal | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
89
- | E002 | fatal | `state.json` missing or corrupt |
1
+ ---
2
+ name: maestro-status
3
+ description: Display project dashboard with phase progress, active tasks, and next steps
4
+ argument-hint: ""
5
+ allowed-tools: Read, Bash, Glob, Grep
6
+ ---
7
+
8
+ # Status Dashboard
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ $maestro-status
14
+ ```
15
+
16
+ No arguments required. Reads `.workflow/` state files and renders a formatted project overview.
17
+
18
+ ---
19
+
20
+ ## Implementation
21
+
22
+ ### Step 1: Validate Project
23
+
24
+ ```bash
25
+ # Verify .workflow/ exists
26
+ test -d .workflow || exit 1 # E001: not initialized
27
+ test -f .workflow/state.json || exit 1 # E002: state missing
28
+ ```
29
+
30
+ ### Step 2: Load State Files
31
+
32
+ Read all state sources:
33
+ - `.workflow/state.json` -- project-level state machine
34
+ - `.workflow/roadmap.md` -- milestone and phase structure
35
+ - `.workflow/phases/*/index.json` -- per-phase metadata and progress
36
+ - `.workflow/phases/*/.task/TASK-*.json` -- individual task statuses
37
+
38
+ ### Step 3: Calculate Progress
39
+
40
+ For each phase directory found:
41
+ 1. Count total tasks, completed, failed, blocked, pending
42
+ 2. Calculate completion percentage
43
+ 3. Determine phase status from index.json
44
+
45
+ ### Step 4: Render Dashboard
46
+
47
+ Display formatted output:
48
+
49
+ ```
50
+ === PROJECT DASHBOARD ===
51
+ Project: {name} | Status: {state}
52
+
53
+ --- Milestones & Phases ---
54
+ {For each milestone}
55
+ M{N}: {title}
56
+ {For each phase}
57
+ Phase {N}: {title} [{status}] {progress_bar} {completed}/{total} ({pct}%)
58
+
59
+ --- Active Work ---
60
+ Phase {N}: {title}
61
+ In-progress: {list}
62
+ Blocked: {list}
63
+
64
+ --- Next Steps ---
65
+ Based on current state: {suggestion with Skill() reference}
66
+ ```
67
+
68
+ ### Step 5: Suggest Next Steps
69
+
70
+ Use this decision table to suggest the next action:
71
+
72
+ | Current State | Suggestion |
73
+ |---------------|------------|
74
+ | No phases planned | `Skill({ skill: "maestro-brainstorm" })` or `Skill({ skill: "maestro-plan" })` |
75
+ | Phase planned, not executed | `Skill({ skill: "maestro-execute", args: "<N>" })` |
76
+ | Phase executed, not verified | `Skill({ skill: "maestro-verify", args: "<N>" })` |
77
+ | Phase verified with gaps | `Skill({ skill: "maestro-plan", args: "<N> --gaps" })` |
78
+ | Phase reviewed PASS/WARN | `Skill({ skill: "quality-test", args: "<N>" })` |
79
+ | UAT passed | `Skill({ skill: "maestro-phase-transition" })` |
80
+ | All milestone phases done | `Skill({ skill: "maestro-milestone-audit" })` |
81
+
82
+ ---
83
+
84
+ ## Error Handling
85
+
86
+ | Code | Severity | Description |
87
+ |------|----------|-------------|
88
+ | E001 | fatal | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
89
+ | E002 | fatal | `state.json` missing or corrupt |