maestro-flow 0.3.46 → 0.3.48
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/ui-design-agent.md +1 -0
- package/.claude/agents/workflow-executor.md +3 -0
- package/.claude/commands/learn-decompose.md +91 -146
- package/.claude/commands/learn-follow.md +102 -137
- package/.claude/commands/learn-investigate.md +102 -167
- package/.claude/commands/learn-retro.md +100 -243
- package/.claude/commands/learn-second-opinion.md +95 -135
- package/.claude/commands/maestro-amend.md +95 -232
- package/.claude/commands/maestro-analyze.md +1 -6
- package/.claude/commands/maestro-collab.md +104 -265
- package/.claude/commands/maestro-composer.md +113 -293
- package/.claude/commands/maestro-execute.md +10 -17
- package/.claude/commands/maestro-impeccable.md +89 -0
- package/.claude/commands/maestro-plan.md +1 -6
- package/.claude/commands/maestro-player.md +111 -340
- package/.claude/commands/maestro-quick.md +9 -0
- package/.claude/commands/maestro-ralph-execute.md +167 -210
- package/.claude/commands/maestro-ralph.md +245 -426
- package/.claude/commands/maestro-ui-codify.md +13 -0
- package/.claude/commands/maestro-ui-craft.md +364 -0
- package/.claude/commands/maestro-ui-design.md +12 -1
- package/.claude/commands/maestro-verify.md +12 -13
- package/.claude/commands/maestro.md +142 -72
- package/.claude/commands/manage-knowhow-capture.md +45 -170
- package/.claude/commands/quality-auto-test.md +9 -0
- package/.claude/commands/quality-debug.md +11 -25
- package/.claude/commands/quality-refactor.md +9 -0
- package/.claude/commands/quality-review.md +5 -14
- package/.claude/commands/spec-add.md +1 -1
- package/.claude/commands/spec-load.md +3 -2
- package/.claude/skills/maestro-impeccable/SKILL.md +169 -0
- package/.codex/skills/learn-decompose/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +2 -1
- package/.codex/skills/maestro/SKILL.md +420 -313
- package/.codex/skills/maestro-analyze/SKILL.md +126 -417
- package/.codex/skills/maestro-brainstorm/SKILL.md +129 -451
- package/.codex/skills/maestro-collab/SKILL.md +134 -547
- package/.codex/skills/maestro-execute/SKILL.md +3 -1
- package/.codex/skills/maestro-impeccable/SKILL.md +112 -0
- package/.codex/skills/maestro-plan/SKILL.md +88 -437
- package/.codex/skills/maestro-player/SKILL.md +191 -333
- package/.codex/skills/maestro-quick/SKILL.md +2 -0
- package/.codex/skills/maestro-ralph/SKILL.md +327 -710
- package/.codex/skills/maestro-roadmap/SKILL.md +201 -518
- package/.codex/skills/maestro-ui-codify/SKILL.md +1 -0
- package/.codex/skills/maestro-ui-craft/SKILL.md +341 -0
- package/.codex/skills/maestro-ui-design/SKILL.md +10 -0
- package/.codex/skills/maestro-verify/SKILL.md +116 -409
- package/.codex/skills/quality-auto-test/SKILL.md +145 -443
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +229 -517
- package/.codex/skills/spec-add/SKILL.md +1 -1
- package/README.md +4 -1
- package/README.zh-CN.md +3 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +110 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js +56 -0
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +1 -3
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/agents/cli-history-store.d.ts +5 -0
- package/dist/src/agents/cli-history-store.d.ts.map +1 -1
- package/dist/src/agents/cli-history-store.js +65 -13
- package/dist/src/agents/cli-history-store.js.map +1 -1
- package/dist/src/cli.js +13 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/command-help.d.ts +3 -0
- package/dist/src/commands/command-help.d.ts.map +1 -0
- package/dist/src/commands/command-help.js +60 -0
- package/dist/src/commands/command-help.js.map +1 -0
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +17 -0
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +12 -2
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/impeccable.d.ts +10 -0
- package/dist/src/commands/impeccable.d.ts.map +1 -0
- package/dist/src/commands/impeccable.js +181 -0
- package/dist/src/commands/impeccable.js.map +1 -0
- package/dist/src/commands/spec.js +1 -1
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +5 -1
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +10 -7
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/addon-registry.d.ts +31 -0
- package/dist/src/core/addon-registry.d.ts.map +1 -0
- package/dist/src/core/addon-registry.js +28 -0
- package/dist/src/core/addon-registry.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js +2 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.js +2 -2
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools/impeccable/critique-storage.d.ts +28 -0
- package/dist/src/tools/impeccable/critique-storage.d.ts.map +1 -0
- package/dist/src/tools/impeccable/critique-storage.js +120 -0
- package/dist/src/tools/impeccable/critique-storage.js.map +1 -0
- package/dist/src/tools/impeccable/design-parser.d.ts +90 -0
- package/dist/src/tools/impeccable/design-parser.d.ts.map +1 -0
- package/dist/src/tools/impeccable/design-parser.js +696 -0
- package/dist/src/tools/impeccable/design-parser.js.map +1 -0
- package/dist/src/tools/impeccable/detect-csp.d.ts +6 -0
- package/dist/src/tools/impeccable/detect-csp.d.ts.map +1 -0
- package/dist/src/tools/impeccable/detect-csp.js +130 -0
- package/dist/src/tools/impeccable/detect-csp.js.map +1 -0
- package/dist/src/tools/impeccable/is-generated.d.ts +4 -0
- package/dist/src/tools/impeccable/is-generated.d.ts.map +1 -0
- package/dist/src/tools/impeccable/is-generated.js +56 -0
- package/dist/src/tools/impeccable/is-generated.js.map +1 -0
- package/dist/src/tools/impeccable/live/accept.d.ts +50 -0
- package/dist/src/tools/impeccable/live/accept.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/accept.js +556 -0
- package/dist/src/tools/impeccable/live/accept.js.map +1 -0
- package/dist/src/tools/impeccable/live/bootstrap.d.ts +2 -0
- package/dist/src/tools/impeccable/live/bootstrap.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/bootstrap.js +244 -0
- package/dist/src/tools/impeccable/live/bootstrap.js.map +1 -0
- package/dist/src/tools/impeccable/live/complete.d.ts +7 -0
- package/dist/src/tools/impeccable/live/complete.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/complete.js +67 -0
- package/dist/src/tools/impeccable/live/complete.js.map +1 -0
- package/dist/src/tools/impeccable/live/completion.d.ts +24 -0
- package/dist/src/tools/impeccable/live/completion.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/completion.js +26 -0
- package/dist/src/tools/impeccable/live/completion.js.map +1 -0
- package/dist/src/tools/impeccable/live/inject.d.ts +41 -0
- package/dist/src/tools/impeccable/live/inject.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/inject.js +394 -0
- package/dist/src/tools/impeccable/live/inject.js.map +1 -0
- package/dist/src/tools/impeccable/live/poll.d.ts +24 -0
- package/dist/src/tools/impeccable/live/poll.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/poll.js +180 -0
- package/dist/src/tools/impeccable/live/poll.js.map +1 -0
- package/dist/src/tools/impeccable/live/resume.d.ts +5 -0
- package/dist/src/tools/impeccable/live/resume.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/resume.js +30 -0
- package/dist/src/tools/impeccable/live/resume.js.map +1 -0
- package/dist/src/tools/impeccable/live/server.d.ts +6 -0
- package/dist/src/tools/impeccable/live/server.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/server.js +867 -0
- package/dist/src/tools/impeccable/live/server.js.map +1 -0
- package/dist/src/tools/impeccable/live/session-store.d.ts +72 -0
- package/dist/src/tools/impeccable/live/session-store.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/session-store.js +281 -0
- package/dist/src/tools/impeccable/live/session-store.js.map +1 -0
- package/dist/src/tools/impeccable/live/static/live-browser-session.js +123 -0
- package/dist/src/tools/impeccable/live/static/live-browser.js +4860 -0
- package/dist/src/tools/impeccable/live/static/modern-screenshot.umd.js +14 -0
- package/dist/src/tools/impeccable/live/status.d.ts +2 -0
- package/dist/src/tools/impeccable/live/status.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/status.js +52 -0
- package/dist/src/tools/impeccable/live/status.js.map +1 -0
- package/dist/src/tools/impeccable/live/wrap.d.ts +33 -0
- package/dist/src/tools/impeccable/live/wrap.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/wrap.js +572 -0
- package/dist/src/tools/impeccable/live/wrap.js.map +1 -0
- package/dist/src/tools/impeccable/load-context.d.ts +13 -0
- package/dist/src/tools/impeccable/load-context.d.ts.map +1 -0
- package/dist/src/tools/impeccable/load-context.js +79 -0
- package/dist/src/tools/impeccable/load-context.js.map +1 -0
- package/dist/src/tools/impeccable/paths.d.ts +34 -0
- package/dist/src/tools/impeccable/paths.d.ts.map +1 -0
- package/dist/src/tools/impeccable/paths.js +102 -0
- package/dist/src/tools/impeccable/paths.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +1 -1
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +26 -1
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +2 -0
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/package.json +2 -2
- package/workflows/claude-instructions.md +17 -5
- package/workflows/cli-tools-usage.md +10 -3
- package/workflows/delegate-usage.md +3 -2
- package/workflows/impeccable/adapt.md +190 -0
- package/workflows/impeccable/animate.md +175 -0
- package/workflows/impeccable/audit.md +133 -0
- package/workflows/impeccable/bolder.md +113 -0
- package/workflows/impeccable/brand.md +118 -0
- package/workflows/impeccable/clarify.md +174 -0
- package/workflows/impeccable/codex.md +105 -0
- package/workflows/impeccable/cognitive-load.md +106 -0
- package/workflows/impeccable/color-and-contrast.md +105 -0
- package/workflows/impeccable/colorize.md +154 -0
- package/workflows/impeccable/craft.md +123 -0
- package/workflows/impeccable/critique.md +261 -0
- package/workflows/impeccable/delight.md +302 -0
- package/workflows/impeccable/distill.md +111 -0
- package/workflows/impeccable/document.md +439 -0
- package/workflows/impeccable/extract.md +69 -0
- package/workflows/impeccable/harden.md +347 -0
- package/workflows/impeccable/heuristics-scoring.md +234 -0
- package/workflows/impeccable/interaction-design.md +195 -0
- package/workflows/impeccable/layout.md +141 -0
- package/workflows/impeccable/live.md +622 -0
- package/workflows/impeccable/motion-design.md +109 -0
- package/workflows/impeccable/onboard.md +234 -0
- package/workflows/impeccable/optimize.md +258 -0
- package/workflows/impeccable/overdrive.md +130 -0
- package/workflows/impeccable/personas.md +179 -0
- package/workflows/impeccable/polish.md +242 -0
- package/workflows/impeccable/product.md +62 -0
- package/workflows/impeccable/quieter.md +99 -0
- package/workflows/impeccable/responsive-design.md +114 -0
- package/workflows/impeccable/shape.md +165 -0
- package/workflows/impeccable/spatial-design.md +100 -0
- package/workflows/impeccable/teach.md +168 -0
- package/workflows/impeccable/typeset.md +124 -0
- package/workflows/impeccable/typography.md +159 -0
- package/workflows/impeccable/ux-writing.md +107 -0
- package/workflows/impeccable.md +164 -0
- package/workflows/maestro.md +7 -3
- package/workflows/skill-authoring.md +265 -0
- package/workflows/specs-add.md +3 -2
- package/workflows/specs-load.md +2 -1
- package/workflows/specs-setup.md +21 -1
|
@@ -11,344 +11,164 @@ allowed-tools:
|
|
|
11
11
|
- Grep
|
|
12
12
|
- Agent
|
|
13
13
|
- AskUserQuestion
|
|
14
|
+
- Skill
|
|
14
15
|
---
|
|
15
16
|
<purpose>
|
|
16
|
-
Interactive workflow template composer.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Three entry modes:
|
|
21
|
-
1. **New design**: Parse → [confirm] → Resolve → [confirm] → Enrich → Confirm pipeline → Persist
|
|
22
|
-
2. **Resume design**: Load in-progress draft from `.workflow/templates/design-drafts/`
|
|
23
|
-
3. **Edit template**: Load existing template, modify, re-save
|
|
17
|
+
Interactive workflow template composer. Parse natural language → resolve executors → inject checkpoints → build DAG → persist to `~/.maestro/templates/workflows/`. Progressive disclosure — specs loaded only when phase needs them.
|
|
18
|
+
|
|
19
|
+
Three entry modes: **New design** (default), **Resume** (`--resume`), **Edit** (`--edit <path>`).
|
|
24
20
|
</purpose>
|
|
25
21
|
|
|
26
22
|
<deferred_reading>
|
|
27
|
-
- [node-catalog](~/.maestro/templates/workflows/specs/node-catalog.md) — read at Phase 2 (Resolve)
|
|
28
|
-
- [template-schema](~/.maestro/templates/workflows/specs/template-schema.md) — read at Phase 5 (Persist)
|
|
23
|
+
- [node-catalog](~/.maestro/templates/workflows/specs/node-catalog.md) — read at Phase 2 (Resolve)
|
|
24
|
+
- [template-schema](~/.maestro/templates/workflows/specs/template-schema.md) — read at Phase 5 (Persist)
|
|
29
25
|
</deferred_reading>
|
|
30
26
|
|
|
31
27
|
<context>
|
|
32
|
-
$ARGUMENTS — natural language
|
|
33
|
-
|
|
34
|
-
**Flags:**
|
|
35
|
-
- `--resume` — Resume in-progress design session
|
|
36
|
-
- `--edit <template-path>` — Edit an existing template
|
|
37
|
-
|
|
38
|
-
**Shared constants:**
|
|
39
|
-
|
|
40
|
-
| Constant | Value |
|
|
41
|
-
|----------|-------|
|
|
42
|
-
| Session prefix | `WFD` |
|
|
43
|
-
| Template dir (global) | `~/.maestro/templates/workflows/` |
|
|
44
|
-
| Template index (global) | `~/.maestro/templates/workflows/index.json` |
|
|
45
|
-
| Design drafts dir (local) | `.workflow/templates/design-drafts/` |
|
|
46
|
-
| Template ID format | `wft-<slug>-<YYYYMMDD>` |
|
|
47
|
-
| Node ID format | `N-<seq>` (e.g. N-001), `CP-<seq>` for checkpoints |
|
|
48
|
-
| Max nodes | 20 |
|
|
49
|
-
|
|
50
|
-
**Entry routing:**
|
|
51
|
-
|
|
52
|
-
| Detection | Condition | Handler |
|
|
53
|
-
|-----------|-----------|---------|
|
|
54
|
-
| Resume design | `--resume` flag or existing WFD session | Phase 0: Resume |
|
|
55
|
-
| Edit template | `--edit <template-path>` | Phase 0: Load + Edit |
|
|
56
|
-
| New design | Default | Phase 1: Parse |
|
|
57
|
-
</context>
|
|
58
|
-
|
|
59
|
-
<execution>
|
|
60
|
-
|
|
61
|
-
### Phase 0: Resume / Edit (conditional)
|
|
28
|
+
$ARGUMENTS — natural language description, or flags.
|
|
62
29
|
|
|
63
|
-
**
|
|
64
|
-
1. Scan `.workflow/templates/design-drafts/WFD-*/` for in-progress designs
|
|
65
|
-
2. Multiple found → AskUserQuestion for selection
|
|
66
|
-
3. Load draft → skip to last incomplete phase
|
|
67
|
-
|
|
68
|
-
**Edit existing template** (if `--edit <path>`):
|
|
69
|
-
1. Load template from `--edit` path
|
|
70
|
-
2. Show current pipeline visualization (Phase 4 format)
|
|
71
|
-
3. AskUserQuestion: which nodes to modify/add/remove
|
|
72
|
-
4. Re-enter at Phase 3 with edits applied
|
|
73
|
-
|
|
74
|
-
---
|
|
30
|
+
**Flags**: `--resume` (resume in-progress design), `--edit <path>` (edit existing template)
|
|
75
31
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Step 1.2** — Extract sequential actions as candidate nodes using semantic understanding:
|
|
86
|
-
|
|
87
|
-
| Signal | Candidate Type |
|
|
88
|
-
|--------|---------------|
|
|
89
|
-
| "analyze", "review", "explore" | analysis (cli) |
|
|
90
|
-
| "plan", "design", "spec" | planning (skill) |
|
|
91
|
-
| "implement", "build", "code", "fix" | execution (skill) |
|
|
92
|
-
| "test", "validate", "verify" | testing (skill) |
|
|
93
|
-
| "brainstorm", "ideate" | brainstorm (skill) |
|
|
94
|
-
| "review code" | review (skill) |
|
|
95
|
-
| "then", "next", "after" | sequential edge |
|
|
96
|
-
| "parallel", "simultaneously" | parallel edge |
|
|
97
|
-
|
|
98
|
-
**Step 1.3** — Extract variables (inputs that vary per run). Detect from: direct mentions, `{var}` patterns, implicit from task type.
|
|
99
|
-
|
|
100
|
-
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | auto-test | quick-task | custom`
|
|
101
|
-
|
|
102
|
-
**Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
|
|
103
|
-
|
|
104
|
-
**Step 1.6** — Write `intent.json` to `.workflow/templates/design-drafts/WFD-<slug>-<date>/`.
|
|
105
|
-
|
|
106
|
-
**Step 1.7 — Interactive confirmation**:
|
|
107
|
-
|
|
108
|
-
Display parsed intent summary:
|
|
109
|
-
```
|
|
110
|
-
============================================================
|
|
111
|
-
COMPOSER — Intent Parsed
|
|
112
|
-
============================================================
|
|
113
|
-
Description: "<original input>"
|
|
114
|
-
Task type: <type>
|
|
115
|
-
Complexity: <level>
|
|
32
|
+
**Constants**:
|
|
33
|
+
- Template dir: `~/.maestro/templates/workflows/`
|
|
34
|
+
- Template index: `~/.maestro/templates/workflows/index.json`
|
|
35
|
+
- Design drafts: `.workflow/templates/design-drafts/`
|
|
36
|
+
- Template ID: `wft-<slug>-<YYYYMMDD>`, Node ID: `N-<seq>`, Checkpoint: `CP-<seq>`
|
|
37
|
+
- Max nodes: 20
|
|
38
|
+
</context>
|
|
116
39
|
|
|
117
|
-
|
|
118
|
-
1. <description> → <type_hint>
|
|
119
|
-
2. <description> → <type_hint>
|
|
120
|
-
3. <description> → <type_hint>
|
|
40
|
+
<state_machine>
|
|
121
41
|
|
|
122
|
-
|
|
123
|
-
|
|
42
|
+
<states>
|
|
43
|
+
S_ROUTE — 入口路由(new/resume/edit) PERSIST: —
|
|
44
|
+
S_PARSE — 语义意图提取 PERSIST: intent.json
|
|
45
|
+
S_CONFIRM_1 — 确认解析结果 PERSIST: —
|
|
46
|
+
S_RESOLVE — 映射步骤到 executor 节点 PERSIST: nodes.json
|
|
47
|
+
S_CONFIRM_2 — 确认节点映射 PERSIST: —
|
|
48
|
+
S_ENRICH — 注入 checkpoint + 构建 DAG PERSIST: dag.json
|
|
49
|
+
S_CONFIRM_3 — 可视化 pipeline + 用户审批 PERSIST: —
|
|
50
|
+
S_PERSIST — 组装 JSON + 保存模板 PERSIST: template file + index
|
|
51
|
+
</states>
|
|
124
52
|
|
|
125
|
-
|
|
126
|
-
============================================================
|
|
127
|
-
```
|
|
53
|
+
<transitions>
|
|
128
54
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
- "Edit steps" → re-describe, re-parse
|
|
134
|
-
- "Add a step" → append, re-parse
|
|
135
|
-
- "Cancel" → save draft, exit
|
|
136
|
-
```
|
|
55
|
+
S_ROUTE:
|
|
56
|
+
→ S_PARSE WHEN: no flags (new design)
|
|
57
|
+
→ S_RESOLVE WHEN: --resume DO: load draft, skip to last incomplete phase
|
|
58
|
+
→ S_CONFIRM_3 WHEN: --edit <path> DO: load template, show pipeline, ask edits
|
|
137
59
|
|
|
138
|
-
|
|
60
|
+
S_PARSE:
|
|
61
|
+
→ S_CONFIRM_1 DO: A_PARSE_INTENT
|
|
139
62
|
|
|
140
|
-
|
|
63
|
+
S_CONFIRM_1:
|
|
64
|
+
→ S_RESOLVE WHEN: user confirms "Looks good"
|
|
65
|
+
→ S_PARSE WHEN: user selects "Edit steps" or "Add step"
|
|
66
|
+
→ END WHEN: user cancels DO: save draft
|
|
141
67
|
|
|
142
|
-
|
|
68
|
+
S_RESOLVE:
|
|
69
|
+
→ S_CONFIRM_2 DO: A_RESOLVE_NODES (read deferred: node-catalog)
|
|
143
70
|
|
|
144
|
-
|
|
71
|
+
S_CONFIRM_2:
|
|
72
|
+
→ S_ENRICH WHEN: user confirms "Continue"
|
|
73
|
+
→ S_RESOLVE WHEN: user changes executor or node type
|
|
74
|
+
→ S_PARSE WHEN: user selects "Back to intent"
|
|
75
|
+
→ END WHEN: user cancels DO: save draft
|
|
145
76
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
| `planning` | skill | `maestro-plan` |
|
|
149
|
-
| `execution` | skill | `maestro-execute` |
|
|
150
|
-
| `testing` | skill | `quality-test` |
|
|
151
|
-
| `review` | skill | `quality-review` |
|
|
152
|
-
| `brainstorm` | skill | `maestro-brainstorm` |
|
|
153
|
-
| `analysis` | cli | `maestro delegate --role analyze --mode analysis` |
|
|
154
|
-
| `verify` | skill | `maestro-verify` |
|
|
155
|
-
| `refactor` | skill | `quality-refactor` |
|
|
156
|
-
| `debug` | skill | `quality-debug` |
|
|
157
|
-
| `spec` | skill | `maestro-roadmap --mode full` |
|
|
158
|
-
| `checkpoint` | checkpoint | — |
|
|
77
|
+
S_ENRICH:
|
|
78
|
+
→ S_CONFIRM_3 DO: A_BUILD_DAG
|
|
159
79
|
|
|
160
|
-
|
|
80
|
+
S_CONFIRM_3:
|
|
81
|
+
→ S_PERSIST WHEN: user confirms "Confirm & Save"
|
|
82
|
+
→ S_CONFIRM_3 WHEN: user edits/adds/removes node DO: apply change, re-render
|
|
83
|
+
→ S_ENRICH WHEN: user selects "Re-run checkpoints"
|
|
84
|
+
→ END WHEN: user cancels DO: save draft
|
|
161
85
|
|
|
162
|
-
|
|
86
|
+
S_PERSIST:
|
|
87
|
+
→ END DO: A_SAVE_TEMPLATE (read deferred: template-schema)
|
|
163
88
|
|
|
164
|
-
|
|
165
|
-
- Planning after analysis → `--context {prev_output_path}`
|
|
166
|
-
- Execution after planning → `--resume-session {prev_session_id}`
|
|
167
|
-
- Testing after execution → `--session {prev_session_id}`
|
|
89
|
+
</transitions>
|
|
168
90
|
|
|
169
|
-
|
|
91
|
+
<actions>
|
|
170
92
|
|
|
171
|
-
|
|
93
|
+
### A_PARSE_INTENT
|
|
172
94
|
|
|
173
|
-
|
|
95
|
+
1. Parse description (if empty: AskUserQuestion for workflow description)
|
|
96
|
+
2. Extract candidate nodes via semantic signals:
|
|
174
97
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
98
|
+
| Signal | Type hint |
|
|
99
|
+
|--------|-----------|
|
|
100
|
+
| "analyze", "review", "explore" | analysis (cli) |
|
|
101
|
+
| "plan", "design", "spec" | planning (skill) |
|
|
102
|
+
| "implement", "build", "code", "fix" | execution (skill) |
|
|
103
|
+
| "test", "validate", "verify" | testing (skill) |
|
|
104
|
+
| "then", "next", "after" | sequential edge |
|
|
105
|
+
| "parallel", "simultaneously" | parallel edge |
|
|
183
106
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
107
|
+
3. Extract variables (inputs that vary per run)
|
|
108
|
+
4. Classify: task type + complexity (simple 1-3 / medium 4-7 / complex 8+)
|
|
109
|
+
5. Write `intent.json` to design drafts dir
|
|
110
|
+
6. Display: parsed steps, variables, task type, complexity
|
|
187
111
|
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
options:
|
|
191
|
-
- "Continue to checkpoint injection" → Phase 3
|
|
192
|
-
- "Change executor for a node" → select node, pick new executor
|
|
193
|
-
- "Change node type" → skill/cli/agent/command
|
|
194
|
-
- "Back to intent" → Phase 1
|
|
195
|
-
- "Cancel" → save draft, exit
|
|
196
|
-
```
|
|
112
|
+
### A_RESOLVE_NODES
|
|
197
113
|
|
|
198
|
-
|
|
114
|
+
Read deferred `node-catalog.md` (fallback to built-in mapping):
|
|
199
115
|
|
|
200
|
-
|
|
116
|
+
| Type hint | Default executor |
|
|
117
|
+
|-----------|-----------------|
|
|
118
|
+
| planning | `maestro-plan` |
|
|
119
|
+
| execution | `maestro-execute` |
|
|
120
|
+
| testing | `quality-test` |
|
|
121
|
+
| review | `quality-review` |
|
|
122
|
+
| brainstorm | `maestro-brainstorm` |
|
|
123
|
+
| analysis | `maestro delegate --role analyze` |
|
|
124
|
+
| verify | `maestro-verify` |
|
|
125
|
+
| refactor | `quality-refactor` |
|
|
126
|
+
| debug | `quality-debug` |
|
|
201
127
|
|
|
202
|
-
|
|
128
|
+
Build `args_template` with variable placeholders. Context injection: planning-after-analysis → `--context {prev_output_path}`, execution-after-planning → `--resume-session {prev_session_id}`.
|
|
129
|
+
Write `nodes.json`. Display resolved node list.
|
|
203
130
|
|
|
204
|
-
|
|
131
|
+
### A_BUILD_DAG
|
|
205
132
|
|
|
206
|
-
|
|
133
|
+
1. Build sequential edges (fan-out/fan-in for parallel groups)
|
|
134
|
+
2. Auto-inject checkpoints:
|
|
207
135
|
|
|
208
136
|
| Rule | Condition |
|
|
209
137
|
|------|-----------|
|
|
210
|
-
| Artifact boundary | Source
|
|
211
|
-
| Execution gate | Target
|
|
212
|
-
| Agent spawn | Target type is `agent` |
|
|
138
|
+
| Artifact boundary | Source outputs plan/spec/analysis/review |
|
|
139
|
+
| Execution gate | Target contains `execute` |
|
|
213
140
|
| Long-running | Target is maestro-plan, maestro-roadmap --mode full |
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
217
|
-
Set `auto_continue: false` for checkpoints before user-facing deliverables.
|
|
218
|
-
|
|
219
|
-
**Step 3.4** — Insert checkpoint edges (A → B becomes A → CP-X → B).
|
|
220
|
-
|
|
221
|
-
**Step 3.5** — Finalize `context_schema` from all `{variable}` references.
|
|
222
|
-
|
|
223
|
-
**Step 3.6** — Validate: no cycles, no orphans, all nodes reachable.
|
|
224
|
-
|
|
225
|
-
**Step 3.7** — Write `dag.json`.
|
|
226
|
-
|
|
227
|
-
→ Proceed directly to Phase 4 (confirm is the pipeline visualization).
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
### Phase 4: Confirm — Visualize + User Approval
|
|
232
|
-
|
|
233
|
-
**Step 4.1** — Render ASCII pipeline from `dag.json`:
|
|
234
|
-
```
|
|
235
|
-
============================================================
|
|
236
|
-
COMPOSER — Pipeline Review
|
|
237
|
-
============================================================
|
|
238
|
-
Pipeline: <template-name>
|
|
239
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
240
|
-
N-001 [skill] maestro-plan "{goal}"
|
|
241
|
-
|
|
|
242
|
-
CP-01 [checkpoint] After Plan auto-continue
|
|
243
|
-
|
|
|
244
|
-
N-002 [skill] maestro-execute {phase}
|
|
245
|
-
|
|
|
246
|
-
CP-02 [checkpoint] Before Tests pause-for-user
|
|
247
|
-
|
|
|
248
|
-
N-003 [skill] quality-test {phase}
|
|
249
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
250
|
-
Variables (required): goal
|
|
251
|
-
Checkpoints: 2 (1 auto, 1 pause)
|
|
252
|
-
Nodes: 3 work + 2 checkpoints
|
|
253
|
-
============================================================
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
For parallel groups show fan-out/fan-in:
|
|
257
|
-
```
|
|
258
|
-
N-003a [skill] quality-review ─┐
|
|
259
|
-
├─ N-004 [skill] quality-test
|
|
260
|
-
N-003b [cli] cli analysis ─┘
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
**Step 4.2** — AskUserQuestion:
|
|
264
|
-
```
|
|
265
|
-
options:
|
|
266
|
-
- "Confirm & Save" → Phase 5
|
|
267
|
-
- "Edit a node" → select node ID, modify executor/args, re-render
|
|
268
|
-
- "Add a node" → insert position + description, re-resolve + re-enrich, re-render
|
|
269
|
-
- "Remove a node" → select node, re-wire edges, re-render
|
|
270
|
-
- "Rename template" → new name
|
|
271
|
-
- "Re-run checkpoint injection" → back to Phase 3.3
|
|
272
|
-
- "Cancel" → save draft, output resume command
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
**Step 4.3** — On edit: apply change, re-render, re-ask. Loop until Confirm or Cancel.
|
|
276
|
-
|
|
277
|
-
**Step 4.4** — On Confirm: freeze dag.json, proceed to Phase 5. On Cancel: save draft, output `/maestro-composer --resume`.
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
### Phase 5: Persist — Assemble + Save Template
|
|
282
|
-
|
|
283
|
-
**Read deferred**: `~/.maestro/templates/workflows/specs/template-schema.md` — load full JSON schema for template assembly.
|
|
284
|
-
|
|
285
|
-
If the spec file does not exist, use the built-in template structure:
|
|
286
|
-
```json
|
|
287
|
-
{
|
|
288
|
-
"template_id": "wft-<slug>-<YYYYMMDD>",
|
|
289
|
-
"name": "<name>", "description": "<desc>", "version": "1.0",
|
|
290
|
-
"created_at": "<ISO>", "source_session": "WFD-<slug>-<date>",
|
|
291
|
-
"tags": [], "context_schema": {},
|
|
292
|
-
"nodes": [], "edges": [], "checkpoints": [],
|
|
293
|
-
"execution_mode": "serial",
|
|
294
|
-
"metadata": { "node_count": 0, "checkpoint_count": 0 }
|
|
295
|
-
}
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
**Step 5.1** — Load `intent.json` + `dag.json`.
|
|
299
|
-
|
|
300
|
-
**Step 5.2** — Determine template name (from Phase 4 or derive from task_type + description). Slug = kebab-case. If file exists with different content, append `-v2`, `-v3`.
|
|
301
|
-
|
|
302
|
-
**Step 5.3** — Assemble template JSON.
|
|
303
|
-
|
|
304
|
-
**Step 5.4** — Ensure `~/.maestro/templates/workflows/` exists. Write `<slug>.json`.
|
|
305
|
-
|
|
306
|
-
**Step 5.5** — Update `~/.maestro/templates/workflows/index.json`.
|
|
141
|
+
| Post-testing | Source contains `test` or `auto-test` |
|
|
142
|
+
| User-defined | type_hint == checkpoint |
|
|
307
143
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
============================================================
|
|
313
|
-
Path: ~/.maestro/templates/workflows/<slug>.json
|
|
314
|
-
ID: wft-<slug>-<date>
|
|
315
|
-
Nodes: <n> work + <n> checkpoints
|
|
316
|
-
Variables: <required vars>
|
|
144
|
+
3. Finalize context_schema from {variable} references
|
|
145
|
+
4. Validate: no cycles, no orphans, all reachable
|
|
146
|
+
5. Write `dag.json`
|
|
147
|
+
6. Display ASCII pipeline visualization
|
|
317
148
|
|
|
318
|
-
|
|
319
|
-
/maestro-player <slug> --context goal="<your goal>"
|
|
149
|
+
### A_SAVE_TEMPLATE
|
|
320
150
|
|
|
321
|
-
|
|
322
|
-
|
|
151
|
+
Read deferred `template-schema.md` (fallback to built-in structure).
|
|
152
|
+
Assemble template JSON: template_id, name, nodes, edges, checkpoints, context_schema, execution_mode.
|
|
153
|
+
Write to `~/.maestro/templates/workflows/<slug>.json`. Update index.json.
|
|
154
|
+
Display: path, ID, node count, variables, execute/edit commands. Clean up draft dir.
|
|
323
155
|
|
|
324
|
-
|
|
325
|
-
/maestro-player --list
|
|
326
|
-
============================================================
|
|
327
|
-
```
|
|
156
|
+
</actions>
|
|
328
157
|
|
|
329
|
-
|
|
330
|
-
</execution>
|
|
158
|
+
</state_machine>
|
|
331
159
|
|
|
332
160
|
<error_codes>
|
|
333
|
-
| Code |
|
|
334
|
-
|
|
335
|
-
|
|
|
336
|
-
|
|
|
337
|
-
|
|
|
338
|
-
|
|
|
339
|
-
|
|
|
340
|
-
| E006 | error | Edit template not found | Show available templates |
|
|
341
|
-
| W001 | warning | Ambiguous step-to-executor mapping | Show candidates, let user choose |
|
|
342
|
-
| W002 | warning | No checkpoint injection rules triggered | Warn user, offer to add manually |
|
|
343
|
-
| W003 | warning | Deferred spec file not found | Use built-in fallback, continue |
|
|
161
|
+
| Code | Condition | Recovery |
|
|
162
|
+
|------|-----------|----------|
|
|
163
|
+
| E002 | 0 steps extracted | Ask user to rephrase with action verbs |
|
|
164
|
+
| E003 | Node count > 20 | Suggest splitting into sub-workflows |
|
|
165
|
+
| E005 | DAG cycle detected | Show cycle, ask user to resolve |
|
|
166
|
+
| E006 | Edit template not found (--edit) | Show available templates |
|
|
167
|
+
| W001 | Ambiguous step→executor mapping | Show candidates, let user choose |
|
|
344
168
|
</error_codes>
|
|
345
169
|
|
|
346
170
|
<success_criteria>
|
|
347
|
-
- [ ]
|
|
348
|
-
- [ ]
|
|
349
|
-
- [ ]
|
|
350
|
-
- [ ] Pipeline visualized and confirmed by user (Phase 4 interactive gate)
|
|
351
|
-
- [ ] Template JSON written to `~/.maestro/templates/workflows/<slug>.json`
|
|
352
|
-
- [ ] Template index updated at `~/.maestro/templates/workflows/index.json`
|
|
353
|
-
- [ ] Deferred specs loaded only when phase needs them (not upfront)
|
|
171
|
+
- [ ] Each phase has interactive confirmation gate
|
|
172
|
+
- [ ] Template JSON written with nodes, edges, checkpoints, context_schema
|
|
173
|
+
- [ ] Index updated; deferred specs loaded only when phase needs them
|
|
354
174
|
</success_criteria>
|
|
@@ -37,15 +37,11 @@ Scope routing, flags, resolution logic, output directory format, artifact regist
|
|
|
37
37
|
1. **Codebase docs**: If `.workflow/codebase/doc-index.json` exists, read `ARCHITECTURE.md` for module boundaries. Pass as shared context to executor agents.
|
|
38
38
|
2. **Wiki knowledge**: Run `maestro wiki search "<phase keywords>" --json 2>/dev/null`. If results found, extract top 5 entries as prior knowledge context for agents.
|
|
39
39
|
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.
|
|
40
|
-
4.
|
|
40
|
+
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.
|
|
41
|
+
5. All are optional — proceed without if unavailable (log warning).
|
|
41
42
|
|
|
42
43
|
### Role Knowledge
|
|
43
|
-
|
|
44
|
-
`maestro wiki list --category coding`
|
|
45
|
-
2. Analyze the index, identify entries relevant to the current task
|
|
46
|
-
3. Load selected documents:
|
|
47
|
-
`maestro wiki load <id1> [id2] [id3...]`
|
|
48
|
-
4. Review loaded knowledge before proceeding
|
|
44
|
+
`maestro wiki list --category coding` → select relevant → `maestro wiki load`
|
|
49
45
|
</context>
|
|
50
46
|
|
|
51
47
|
<execution>
|
|
@@ -61,18 +57,15 @@ Follow '~/.maestro/workflows/execute.md' completely.
|
|
|
61
57
|
|
|
62
58
|
### Post-task Knowledge Inquiry
|
|
63
59
|
|
|
64
|
-
After each task
|
|
60
|
+
After each task completion, check triggers:
|
|
65
61
|
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
| Condition | Ask | Route |
|
|
63
|
+
|-----------|-----|-------|
|
|
64
|
+
| Summary mentions approach change / plan deviation | "Record as arch constraint?" | spec-add arch |
|
|
65
|
+
| retry_count >= 2 | "Document fix pattern?" | spec-add debug |
|
|
66
|
+
| Summary contains design rationale ("chose X because") | "Record as knowhow?" | spec-add learning |
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
→ Ask: "TASK-{NNN} succeeded after {N} retries. Should this fix pattern be documented? (`/spec-add debug`)"
|
|
71
|
-
|
|
72
|
-
3. **Implicit knowledge**: If task summary contains design rationale ("chose X because", "rejected Y due to"):
|
|
73
|
-
→ Ask: "Design decision detected. Should it be recorded as knowhow? (`/spec-add learning`)"
|
|
74
|
-
|
|
75
|
-
If user confirms, invoke `Skill({ skill: "spec-add", args: "<category> <content>" })` with extracted content.
|
|
68
|
+
On confirm → `Skill("spec-add", "<category> <content>")`.
|
|
76
69
|
|
|
77
70
|
### Issue Status Sync
|
|
78
71
|
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-impeccable
|
|
3
|
+
description: Production-grade UI design with knowhow accumulation — 23 commands for build, evaluate, refine, enhance, fix
|
|
4
|
+
argument-hint: "<command> [target] [--skip-harvest] [-y]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Skill
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Replaces impeccable as the primary UI design entry point. 23 commands covering the full design lifecycle:
|
|
17
|
+
Build (craft, shape, teach, document, extract), Evaluate (critique, audit), Refine (polish, bolder, quieter, distill, harden, onboard),
|
|
18
|
+
Enhance (animate, colorize, typeset, layout, delight, overdrive), Fix (clarify, adapt, optimize), Iterate (live).
|
|
19
|
+
|
|
20
|
+
Core innovation over impeccable: after each command execution, automatically harvests design decisions
|
|
21
|
+
into `.workflow/knowhow/` (DCS-, AST-, TIP-, REF-) for cross-session accumulation. Other maestro commands
|
|
22
|
+
consume this via `category: coding` auto-injection and keyword matching.
|
|
23
|
+
</purpose>
|
|
24
|
+
|
|
25
|
+
<deferred_reading>
|
|
26
|
+
- [impeccable harvest workflow](~/.maestro/workflows/impeccable.md) — read after command execution for harvest logic
|
|
27
|
+
</deferred_reading>
|
|
28
|
+
|
|
29
|
+
<context>
|
|
30
|
+
$ARGUMENTS — sub-command + target + optional flags.
|
|
31
|
+
|
|
32
|
+
**Sub-commands** (23):
|
|
33
|
+
|
|
34
|
+
| Category | Commands |
|
|
35
|
+
|----------|----------|
|
|
36
|
+
| Build | craft, shape, teach, document, extract |
|
|
37
|
+
| Evaluate | critique, audit |
|
|
38
|
+
| Refine | polish, bolder, quieter, distill, harden, onboard |
|
|
39
|
+
| Enhance | animate, colorize, typeset, layout, delight, overdrive |
|
|
40
|
+
| Fix | clarify, adapt, optimize |
|
|
41
|
+
| Iterate | live |
|
|
42
|
+
|
|
43
|
+
**Flags:**
|
|
44
|
+
- `--skip-harvest` — Execute command without knowhow capture
|
|
45
|
+
- `-y` — Auto-confirm where the skill allows
|
|
46
|
+
|
|
47
|
+
**Harvest behavior**: After command completion, the harvest workflow extracts design decisions
|
|
48
|
+
and writes knowhow entries. DCS-/AST- types also get spec index entries for discoverability.
|
|
49
|
+
`live` command is exempt (too ephemeral). Use `--skip-harvest` to suppress.
|
|
50
|
+
</context>
|
|
51
|
+
|
|
52
|
+
<execution>
|
|
53
|
+
|
|
54
|
+
## 1. Invoke Skill
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Skill({ skill: "maestro-impeccable", args: "$ARGUMENTS" })
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The skill handles: context loading (spec load --category ui, with load-context fallback), register detection (brand/product),
|
|
61
|
+
reference file loading, and command execution.
|
|
62
|
+
|
|
63
|
+
## 2. Harvest
|
|
64
|
+
|
|
65
|
+
After the skill completes, read `~/.maestro/workflows/impeccable.md` and follow the harvest workflow.
|
|
66
|
+
|
|
67
|
+
Skip harvest if:
|
|
68
|
+
- `--skip-harvest` flag is set
|
|
69
|
+
- Sub-command is `live` (interactive, no harvestable output)
|
|
70
|
+
- Sub-command is unrecognized
|
|
71
|
+
|
|
72
|
+
</execution>
|
|
73
|
+
|
|
74
|
+
<error_codes>
|
|
75
|
+
| Code | Severity | Description |
|
|
76
|
+
|------|----------|-------------|
|
|
77
|
+
| E001 | error | Invalid sub-command (not in 23 valid commands) |
|
|
78
|
+
| E002 | error | No intent or target specified |
|
|
79
|
+
| W001 | warning | Harvest failed — design knowledge not captured (command still succeeded) |
|
|
80
|
+
| W002 | warning | PRODUCT.md missing — skill will auto-trigger teach |
|
|
81
|
+
</error_codes>
|
|
82
|
+
|
|
83
|
+
<success_criteria>
|
|
84
|
+
- [ ] Sub-command recognized and routed to maestro-impeccable skill
|
|
85
|
+
- [ ] Skill executed with context (spec load --category ui or load-context fallback, register identified)
|
|
86
|
+
- [ ] Design changes applied to target files
|
|
87
|
+
- [ ] Knowhow entry created in .workflow/knowhow/ (unless --skip-harvest or live)
|
|
88
|
+
- [ ] Spec index entry created for DCS-/AST- types
|
|
89
|
+
</success_criteria>
|
|
@@ -47,12 +47,7 @@ Scope routing, base flags (`--collab`, `--spec`, `-y`, `--gaps`, `--dir`), outpu
|
|
|
47
47
|
- Reads `conclusions.json` if available (implementation_scope seeds task generation)
|
|
48
48
|
|
|
49
49
|
### Role Knowledge
|
|
50
|
-
|
|
51
|
-
`maestro wiki list --category arch`
|
|
52
|
-
2. Analyze the index, identify entries relevant to the current task
|
|
53
|
-
3. Load selected documents:
|
|
54
|
-
`maestro wiki load <id1> [id2] [id3...]`
|
|
55
|
-
4. Review loaded knowledge before proceeding
|
|
50
|
+
`maestro wiki list --category arch` → select relevant → `maestro wiki load`
|
|
56
51
|
</context>
|
|
57
52
|
|
|
58
53
|
<execution>
|