maestro-flow 0.3.44 → 0.3.45
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 +1 -1
- package/.claude/commands/maestro-plan.md +1 -1
- package/.claude/commands/maestro-tools-execute.md +14 -14
- package/.claude/commands/maestro-tools-register.md +25 -26
- package/.claude/commands/quality-debug.md +1 -1
- package/.claude/commands/quality-review.md +1 -1
- 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/.codex/skills/codify-to-knowhow/SKILL.md +2 -2
- package/.codex/skills/maestro-analyze/SKILL.md +1 -1
- package/.codex/skills/maestro-collab/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-complete/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +1 -1
- package/.codex/skills/maestro-tools-execute/SKILL.md +12 -12
- package/.codex/skills/maestro-tools-register/SKILL.md +149 -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/quality-auto-test/SKILL.md +2 -2
- package/.codex/skills/quality-refactor/SKILL.md +1 -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/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/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/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.js +4 -4
- 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 +10 -10
- 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/package.json +1 -1
- 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 +17 -50
- package/workflows/ui-codify-knowhow.md +1 -1
- package/workflows/ui-codify.md +1 -1
- package/workflows/verify.md +1 -1
|
@@ -134,7 +134,7 @@ Build the decomposition report grouped by dimension:
|
|
|
134
134
|
|
|
135
135
|
### Stage 6: Persist
|
|
136
136
|
1. Write `.workflow/knowhow/KNW-decompose-{slug}-{date}.md`
|
|
137
|
-
2. Append each **new** pattern as a `<spec-entry>` block to `specs/learnings.md` via `maestro spec add learning --
|
|
137
|
+
2. Append each **new** pattern as a `<spec-entry>` block to `specs/learnings.md` via `maestro spec add learning --body "<content>" --keywords "decompose,pattern,{dimension},{target-slug}"`:
|
|
138
138
|
- Stable INS-id from `hash("decompose" + target + pattern_name)`
|
|
139
139
|
4. If `--save-spec`: for each new pattern, invoke `Skill({ skill: "spec-add", args: "pattern {description}" })`
|
|
140
140
|
5. If `--save-wiki`: create wiki note per dimension group via `maestro wiki create --type note --slug decompose-{dimension}-{slug}`
|
|
@@ -124,7 +124,7 @@ Build a structured summary document:
|
|
|
124
124
|
|
|
125
125
|
### Stage 7: Persist
|
|
126
126
|
1. Write `.workflow/knowhow/KNW-follow-{slug}-{date}.md` with the understanding map
|
|
127
|
-
2. Append each new pattern/technique as a `<spec-entry>` block to `specs/learnings.md` via `maestro spec add learning --
|
|
127
|
+
2. Append each new pattern/technique as a `<spec-entry>` block to `specs/learnings.md` via `maestro spec add learning --body "<content>" --keywords "follow,{target-slug}"`:
|
|
128
128
|
- Stable INS-id from `hash("follow" + target + pattern_name)`
|
|
129
129
|
3. If `--save-wiki`: run `maestro wiki create --type note --slug follow-{slug} --title "Follow-Along: {target}" --body-file .workflow/knowhow/KNW-follow-{slug}-{date}.md`
|
|
130
130
|
5. Display summary with key findings and next steps
|
|
@@ -178,7 +178,7 @@ Write final `report.md`:
|
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
### Stage 8: Persist
|
|
181
|
-
1. Append findings as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --
|
|
181
|
+
1. Append findings as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --body "<content>" --keywords "investigate,{question-slug}"`:
|
|
182
182
|
- Confirmed hypotheses → `roles="implement"` (merge "technique"/"pattern" into keywords)
|
|
183
183
|
- Disproved hypotheses → `roles="analyze"` (merge "gotcha" into keywords)
|
|
184
184
|
- Stable INS-id from `hash("investigate" + question + finding_title)`
|
|
@@ -248,7 +248,7 @@ Write `.workflow/knowhow/KNW-retro-{date}.json` with structured data.
|
|
|
248
248
|
|
|
249
249
|
### Stage 5: Persist
|
|
250
250
|
1. Write report files
|
|
251
|
-
2. Append insights as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --
|
|
251
|
+
2. Append insights as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --body "<content>" --keywords "<kw>"`:
|
|
252
252
|
- Git insights: source="retro-git", roles per insight type
|
|
253
253
|
- Decision insights: source="retro-decision", roles="plan" (merge "decision" into keywords)
|
|
254
254
|
- Stable INS-id from `hash(lens + metric_or_decision + date)`
|
|
@@ -128,7 +128,7 @@ Across all perspectives (or from single agent in challenge/consult):
|
|
|
128
128
|
- Per-persona findings (review) / adversarial analysis (challenge) / Q&A transcript (consult)
|
|
129
129
|
- Synthesis: agreements, disagreements, verdict
|
|
130
130
|
- Recommendations
|
|
131
|
-
2. Append non-trivial findings as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --
|
|
131
|
+
2. Append non-trivial findings as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --body "<content>" --keywords "second-opinion,{mode},{target-slug}"`
|
|
132
132
|
4. Display summary with verdict and recommendations
|
|
133
133
|
|
|
134
134
|
**Next-step routing:**
|
|
@@ -44,7 +44,7 @@ Scope routing, output directory format, artifact registration schema, and output
|
|
|
44
44
|
|
|
45
45
|
### Role Knowledge
|
|
46
46
|
1. Browse accumulated knowledge for this role:
|
|
47
|
-
`maestro wiki list --
|
|
47
|
+
`maestro wiki list --category debug`
|
|
48
48
|
2. Analyze the index, identify entries relevant to the current task
|
|
49
49
|
3. Load selected documents:
|
|
50
50
|
`maestro wiki load <id1> [id2] [id3...]`
|
|
@@ -47,7 +47,7 @@ $ARGUMENTS -- topic text for auto mode, or role name for single role mode.
|
|
|
47
47
|
|
|
48
48
|
### Role Knowledge
|
|
49
49
|
1. Browse accumulated knowledge for this role:
|
|
50
|
-
`maestro wiki list --
|
|
50
|
+
`maestro wiki list --category arch`
|
|
51
51
|
2. Analyze the index, identify entries relevant to the current task
|
|
52
52
|
3. Load selected documents:
|
|
53
53
|
`maestro wiki load <id1> [id2] [id3...]`
|
|
@@ -40,7 +40,7 @@ Scope routing, flags, resolution logic, output directory format, artifact regist
|
|
|
40
40
|
|
|
41
41
|
### Role Knowledge
|
|
42
42
|
1. Browse accumulated knowledge for this role:
|
|
43
|
-
`maestro wiki list --
|
|
43
|
+
`maestro wiki list --category coding`
|
|
44
44
|
2. Analyze the index, identify entries relevant to the current task
|
|
45
45
|
3. Load selected documents:
|
|
46
46
|
`maestro wiki load <id1> [id2] [id3...]`
|
|
@@ -48,7 +48,7 @@ Scope routing, base flags (`--collab`, `--spec`, `-y`, `--gaps`, `--dir`), outpu
|
|
|
48
48
|
|
|
49
49
|
### Role Knowledge
|
|
50
50
|
1. Browse accumulated knowledge for this role:
|
|
51
|
-
`maestro wiki list --
|
|
51
|
+
`maestro wiki list --category arch`
|
|
52
52
|
2. Analyze the index, identify entries relevant to the current task
|
|
53
53
|
3. Load selected documents:
|
|
54
54
|
`maestro wiki load <id1> [id2] [id3...]`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-tools-execute
|
|
3
|
-
description: Load and execute tool specs by
|
|
4
|
-
argument-hint: "[tool-name | --
|
|
3
|
+
description: Load and execute tool specs by category or name
|
|
4
|
+
argument-hint: "[tool-name | --category <category>]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -13,10 +13,10 @@ allowed-tools:
|
|
|
13
13
|
- Agent
|
|
14
14
|
---
|
|
15
15
|
<purpose>
|
|
16
|
-
Load registered tool
|
|
16
|
+
Load registered tool documents and execute them step-by-step. Two invocation modes:
|
|
17
17
|
|
|
18
18
|
1. **Direct** — Specify tool name, load full steps, execute sequentially
|
|
19
|
-
2. **
|
|
19
|
+
2. **Category-based** — List available tools for a category, user selects, then execute
|
|
20
20
|
|
|
21
21
|
Execution follows the tool definition steps in order, reporting progress per step and asking user on blockers.
|
|
22
22
|
</purpose>
|
|
@@ -26,13 +26,13 @@ Execution follows the tool definition steps in order, reporting progress per ste
|
|
|
26
26
|
</required_reading>
|
|
27
27
|
|
|
28
28
|
<context>
|
|
29
|
-
$ARGUMENTS — Tool name, keyword, or --
|
|
29
|
+
$ARGUMENTS — Tool name, keyword, or --category filter
|
|
30
30
|
|
|
31
31
|
**Examples**:
|
|
32
32
|
```
|
|
33
33
|
/maestro-tools-execute integration-test
|
|
34
|
-
/maestro-tools-execute --
|
|
35
|
-
/maestro-tools-execute --
|
|
34
|
+
/maestro-tools-execute --category coding
|
|
35
|
+
/maestro-tools-execute --category review --keyword api
|
|
36
36
|
/maestro-tools-execute
|
|
37
37
|
```
|
|
38
38
|
|
|
@@ -45,23 +45,23 @@ Empty arguments enters interactive mode: list all tools for user selection.
|
|
|
45
45
|
|
|
46
46
|
**By name**:
|
|
47
47
|
```bash
|
|
48
|
-
maestro spec load --
|
|
48
|
+
maestro spec load --category coding --keyword <name>
|
|
49
49
|
```
|
|
50
|
-
Match
|
|
50
|
+
Match knowhow documents with `tool: true` whose title or keywords contain the name.
|
|
51
51
|
|
|
52
|
-
**By
|
|
52
|
+
**By category**:
|
|
53
53
|
```bash
|
|
54
|
-
maestro spec load --
|
|
54
|
+
maestro spec load --category <category>
|
|
55
55
|
```
|
|
56
|
-
Extract
|
|
56
|
+
Extract tool entries from the "Available Tools" section in output.
|
|
57
57
|
|
|
58
58
|
**Empty args**:
|
|
59
|
-
Load all
|
|
59
|
+
Load all categories, collect tool entries, present to user with AskUserQuestion for selection.
|
|
60
60
|
|
|
61
61
|
### Step 2: Display Tool
|
|
62
62
|
|
|
63
63
|
Show tool information:
|
|
64
|
-
- Name,
|
|
64
|
+
- Name, category, keywords
|
|
65
65
|
- Steps overview (for ref entries, expand knowhow detail first)
|
|
66
66
|
|
|
67
67
|
Expand ref entries:
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
- Agent
|
|
14
14
|
---
|
|
15
15
|
<purpose>
|
|
16
|
-
Codify reusable business processes as tool
|
|
16
|
+
Codify reusable business processes as knowhow documents with `tool: true` in `.workflow/knowhow/`. Once registered, tools are auto-discovered by `spec load --category` and spec-injector — plan agents pick up design/architecture flows, test agents pick up verification methods, implement agents pick up execution steps.
|
|
17
17
|
|
|
18
18
|
When to register: during planning to standardize a business process (e.g. payment reconciliation, OAuth integration steps); after execution to capture a validated procedure (e.g. database migration rollback); before testing to register verification methods for test agents (e.g. E2E checkout flow, API idempotency verification); during retrospective/harvest to extract reusable process knowledge from artifacts.
|
|
19
19
|
|
|
@@ -31,8 +31,8 @@ $ARGUMENTS — Intent description
|
|
|
31
31
|
**Examples**:
|
|
32
32
|
```
|
|
33
33
|
/maestro-tools-register extract OAuth PKCE token exchange flow from src/auth/
|
|
34
|
-
/maestro-tools-register generate Stripe webhook idempotency verification
|
|
35
|
-
/maestro-tools-register generate E2E checkout flow with payment gateway mock setup
|
|
34
|
+
/maestro-tools-register generate Stripe webhook idempotency verification
|
|
35
|
+
/maestro-tools-register generate E2E checkout flow with payment gateway mock setup
|
|
36
36
|
/maestro-tools-register optimize e2e-checkout tool
|
|
37
37
|
```
|
|
38
38
|
</context>
|
|
@@ -58,19 +58,19 @@ Parse $ARGUMENTS to determine mode:
|
|
|
58
58
|
- If unclear, ask user with AskUserQuestion
|
|
59
59
|
|
|
60
60
|
**Optimize mode**:
|
|
61
|
-
- Load existing tool: `maestro spec load --
|
|
61
|
+
- Load existing tool: `maestro spec load --category coding --keyword <name>`
|
|
62
62
|
- Analyze improvement points (step splitting, prerequisites, error handling)
|
|
63
63
|
|
|
64
64
|
**For all modes** — identify the usage timing: when should an agent or user invoke this tool? This becomes the first line of the entry description (see Step 5).
|
|
65
65
|
|
|
66
|
-
### Step 3: Determine
|
|
66
|
+
### Step 3: Determine Category
|
|
67
67
|
|
|
68
|
-
Infer applicable
|
|
69
|
-
-
|
|
68
|
+
Infer applicable category from context, or ask user:
|
|
69
|
+
- coding — execution tools (build, deploy, integrate)
|
|
70
70
|
- test — testing tools (test flows, verification steps)
|
|
71
71
|
- review — review tools (checklists, audit standards)
|
|
72
|
-
-
|
|
73
|
-
-
|
|
72
|
+
- arch — planning tools (design flows, analysis steps)
|
|
73
|
+
- debug — analysis tools (diagnostic flows, investigation steps)
|
|
74
74
|
|
|
75
75
|
### Step 4: Decide Inline vs Ref
|
|
76
76
|
|
|
@@ -89,32 +89,31 @@ Use when {timing/trigger condition}.
|
|
|
89
89
|
1. Step one ...
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
-
**
|
|
93
|
-
```bash
|
|
94
|
-
maestro spec add tools "<title>" "Use when <timing>.\n\n1. <step1>\n2. <step2>" --roles "<csv>" --keywords "<csv>"
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**Ref mode**:
|
|
98
|
-
1. Generate knowhow detail document (RCP- or DOC- prefix). YAML frontmatter must include `summary` with usage timing — this is what `wiki list` and wiki-role-loader show to agents:
|
|
92
|
+
**Create knowhow tool document** in `.workflow/knowhow/` with `tool: true` in YAML frontmatter:
|
|
99
93
|
```yaml
|
|
100
94
|
---
|
|
101
95
|
title: <Title>
|
|
102
96
|
type: recipe
|
|
97
|
+
category: <category>
|
|
98
|
+
keywords: [<keywords>]
|
|
99
|
+
tool: true
|
|
103
100
|
summary: "Use when <timing>. <scope description>"
|
|
104
|
-
tags: [<keywords>]
|
|
105
|
-
roles: [<roles>]
|
|
106
101
|
---
|
|
102
|
+
|
|
103
|
+
## Steps
|
|
104
|
+
1. Step one ...
|
|
107
105
|
```
|
|
108
|
-
|
|
106
|
+
|
|
107
|
+
**Optionally register spec ref entry** for index discoverability:
|
|
109
108
|
```bash
|
|
110
|
-
maestro spec add
|
|
109
|
+
maestro spec add <category> "<title>" "Use when <timing>. <scope summary>" --keywords "<csv>" \
|
|
111
110
|
--ref "knowhow/RCP-<slug>.md" --knowhow-type recipe
|
|
112
111
|
```
|
|
113
112
|
|
|
114
113
|
### Step 6: Verify
|
|
115
114
|
|
|
116
|
-
- `maestro spec load --
|
|
117
|
-
- Display result: title,
|
|
115
|
+
- `maestro spec load --category <category> --keyword <keyword>` to confirm loadable
|
|
116
|
+
- Display result: title, category, keywords, storage location
|
|
118
117
|
|
|
119
118
|
</execution>
|
|
120
119
|
|
|
@@ -123,15 +122,15 @@ maestro spec add tools "<title>" "Use when <timing>. <scope summary>" --roles "<
|
|
|
123
122
|
|------|----------|-------------|
|
|
124
123
|
| E001 | fatal | `.workflow/specs/` does not exist — run `maestro spec init` |
|
|
125
124
|
| E002 | warning | Duplicate tool name detected — confirm overwrite/optimize |
|
|
126
|
-
| E003 | fatal |
|
|
125
|
+
| E003 | fatal | category parameter empty — tools must declare a category |
|
|
127
126
|
</error_codes>
|
|
128
127
|
|
|
129
128
|
<success_criteria>
|
|
130
|
-
- [ ] Tool
|
|
131
|
-
- [ ]
|
|
129
|
+
- [ ] Tool registered as knowhow document with `tool: true` frontmatter
|
|
130
|
+
- [ ] category correctly set
|
|
132
131
|
- [ ] keywords auto-extracted (3-5 terms)
|
|
133
132
|
- [ ] Description starts with "Use when ..." (usage timing)
|
|
134
|
-
- [ ] Loadable via `spec load --
|
|
133
|
+
- [ ] Loadable via `spec load --category <category>`
|
|
135
134
|
- [ ] Long processes use ref mode with knowhow file created
|
|
136
135
|
- [ ] Ref knowhow YAML includes `summary` with usage timing
|
|
137
136
|
</success_criteria>
|
|
@@ -51,7 +51,7 @@ Extract conclusions from related artifacts that may affect this debug session
|
|
|
51
51
|
|
|
52
52
|
### Role Knowledge
|
|
53
53
|
1. Browse accumulated knowledge for this role:
|
|
54
|
-
`maestro wiki list --
|
|
54
|
+
`maestro wiki list --category debug`
|
|
55
55
|
2. Analyze the index, identify entries relevant to the current task
|
|
56
56
|
3. Load selected documents:
|
|
57
57
|
`maestro wiki load <id1> [id2] [id3...]`
|
|
@@ -56,7 +56,7 @@ Extract conclusions from related artifacts that may affect this review. Pass as
|
|
|
56
56
|
|
|
57
57
|
### Role Knowledge
|
|
58
58
|
1. Browse accumulated knowledge for this role:
|
|
59
|
-
`maestro wiki list --
|
|
59
|
+
`maestro wiki list --category review`
|
|
60
60
|
2. Analyze the index, identify entries relevant to the current task
|
|
61
61
|
3. Load selected documents:
|
|
62
62
|
`maestro wiki load <id1> [id2] [id3...]`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-add
|
|
3
3
|
description: Add spec entry by category with role tagging
|
|
4
|
-
argument-hint: "[--scope project|global|team|personal]
|
|
4
|
+
argument-hint: "[--scope project|global|team|personal] <category> <content>"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
Add a knowledge entry to the specs system using `<spec-entry>` closed-tag format.
|
|
14
14
|
Each category maps 1:1 to a single target file — no dual-write.
|
|
15
15
|
Supports 4 scopes: project (default), global, team, personal.
|
|
16
|
-
Entries use `
|
|
16
|
+
Entries use `category` attribute to declare which category they belong to.
|
|
17
17
|
</purpose>
|
|
18
18
|
|
|
19
19
|
<required_reading>
|
|
@@ -21,10 +21,9 @@ Entries use `roles` attribute to declare which agent roles should load them.
|
|
|
21
21
|
</required_reading>
|
|
22
22
|
|
|
23
23
|
<context>
|
|
24
|
-
$ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>]
|
|
24
|
+
$ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>] <category> <content>`
|
|
25
25
|
|
|
26
26
|
**Options:**
|
|
27
|
-
- `--roles <csv>` — Comma-separated roles (implement, plan, test, review, analyze, explore). Determines which agents load this entry via `spec load --role`.
|
|
28
27
|
- `--ref <path>` — Create as index entry referencing a knowhow document. If the path exists, only creates the spec index entry. If path doesn't exist, also creates the knowhow file.
|
|
29
28
|
- `--knowhow-type <type>` — Knowhow document type when creating with --ref (asset, blueprint, document, template, recipe, reference, decision)
|
|
30
29
|
|
|
@@ -32,16 +31,12 @@ Scope-to-directory mapping, category-to-file mapping, and entry format defined i
|
|
|
32
31
|
|
|
33
32
|
**Examples:**
|
|
34
33
|
```bash
|
|
35
|
-
#
|
|
36
|
-
/spec-add
|
|
34
|
+
# Standard spec entry
|
|
35
|
+
/spec-add coding "Named exports" "Always use named exports" --keywords "exports,naming"
|
|
37
36
|
|
|
38
|
-
#
|
|
39
|
-
/spec-add
|
|
37
|
+
# Spec with ref to detailed knowhow
|
|
38
|
+
/spec-add coding "OAuth PKCE Flow" "完整 PKCE 集成流程" --ref knowhow/RCP-oauth-pkce.md --keywords "oauth,pkce"
|
|
40
39
|
|
|
41
|
-
# Standard spec with role
|
|
42
|
-
/spec-add coding "Named exports" "Always use named exports" --roles "implement"
|
|
43
|
-
|
|
44
|
-
# Legacy style (no --roles, backward compat)
|
|
45
40
|
/spec-add arch "OAuth PKCE 集成" "完整流程设计" --ref knowhow/AST-oauth-flow.md
|
|
46
41
|
```
|
|
47
42
|
</context>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-load
|
|
3
3
|
description: Load specs and lessons for current context
|
|
4
|
-
argument-hint: "[--
|
|
4
|
+
argument-hint: "[--category <category>] [--keyword <word>]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Bash
|
|
@@ -9,8 +9,8 @@ allowed-tools:
|
|
|
9
9
|
- Grep
|
|
10
10
|
---
|
|
11
11
|
<purpose>
|
|
12
|
-
Load relevant specs filtered by
|
|
13
|
-
|
|
12
|
+
Load relevant specs filtered by category (file-level) and/or keyword (entry-level).
|
|
13
|
+
Category-based loading: loads the category's primary doc in full + matching entries from other files.
|
|
14
14
|
</purpose>
|
|
15
15
|
|
|
16
16
|
<required_reading>
|
|
@@ -21,26 +21,25 @@ Role-based loading: loads the role's primary doc in full + matching entries from
|
|
|
21
21
|
$ARGUMENTS -- optional flags and keyword
|
|
22
22
|
|
|
23
23
|
**Flags:**
|
|
24
|
-
- `--
|
|
24
|
+
- `--category <category>` — Load by category: primary category doc (full) + cross-file entries with matching category attr. Categories: coding, arch, test, review, debug, quality, learning.
|
|
25
25
|
- `--keyword <word>` — Filter by keyword within entries
|
|
26
26
|
|
|
27
|
-
**File → Primary
|
|
28
|
-
| File |
|
|
29
|
-
|
|
30
|
-
| coding-conventions.md |
|
|
31
|
-
| architecture-constraints.md |
|
|
27
|
+
**File → Primary Category mapping:**
|
|
28
|
+
| File | Category |
|
|
29
|
+
|------|----------|
|
|
30
|
+
| coding-conventions.md | coding |
|
|
31
|
+
| architecture-constraints.md | arch |
|
|
32
32
|
| test-conventions.md | test |
|
|
33
33
|
| review-standards.md | review |
|
|
34
|
-
| debug-notes.md |
|
|
35
|
-
| quality-rules.md |
|
|
36
|
-
| learnings.md |
|
|
37
|
-
| tools.md | _(per-entry roles)_ |
|
|
34
|
+
| debug-notes.md | debug |
|
|
35
|
+
| quality-rules.md | quality |
|
|
36
|
+
| learnings.md | learning |
|
|
38
37
|
|
|
39
38
|
**Examples:**
|
|
40
39
|
```
|
|
41
|
-
/spec-load --
|
|
42
|
-
/spec-load --
|
|
43
|
-
/spec-load --
|
|
40
|
+
/spec-load --category coding # coding全文 + 跨文件coding条目
|
|
41
|
+
/spec-load --category review # review-standards + quality-rules + 跨文件review条目
|
|
42
|
+
/spec-load --category coding --keyword auth
|
|
44
43
|
/spec-load --keyword auth
|
|
45
44
|
```
|
|
46
45
|
|
|
@@ -164,4 +164,4 @@ Completion report
|
|
|
164
164
|
## Related Commands
|
|
165
165
|
|
|
166
166
|
**上游**: `maestro-ui-codify`, `learn-decompose`, 或任何生成 manifest 的 skill
|
|
167
|
-
**后续**: `maestro wiki list --
|
|
167
|
+
**后续**: `maestro wiki list --category coding`, `maestro spec load --keyword <slug>`
|
|
@@ -56,7 +56,7 @@ $codify-to-knowhow ".workflow/reference_style/my-style-v1"
|
|
|
56
56
|
- `<package-path>` (positional, required): Directory containing `knowhow-manifest.json`
|
|
57
57
|
|
|
58
58
|
**Upstream**: `maestro-ui-codify`, `learn-decompose`, or any skill that generates a manifest
|
|
59
|
-
**Downstream**: `maestro wiki list --
|
|
59
|
+
**Downstream**: `maestro wiki list --category coding`, `maestro spec load --keyword <slug>`
|
|
60
60
|
</context>
|
|
61
61
|
|
|
62
62
|
<manifest_schema>
|
|
@@ -396,7 +396,7 @@ Ref Links: spec -> knowhow bridge established
|
|
|
396
396
|
Wiki Index: refreshed
|
|
397
397
|
|
|
398
398
|
Next steps:
|
|
399
|
-
maestro wiki list --
|
|
399
|
+
maestro wiki list --category coding # Browse by role
|
|
400
400
|
maestro spec load --keyword {slug} # Load related specs
|
|
401
401
|
maestro wiki load <id> # Load full entry
|
|
402
402
|
```
|
|
@@ -208,7 +208,7 @@ Create both directories.
|
|
|
208
208
|
- Read `.workflow/state.json` → `current_milestone`, `artifacts[]`, `accumulated_context`
|
|
209
209
|
- Find prior analyze artifacts from `state.json.artifacts[]` (type=analyze, same milestone) → load their `context.md`
|
|
210
210
|
- Find brainstorm artifacts from `state.json.artifacts[]` (type=brainstorm, same milestone) → load `guidance-specification.md`
|
|
211
|
-
- Load project specs: `maestro spec load --
|
|
211
|
+
- Load project specs: `maestro spec load --category arch`
|
|
212
212
|
|
|
213
213
|
3. **Quick mode routing**: If QUICK_MODE, generate only wave 3 (synthesis/decide) task in CSV. Skip exploration and scoring.
|
|
214
214
|
|
|
@@ -208,7 +208,7 @@ Mark each eligible tool as `recommended: true/false` based on auto-selection.
|
|
|
208
208
|
|
|
209
209
|
**3. Context loading**:
|
|
210
210
|
- Read `.workflow/project.md` if exists
|
|
211
|
-
- Load project specs: `maestro spec load --
|
|
211
|
+
- Load project specs: `maestro spec load --category coding` (if available)
|
|
212
212
|
- Grep for relevant codebase files based on requirement keywords
|
|
213
213
|
|
|
214
214
|
**4. Build delegate prompt** (shared across all tools):
|
|
@@ -61,7 +61,7 @@ Snapshot `roadmap.md` as `roadmap-snapshot.md` in the milestone archive.
|
|
|
61
61
|
|
|
62
62
|
**Extraction**: Parse each source for patterns, pitfalls, strategy adjustments. Look for recurring themes across summaries and explicit lessons in reflection logs.
|
|
63
63
|
|
|
64
|
-
**Dedup**: Run `maestro spec load --
|
|
64
|
+
**Dedup**: Run `maestro spec load --category coding` to load existing entries. Skip any extracted learning whose keywords fully overlap with an existing entry.
|
|
65
65
|
|
|
66
66
|
**Write**: Append to `.workflow/specs/learnings.md` using `<spec-entry>` closed-tag format:
|
|
67
67
|
```
|
|
@@ -198,7 +198,7 @@ If no matching session found, list available sessions and abort.
|
|
|
198
198
|
- Read spec-ref if `--spec` flag
|
|
199
199
|
- Read `.workflow/codebase/doc-index.json` if exists
|
|
200
200
|
- Find design artifacts from `state.json.artifacts[]` (type=brainstorm with ui-designer) for MASTER.md
|
|
201
|
-
- Load project specs via `maestro spec load --
|
|
201
|
+
- Load project specs via `maestro spec load --category arch`
|
|
202
202
|
|
|
203
203
|
3. **Upstream analysis check**:
|
|
204
204
|
- If `{contextDir}/conclusions.json` exists and has content: reuse as exploration context, skip wave 1
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-tools-execute
|
|
3
3
|
description: Load and execute tool specs by role or name
|
|
4
|
-
argument-hint: "[tool-name | --
|
|
4
|
+
argument-hint: "[tool-name | --category <category>]"
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, Agent
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -9,18 +9,18 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, Agent
|
|
|
9
9
|
Load registered tool specs and execute them step-by-step. Two invocation modes:
|
|
10
10
|
|
|
11
11
|
1. **Direct** — Specify tool name, load full steps, execute sequentially
|
|
12
|
-
2. **
|
|
12
|
+
2. **Category-based** — List available tools for a category, user selects, then execute
|
|
13
13
|
|
|
14
14
|
Execution follows the tool definition steps in order, reporting progress per step and asking user on blockers.
|
|
15
15
|
</purpose>
|
|
16
16
|
|
|
17
17
|
<context>
|
|
18
|
-
$ARGUMENTS — Tool name, keyword, or --
|
|
18
|
+
$ARGUMENTS — Tool name, keyword, or --category filter
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
$maestro-tools-execute "integration-test"
|
|
22
|
-
$maestro-tools-execute "--
|
|
23
|
-
$maestro-tools-execute "--
|
|
22
|
+
$maestro-tools-execute "--category coding"
|
|
23
|
+
$maestro-tools-execute "--category review --keyword api"
|
|
24
24
|
$maestro-tools-execute
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -33,23 +33,23 @@ Empty arguments enters interactive mode: list all tools for user selection.
|
|
|
33
33
|
|
|
34
34
|
**By name**:
|
|
35
35
|
```bash
|
|
36
|
-
maestro spec load --
|
|
36
|
+
maestro spec load --category coding --keyword <name>
|
|
37
37
|
```
|
|
38
|
-
Match entries
|
|
38
|
+
Match tool entries whose title or keywords contain the name.
|
|
39
39
|
|
|
40
|
-
**By
|
|
40
|
+
**By category**:
|
|
41
41
|
```bash
|
|
42
|
-
maestro spec load --
|
|
42
|
+
maestro spec load --category <category>
|
|
43
43
|
```
|
|
44
|
-
Extract
|
|
44
|
+
Extract tool entries from output, list available tools.
|
|
45
45
|
|
|
46
46
|
**Empty args**:
|
|
47
|
-
Load all
|
|
47
|
+
Load all tool entries, present to user with AskUserQuestion for selection.
|
|
48
48
|
|
|
49
49
|
### Step 2: Display Tool
|
|
50
50
|
|
|
51
51
|
Show tool information:
|
|
52
|
-
- Name,
|
|
52
|
+
- Name, category, keywords
|
|
53
53
|
- Steps overview (for ref entries, expand knowhow detail first)
|
|
54
54
|
|
|
55
55
|
Expand ref entries:
|