maestro-flow 0.3.44 → 0.3.46
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/commands/learn-decompose.md +1 -1
- package/.claude/commands/learn-follow.md +1 -1
- package/.claude/commands/learn-investigate.md +1 -1
- package/.claude/commands/learn-retro.md +1 -1
- package/.claude/commands/learn-second-opinion.md +1 -1
- package/.claude/commands/maestro-analyze.md +1 -1
- package/.claude/commands/maestro-brainstorm.md +1 -1
- package/.claude/commands/maestro-execute.md +3 -2
- package/.claude/commands/maestro-plan.md +1 -1
- package/.claude/commands/maestro-tools-execute.md +14 -14
- package/.claude/commands/maestro-tools-register.md +49 -29
- package/.claude/commands/manage-knowhow-capture.md +10 -1
- package/.claude/commands/quality-debug.md +3 -2
- package/.claude/commands/quality-review.md +3 -2
- package/.claude/commands/quality-test.md +5 -0
- package/.claude/commands/spec-add.md +7 -12
- package/.claude/commands/spec-load.md +15 -16
- package/.claude/skills/codify-to-knowhow/SKILL.md +1 -1
- package/.claude/skills/codify-to-knowhow/phases/04-index-verify.md +1 -1
- package/.claude/skills/maestro-help/SKILL.md +264 -0
- package/.claude/skills/maestro-help/index/catalog.json +182 -0
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.claude/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.codex/agents/team-supervisor.toml +40 -0
- package/.codex/agents/team-worker.toml +63 -0
- package/.codex/skills/codify-to-knowhow/SKILL.md +2 -2
- package/.codex/skills/maestro-analyze/SKILL.md +1 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +1 -1
- package/.codex/skills/maestro-collab/SKILL.md +1 -1
- package/.codex/skills/maestro-execute/SKILL.md +1 -1
- package/.codex/skills/maestro-help/SKILL.md +213 -0
- package/.codex/skills/maestro-help/catalog.json +182 -0
- package/.codex/skills/maestro-milestone-complete/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +1 -1
- package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
- package/.codex/skills/maestro-tools-execute/SKILL.md +12 -12
- package/.codex/skills/maestro-tools-register/SKILL.md +171 -144
- package/.codex/skills/maestro-ui-codify/SKILL.md +1 -1
- package/.codex/skills/maestro-verify/SKILL.md +1 -1
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow-capture/SKILL.md +18 -3
- package/.codex/skills/quality-auto-test/SKILL.md +2 -2
- package/.codex/skills/quality-debug/SKILL.md +2 -1
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-review/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +11 -1
- package/.codex/skills/spec-add/SKILL.md +104 -114
- package/.codex/skills/spec-load/SKILL.md +73 -73
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +5 -3
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +14 -5
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js +181 -0
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +0 -2
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +58 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +0 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +6 -23
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +0 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +0 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -36
- 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 +0 -5
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +0 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +2 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +7 -2
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +7 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +7 -9
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.d.ts +113 -0
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js +6 -0
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +4 -3
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +5 -5
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +3 -9
- package/dashboard/dist-server/src/tools/spec-entry-parser.js +9 -31
- package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.d.ts +5 -9
- package/dashboard/dist-server/src/tools/spec-loader.js +99 -52
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +5 -5
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +11 -8
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -14
- 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 +11 -20
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -14
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +0 -7
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +41 -81
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.d.ts +5 -5
- package/dist/src/hooks/wiki-role-loader.d.ts.map +1 -1
- package/dist/src/hooks/wiki-role-loader.js +6 -6
- package/dist/src/hooks/wiki-role-loader.js.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +3 -9
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +9 -31
- 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 +54 -73
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts +5 -9
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +99 -52
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts +1 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +2 -2
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +15 -6
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/package.json +4 -2
- package/workflows/analyze.md +2 -2
- package/workflows/auto-test.md +2 -2
- package/workflows/brainstorm.md +1 -1
- package/workflows/codebase-rebuild.md +1 -1
- package/workflows/codebase-refresh.md +1 -1
- package/workflows/debug.md +1 -1
- package/workflows/execute.md +3 -3
- package/workflows/integration-test.md +2 -2
- package/workflows/issue-discover.md +1 -1
- package/workflows/knowhow.md +2 -2
- package/workflows/learn.md +1 -1
- package/workflows/map.md +1 -1
- package/workflows/milestone-complete.md +2 -2
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +1 -1
- package/workflows/refactor.md +1 -1
- package/workflows/retrospective.md +3 -3
- package/workflows/review.md +1 -1
- package/workflows/roadmap-common.md +1 -1
- package/workflows/specs-add.md +2 -11
- package/workflows/specs-load.md +13 -14
- package/workflows/test-gen.md +1 -1
- package/workflows/tools-spec.md +27 -53
- package/workflows/ui-codify-knowhow.md +1 -1
- package/workflows/ui-codify.md +1 -1
- package/workflows/verify.md +1 -1
- package/.claude/commands/maestro-link-coordinate.md +0 -71
- package/.codex/skills/maestro-link-coordinate/SKILL.md +0 -257
package/workflows/knowhow.md
CHANGED
|
@@ -390,7 +390,7 @@ Atomic insights captured during active work.
|
|
|
390
390
|
|
|
391
391
|
## Entries
|
|
392
392
|
|
|
393
|
-
<spec-entry
|
|
393
|
+
<spec-entry category="coding" keywords="pattern,auth,jwt" date="2026-05-10" id="INS-abc123" source="manual">
|
|
394
394
|
|
|
395
395
|
### JWT refresh tokens must rotate on every use
|
|
396
396
|
|
|
@@ -402,7 +402,7 @@ Refresh-on-use prevents replay attacks.
|
|
|
402
402
|
|
|
403
403
|
</spec-entry>
|
|
404
404
|
|
|
405
|
-
<spec-entry
|
|
405
|
+
<spec-entry category="debug" keywords="gotcha,redis,cache" date="2026-05-11" id="INS-def456" source="retrospective">
|
|
406
406
|
|
|
407
407
|
### Redis MULTI is not truly transactional
|
|
408
408
|
|
package/workflows/learn.md
CHANGED
|
@@ -118,7 +118,7 @@ First match wins. If nothing matches, category = `technique`.
|
|
|
118
118
|
|
|
119
119
|
```
|
|
120
120
|
entry = <spec-entry
|
|
121
|
-
|
|
121
|
+
category="{category}"
|
|
122
122
|
keywords="{category},{parsed --keywords values joined by comma}"
|
|
123
123
|
date="{YYYY-MM-DD}"
|
|
124
124
|
id="INS-{hex}"
|
package/workflows/map.md
CHANGED
|
@@ -30,7 +30,7 @@ Spawn 4 parallel `workflow-codebase-mapper` agents, each writing to `.workflow/r
|
|
|
30
30
|
|
|
31
31
|
If `$ARGUMENTS` provided, pass as focus filter to each agent.
|
|
32
32
|
|
|
33
|
-
Load project specs: `maestro spec load --
|
|
33
|
+
Load project specs: `maestro spec load --category arch`
|
|
34
34
|
|
|
35
35
|
Each agent spawned in parallel as `workflow-codebase-mapper` subagent with specs context.
|
|
36
36
|
|
|
@@ -41,7 +41,7 @@ Archive completed milestone, move artifacts to history, and prepare for next.
|
|
|
41
41
|
## Step 2.5: Load Existing Learnings
|
|
42
42
|
|
|
43
43
|
```
|
|
44
|
-
existing_learnings = maestro spec load --
|
|
44
|
+
existing_learnings = maestro spec load --category coding
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
Check existing entries to avoid duplicates when appending in Step 3.
|
|
@@ -57,7 +57,7 @@ Check existing entries to avoid duplicates when appending in Step 3.
|
|
|
57
57
|
|
|
58
58
|
2. Aggregate learnings and append to `.workflow/specs/learnings.md` using `<spec-entry>` closed-tag format. Each entry (strategy adjustment, pattern, or pitfall) follows this template:
|
|
59
59
|
```
|
|
60
|
-
<spec-entry
|
|
60
|
+
<spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
|
|
61
61
|
|
|
62
62
|
### {summary}
|
|
63
63
|
|
package/workflows/plan.md
CHANGED
|
@@ -74,7 +74,7 @@ default → Create Mode: P1 → P2 → P3 → P4 → P4.5 → P5
|
|
|
74
74
|
|
|
75
75
|
3. **Load project specs**
|
|
76
76
|
```
|
|
77
|
-
specs_content = maestro spec load --
|
|
77
|
+
specs_content = maestro spec load --category arch
|
|
78
78
|
```
|
|
79
79
|
Pass to planner agent as project constraints context.
|
|
80
80
|
|
package/workflows/quick.md
CHANGED
|
@@ -204,7 +204,7 @@ Report: "Context captured: ${QUICK_DIR}/context.md"
|
|
|
204
204
|
### Step 4.5: Load Project Specs
|
|
205
205
|
|
|
206
206
|
```
|
|
207
|
-
specs_content = maestro spec load --
|
|
207
|
+
specs_content = maestro spec load --category coding
|
|
208
208
|
```
|
|
209
209
|
|
|
210
210
|
Passed inline to planner agent in Step 5.
|
package/workflows/refactor.md
CHANGED
|
@@ -39,7 +39,7 @@ Write index.json: id, type="refactor", title, status="active", scope, plan (empt
|
|
|
39
39
|
### Step 2.5: Load Project Specs
|
|
40
40
|
|
|
41
41
|
```
|
|
42
|
-
specs_content = maestro spec load --
|
|
42
|
+
specs_content = maestro spec load --category coding
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Used in Step 3 to detect pattern violations against project conventions.
|
|
@@ -385,7 +385,7 @@ Create learnings.md with frontmatter (title, type: spec, roles: [implement]) if
|
|
|
385
385
|
For each insight in `distilled_insights`, append a `<spec-entry>` to `.workflow/specs/learnings.md`:
|
|
386
386
|
|
|
387
387
|
```html
|
|
388
|
-
<spec-entry
|
|
388
|
+
<spec-entry category="{insight.category}" keywords="{insight.tags joined by comma}" date="{YYYY-MM-DD}" id="{insight.id}" source="retrospective">
|
|
389
389
|
|
|
390
390
|
### {insight.title}
|
|
391
391
|
|
|
@@ -408,7 +408,7 @@ Append learnings to `.workflow/specs/learnings.md` (shared with milestone-comple
|
|
|
408
408
|
|
|
409
409
|
```
|
|
410
410
|
Append each insight to .workflow/specs/learnings.md as <spec-entry> with:
|
|
411
|
-
|
|
411
|
+
category="learning", keywords (3-5 extracted), date, source="retrospective"
|
|
412
412
|
Body: title, summary, phase/lens/INS_id metadata
|
|
413
413
|
|
|
414
414
|
Create file with roles frontmatter + "## Entries" header if it does not exist.
|
|
@@ -499,7 +499,7 @@ If `mode == "range"` or `--all`, loop Stages 3-8 per phase, then print aggregate
|
|
|
499
499
|
### spec-entry (in specs/learnings.md)
|
|
500
500
|
|
|
501
501
|
```html
|
|
502
|
-
<spec-entry
|
|
502
|
+
<spec-entry category="coding" keywords="pattern,auth,jwt,security" date="2026-04-11" id="INS-a1b2c3d4" source="retrospective">
|
|
503
503
|
|
|
504
504
|
### JWT refresh tokens must rotate on every use
|
|
505
505
|
|
package/workflows/review.md
CHANGED
|
@@ -104,7 +104,7 @@ dimensions = --dimensions flag (comma-separated), or level defaults:
|
|
|
104
104
|
**Skip if `--skip-specs` flag is set.**
|
|
105
105
|
|
|
106
106
|
```
|
|
107
|
-
specs_content = maestro spec load --
|
|
107
|
+
specs_content = maestro spec load --category review
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
Pass specs_content to reviewer agents as quality standards context.
|
|
@@ -15,7 +15,7 @@ Block if `.workflow/worktree-scope.json` exists — must run from main worktree.
|
|
|
15
15
|
### Load Specs
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
specs_content = maestro spec load --
|
|
18
|
+
specs_content = maestro spec load --category arch
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Ensure phases respect architectural constraints.
|
package/workflows/specs-add.md
CHANGED
|
@@ -5,12 +5,11 @@ Add a `<spec-entry>` closed-tag entry to a single target spec file by category.
|
|
|
5
5
|
## Arguments
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
$ARGUMENTS: "[--scope <scope>] [--uid <uid>]
|
|
8
|
+
$ARGUMENTS: "[--scope <scope>] [--uid <uid>] <category> <content>"
|
|
9
9
|
|
|
10
10
|
--scope -- target scope: project (default) | global | team | personal
|
|
11
11
|
--uid -- user id for personal scope (auto-detected from git if omitted)
|
|
12
|
-
--
|
|
13
|
-
category -- one of: coding, arch, quality, debug, test, review, learning, tools
|
|
12
|
+
category -- one of: coding, arch, quality, debug, test, review, learning
|
|
14
13
|
content -- free-text description of the entry
|
|
15
14
|
```
|
|
16
15
|
|
|
@@ -34,7 +33,6 @@ content -- free-text description of the entry
|
|
|
34
33
|
| `test` | `test-conventions.md` |
|
|
35
34
|
| `review` | `review-standards.md` |
|
|
36
35
|
| `learning` | `learnings.md` |
|
|
37
|
-
| `tools` | `tools.md` |
|
|
38
36
|
|
|
39
37
|
## Prerequisites
|
|
40
38
|
|
|
@@ -85,13 +83,6 @@ Auto-extract 3-5 relevant keywords from the content:
|
|
|
85
83
|
```
|
|
86
84
|
Entry format (closed-tag), date = YYYY-MM-DD, title = first meaningful phrase:
|
|
87
85
|
|
|
88
|
-
When --roles provided (new format):
|
|
89
|
-
<spec-entry roles="{role1},{role2}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}">
|
|
90
|
-
### {title}
|
|
91
|
-
{content}
|
|
92
|
-
</spec-entry>
|
|
93
|
-
|
|
94
|
-
When --roles not provided (legacy format):
|
|
95
86
|
<spec-entry category="{category}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}">
|
|
96
87
|
### {title}
|
|
97
88
|
{content}
|
package/workflows/specs-load.md
CHANGED
|
@@ -5,12 +5,12 @@ Load spec files filtered by category. Supports project, global, team, and person
|
|
|
5
5
|
## Arguments
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
$ARGUMENTS: "[--scope <scope>] [--uid <uid>] [--
|
|
8
|
+
$ARGUMENTS: "[--scope <scope>] [--uid <uid>] [--category <category>] [keyword]"
|
|
9
9
|
|
|
10
10
|
--scope -- load scope: project (default) | global | team | personal
|
|
11
11
|
--uid -- user id for personal scope (auto-detected from git if omitted)
|
|
12
|
-
--
|
|
13
|
-
Loads primary
|
|
12
|
+
--category -- filter by category: coding | arch | test | review | debug | quality | learning
|
|
13
|
+
Loads category's primary doc in full + cross-file entries with matching category attr
|
|
14
14
|
keyword -- optional, grep within loaded specs for matching sections
|
|
15
15
|
```
|
|
16
16
|
|
|
@@ -18,18 +18,17 @@ keyword -- optional, grep within loaded specs for matching sections
|
|
|
18
18
|
|
|
19
19
|
Each category loads exactly one file per layer. Same mapping as spec-add.
|
|
20
20
|
|
|
21
|
-
## File → Primary
|
|
21
|
+
## File → Primary Category Mapping
|
|
22
22
|
|
|
23
|
-
| File |
|
|
24
|
-
|
|
25
|
-
| `coding-conventions.md` |
|
|
26
|
-
| `architecture-constraints.md` |
|
|
23
|
+
| File | Category |
|
|
24
|
+
|------|----------|
|
|
25
|
+
| `coding-conventions.md` | coding |
|
|
26
|
+
| `architecture-constraints.md` | arch |
|
|
27
27
|
| `test-conventions.md` | test |
|
|
28
28
|
| `review-standards.md` | review |
|
|
29
|
-
| `debug-notes.md` |
|
|
30
|
-
| `quality-rules.md` |
|
|
31
|
-
| `learnings.md` |
|
|
32
|
-
| `tools.md` | _(per-entry roles)_ |
|
|
29
|
+
| `debug-notes.md` | debug |
|
|
30
|
+
| `quality-rules.md` | quality |
|
|
31
|
+
| `learnings.md` | learning |
|
|
33
32
|
|
|
34
33
|
## Layer Order by Scope
|
|
35
34
|
|
|
@@ -46,12 +45,12 @@ Each layer is prefixed with a section header when multi-layer.
|
|
|
46
45
|
|
|
47
46
|
### Step 1: Parse Arguments
|
|
48
47
|
|
|
49
|
-
Extract `--scope`, `--uid`, `--
|
|
48
|
+
Extract `--scope`, `--uid`, `--category <category>` and remaining text (keyword for grep).
|
|
50
49
|
|
|
51
50
|
### Step 2: Load Specs via CLI
|
|
52
51
|
|
|
53
52
|
```bash
|
|
54
|
-
maestro spec load --scope <scope> [--uid <uid>] [--
|
|
53
|
+
maestro spec load --scope <scope> [--uid <uid>] [--category <category>] [--keyword <word>]
|
|
55
54
|
```
|
|
56
55
|
|
|
57
56
|
If `maestro spec load` CLI is unavailable, read files directly from the resolved directory.
|
package/workflows/test-gen.md
CHANGED
|
@@ -9,7 +9,7 @@ Tests expose bugs -- fixing is for quality-debug or maestro-execute.
|
|
|
9
9
|
### Step 0: Load Project Specs
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
specs_content = maestro spec load --
|
|
12
|
+
specs_content = maestro spec load --category test
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Follow project test conventions in Step 4 (Generate Test Plan) and Step 5 (Write Tests).
|
package/workflows/tools-spec.md
CHANGED
|
@@ -4,48 +4,19 @@ Shared reference for tool spec registration and execution commands.
|
|
|
4
4
|
|
|
5
5
|
## Storage
|
|
6
6
|
|
|
7
|
-
Tool specs are stored in `.workflow/
|
|
7
|
+
Tool specs are stored as knowhow documents in `.workflow/knowhow/` with `tool: true` in YAML frontmatter. Tool registration creates new knowhow files or promotes existing ones (via frontmatter update). The `category` field determines which `spec load --category` queries match this tool.
|
|
8
8
|
|
|
9
9
|
## Entry Format
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```xml
|
|
14
|
-
<spec-entry roles="implement,test" keywords="payment,gateway,idempotency" date="YYYY-MM-DD">
|
|
15
|
-
|
|
16
|
-
### Tool Name
|
|
17
|
-
|
|
18
|
-
Use when {trigger condition / timing}.
|
|
19
|
-
|
|
20
|
-
1. Step one
|
|
21
|
-
2. Step two
|
|
22
|
-
...
|
|
23
|
-
|
|
24
|
-
</spec-entry>
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Ref mode (long process, >=10 steps or with code examples)
|
|
28
|
-
|
|
29
|
-
Spec index entry in `tools.md`:
|
|
30
|
-
```xml
|
|
31
|
-
<spec-entry roles="implement" keywords="oauth,pkce,token" date="YYYY-MM-DD"
|
|
32
|
-
ref="knowhow/RCP-<slug>.md">
|
|
33
|
-
|
|
34
|
-
### Tool Name
|
|
35
|
-
|
|
36
|
-
Use when {trigger condition}. {scope summary — must fit within 200 chars for spec load display}.
|
|
37
|
-
|
|
38
|
-
</spec-entry>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Referenced knowhow document (`knowhow/RCP-<slug>.md`):
|
|
11
|
+
Knowhow document (`knowhow/RCP-<slug>.md`):
|
|
42
12
|
```yaml
|
|
43
13
|
---
|
|
44
14
|
title: Tool Name
|
|
45
15
|
type: recipe
|
|
16
|
+
tool: true
|
|
46
17
|
summary: "Use when {timing}. {scope description}"
|
|
47
18
|
tags: [keyword1, keyword2]
|
|
48
|
-
|
|
19
|
+
category: coding
|
|
49
20
|
---
|
|
50
21
|
|
|
51
22
|
## Prerequisites
|
|
@@ -64,35 +35,38 @@ roles: [implement]
|
|
|
64
35
|
## Discovery Path
|
|
65
36
|
|
|
66
37
|
```
|
|
67
|
-
Register
|
|
38
|
+
Register (knowhow/ + tool: true) → spec load --category / spec-injector auto-inject → agent discovers tool
|
|
68
39
|
```
|
|
69
40
|
|
|
70
41
|
Agents discover tool specs via:
|
|
71
|
-
- `spec load --
|
|
72
|
-
- `spec-injector` hook — auto-injects at Agent launch based on agent type
|
|
73
|
-
- `spec load --keyword <word>` — keyword search across all entries
|
|
42
|
+
- `spec load --category <category>` — scans knowhow/ for `category + tool: true` matches
|
|
43
|
+
- `spec-injector` hook — auto-injects at Agent launch based on agent type → category mapping
|
|
44
|
+
- `spec load --keyword <word>` — keyword search across all entries (cross-category)
|
|
45
|
+
|
|
46
|
+
## Category Reference
|
|
47
|
+
|
|
48
|
+
`category` = **who consumes** (agent type), not what the content is about.
|
|
74
49
|
|
|
75
|
-
|
|
50
|
+
| Category | Consumer Agent | Decision Question | Signal Words |
|
|
51
|
+
|---|---|---|---|
|
|
52
|
+
| coding | code-developer, workflow-executor | 开发者实现时需要? | build, deploy, integrate, configure, api-contract |
|
|
53
|
+
| test | tdd-developer, test-fix-agent | 测试者验证时需要? | verify, validate, e2e, regression, idempotency |
|
|
54
|
+
| review | workflow-reviewer | 审查者检查时需要? | audit, checklist, compliance, quality-gate |
|
|
55
|
+
| arch | workflow-planner | 规划者设计时需要? | design, architecture, decompose, blueprint |
|
|
56
|
+
| debug | debug-explore-agent | 调试者排查时需要? | diagnose, trace, root-cause, reproduce |
|
|
76
57
|
|
|
77
|
-
|
|
78
|
-
|------|-------------|---------------|
|
|
79
|
-
| implement | code-developer, workflow-executor | Build, deploy, integrate |
|
|
80
|
-
| test | tdd-developer, test-fix-agent | Test flows, verification steps |
|
|
81
|
-
| review | workflow-reviewer | Checklists, audit standards |
|
|
82
|
-
| plan | workflow-planner | Design flows, analysis steps |
|
|
83
|
-
| analyze | debug-explore-agent | Diagnostic flows, investigation |
|
|
58
|
+
**Multi-consumer**: If tool serves multiple agents, split into separate docs with different categories.
|
|
84
59
|
|
|
85
60
|
## CLI Commands
|
|
86
61
|
|
|
87
62
|
```bash
|
|
88
|
-
#
|
|
89
|
-
maestro
|
|
63
|
+
# Register new tool as knowhow document
|
|
64
|
+
maestro knowhow add "knowhow/RCP-<slug>.md" --type recipe --tool
|
|
90
65
|
|
|
91
|
-
#
|
|
92
|
-
maestro
|
|
93
|
-
--ref "knowhow/RCP-<slug>.md" --knowhow-type recipe
|
|
66
|
+
# Promote existing knowhow to tool (in place)
|
|
67
|
+
maestro wiki update <id> --frontmatter '{"tool": true, "category": "<cat>", "summary": "..."}'
|
|
94
68
|
|
|
95
|
-
# Load
|
|
96
|
-
maestro spec load --
|
|
97
|
-
maestro spec load --
|
|
69
|
+
# Load specs by category
|
|
70
|
+
maestro spec load --category <category>
|
|
71
|
+
maestro spec load --category <category> --keyword <word>
|
|
98
72
|
```
|
package/workflows/ui-codify.md
CHANGED
|
@@ -220,6 +220,6 @@ Open preview:
|
|
|
220
220
|
file://{absolute_path}/preview.html
|
|
221
221
|
|
|
222
222
|
Next steps:
|
|
223
|
-
maestro wiki list --
|
|
223
|
+
maestro wiki list --category coding # Browse by category
|
|
224
224
|
maestro spec load --keyword {package_name} # Load related specs
|
|
225
225
|
```
|
package/workflows/verify.md
CHANGED
|
@@ -42,7 +42,7 @@ Milestone mode creates output dir: .workflow/scratch/verify-{milestone_slug}-{da
|
|
|
42
42
|
## V0: Load Project Specs
|
|
43
43
|
|
|
44
44
|
```
|
|
45
|
-
specs_content = maestro spec load --
|
|
45
|
+
specs_content = maestro spec load --category review
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
Pass specs_content to verifier agent as quality standards context.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-link-coordinate
|
|
3
|
-
description: Execute command chain nodes step by step
|
|
4
|
-
argument-hint: "\"intent text\" [--list] [-c [sessionId]] [--chain <name>] [--tool <tool>] [-y]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Step-mode workflow coordinator using `maestro coordinate` CLI subcommands (start/next/status).
|
|
16
|
-
Walks chain graphs node by node — each command node executed via `maestro delegate` internally.
|
|
17
|
-
Decision/gate/eval nodes auto-resolve between steps. Session persisted for resume.
|
|
18
|
-
</purpose>
|
|
19
|
-
|
|
20
|
-
<required_reading>
|
|
21
|
-
@~/.maestro/workflows/maestro-link-coordinate.md
|
|
22
|
-
</required_reading>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
$ARGUMENTS — user intent text, or flags.
|
|
26
|
-
|
|
27
|
-
**Flags:**
|
|
28
|
-
- `--list` — List all available chain graphs
|
|
29
|
-
- `-c` / `--continue [sessionId]` — Resume step_paused session via `coordinate next`
|
|
30
|
-
- `--chain <name>` — Force a specific chain graph
|
|
31
|
-
- `--tool <tool>` — CLI tool override (default: claude)
|
|
32
|
-
- `-y` / `--yes` — Auto mode
|
|
33
|
-
|
|
34
|
-
**CLI endpoints used:**
|
|
35
|
-
- `maestro coordinate list` — enumerate chains
|
|
36
|
-
- `maestro coordinate start "intent" --chain X` — begin step-mode session
|
|
37
|
-
- `maestro coordinate next [sessionId]` — advance one step
|
|
38
|
-
- `maestro coordinate status [sessionId]` — query state
|
|
39
|
-
- `maestro coordinate run "intent"` — autonomous full run
|
|
40
|
-
- `maestro coordinate watch <sessionId> [--follow]` — read-only event tail (separate from driver loop)
|
|
41
|
-
- `maestro coordinate report` — agent-invoked command-node result writer (authoritative result channel)
|
|
42
|
-
|
|
43
|
-
**Internal walker capabilities (invisible to driver loop):**
|
|
44
|
-
- Prompt assembly owned by the walker (main flow) for both command and decision nodes
|
|
45
|
-
- Decision nodes auto-resolve via `strategy: 'expr'` (fast path) with LLM decider fallback when expr has no match and no default edge, or explicit `strategy: 'llm'`
|
|
46
|
-
- Walker events published to a file/SQLite broker for `watch` observers
|
|
47
|
-
- LLM decision in step mode is synchronous — avoid tight per-step deadlines
|
|
48
|
-
</context>
|
|
49
|
-
|
|
50
|
-
<execution>
|
|
51
|
-
Follow '~/.maestro/workflows/maestro-link-coordinate.md' completely.
|
|
52
|
-
</execution>
|
|
53
|
-
|
|
54
|
-
<error_codes>
|
|
55
|
-
| Code | Severity | Description | Recovery |
|
|
56
|
-
|------|----------|-------------|----------|
|
|
57
|
-
| E001 | error | No intent and no --list/--chain | Suggest --list |
|
|
58
|
-
| E002 | error | Chain graph not found | Show list output |
|
|
59
|
-
| E003 | error | Step execution failed | Check status, retry next |
|
|
60
|
-
| E004 | error | Resume session not found | List sessions |
|
|
61
|
-
| E005 | error | CLI endpoint unavailable | Check maestro installation |
|
|
62
|
-
</error_codes>
|
|
63
|
-
|
|
64
|
-
<success_criteria>
|
|
65
|
-
- [ ] Chain graph loaded via `maestro coordinate start`
|
|
66
|
-
- [ ] Each step executed via `maestro coordinate next` loop
|
|
67
|
-
- [ ] JSON output parsed for session tracking
|
|
68
|
-
- [ ] Decision nodes auto-resolved between steps
|
|
69
|
-
- [ ] Session persisted and resumable via `-c`
|
|
70
|
-
- [ ] Completion summary displayed
|
|
71
|
-
</success_criteria>
|