maestro-flow 0.3.19 → 0.3.20
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-investigate.md +195 -195
- package/.claude/commands/learn-retro.md +303 -303
- package/.claude/commands/learn-second-opinion.md +167 -167
- package/.claude/commands/maestro-amend.md +300 -300
- package/.claude/commands/maestro-analyze.md +126 -126
- package/.claude/commands/maestro-composer.md +354 -354
- package/.claude/commands/maestro-execute.md +114 -114
- package/.claude/commands/maestro-learn.md +140 -140
- package/.claude/commands/maestro-milestone-audit.md +68 -68
- package/.claude/commands/maestro-milestone-complete.md +75 -75
- package/.claude/commands/maestro-milestone-release.md +96 -96
- package/.claude/commands/maestro-plan.md +138 -138
- package/.claude/commands/maestro-player.md +404 -404
- package/.claude/commands/maestro-update.md +176 -176
- package/.claude/commands/maestro-verify.md +90 -90
- package/.claude/commands/manage-codebase-rebuild.md +75 -75
- package/.claude/commands/manage-knowhow-capture.md +193 -193
- package/.claude/commands/manage-knowhow.md +77 -77
- package/.claude/commands/manage-learn.md +67 -67
- package/.claude/commands/manage-wiki.md +62 -62
- package/.claude/commands/quality-business-test.md +110 -110
- package/.claude/commands/quality-retrospective.md +78 -78
- package/.claude/commands/spec-add.md +49 -49
- package/.claude/commands/spec-load.md +51 -51
- package/.claude/commands/spec-remove.md +51 -51
- package/.claude/commands/wiki-connect.md +62 -62
- package/.claude/commands/wiki-digest.md +69 -69
- package/.codex/skills/maestro-link-coordinate/SKILL.md +5 -5
- package/.codex/skills/maestro-player/SKILL.md +5 -5
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js.map +1 -1
- package/dist/src/commands/coordinate.js +2 -2
- package/dist/src/commands/coordinate.js.map +1 -1
- package/dist/src/hooks/coordinator-tracker.d.ts +1 -1
- package/dist/src/hooks/coordinator-tracker.js +3 -3
- package/dist/src/hooks/coordinator-tracker.js.map +1 -1
- package/package.json +1 -1
- package/workflows/maestro-link-coordinate.md +3 -3
- package/workflows/maestro.codex.md +2 -2
- package/workflows/maestro-coordinate.codex.md +0 -281
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: quality-retrospective
|
|
3
|
-
description: Multi-lens 复盘 of completed phase(s); routes insights to spec/note/issue stores and the lessons library
|
|
4
|
-
argument-hint: "[phase|N..M] [--lens technical|process|quality|decision] [--all] [--no-route] [--compare N] [--auto-yes]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Post-execution multi-perspective retrospective (复盘) for completed phases. Consumes existing execution artifacts (verification.json, review.json, issues.jsonl, plan.json, .summaries/, uat.md, state.json) and runs four parallel lenses — technical, process, quality, decision — to distill reusable insights. Routes each insight into the appropriate store: spec stub for reusable patterns, memory tip for process notes, issue for recurring gaps. Auto-scans for unreviewed completed phases and reports the backlog. Every insight is also persisted to `.workflow/learning/lessons.jsonl` for cross-phase queryability.
|
|
17
|
-
</purpose>
|
|
18
|
-
|
|
19
|
-
<required_reading>
|
|
20
|
-
@~/.maestro/workflows/retrospective.md
|
|
21
|
-
</required_reading>
|
|
22
|
-
|
|
23
|
-
<deferred_reading>
|
|
24
|
-
- @~/.maestro/workflows/issue.md (issues.jsonl schema for auto-creation)
|
|
25
|
-
- @~/.maestro/workflows/learn.md (tip routing via manage-learn tip)
|
|
26
|
-
- @~/.maestro/workflows/verify.md (verification.json schema for quality lens parsing)
|
|
27
|
-
- @~/.maestro/workflows/review.md (review.json schema for quality lens parsing)
|
|
28
|
-
</deferred_reading>
|
|
29
|
-
|
|
30
|
-
<context>
|
|
31
|
-
Arguments: $ARGUMENTS
|
|
32
|
-
|
|
33
|
-
Modes (scan/single/range/all), flags (--lens, --no-route, --compare, --auto-yes), and storage paths defined in workflow retrospective.md Argument Shape and Stages 1-7.
|
|
34
|
-
</context>
|
|
35
|
-
|
|
36
|
-
<execution>
|
|
37
|
-
Follow `~/.maestro/workflows/retrospective.md` Stages 1–8 in order. Key invariants:
|
|
38
|
-
|
|
39
|
-
1. **Read-only until Stage 6** — Stages 1–5 must not write anything except the in-memory retrospective record.
|
|
40
|
-
2. **Parallel lens dispatch** — Stage 4 spawns one Agent per active lens in a single message (multiple Agent tool calls). All agents use `subagent_type: "general-purpose"` and `run_in_background: false`.
|
|
41
|
-
3. **Match canonical issues schema** — Stage 6 issue routing must produce rows that pass `jq` parsing and match the schema in `workflows/issue.md` Step 4 exactly (status `"open"`, full `issue_history` entry, all required fields).
|
|
42
|
-
4. **Reuse `manage-learn tip` for note routing** — do not duplicate the learning pipeline; invoke via `Skill({ skill: "manage-learn", args: "tip ..." })`.
|
|
43
|
-
5. **Backward-compat with phase-transition** — append a one-line summary per insight to `.workflow/specs/learnings.md` if and only if that file already exists. Never create it.
|
|
44
|
-
6. **Stable insight IDs** — `INS-{8 hex}` from `hash(phase_num + lens + title)` so re-runs do not duplicate.
|
|
45
|
-
7. **Archive before overwrite** — if existing `retrospective.{md,json}` are being replaced, move them to `{artifact_dir}/.history/` with a timestamp suffix first.
|
|
46
|
-
</execution>
|
|
47
|
-
|
|
48
|
-
<error_codes>
|
|
49
|
-
| Code | Severity | Description | Stage |
|
|
50
|
-
|------|----------|-------------|-------|
|
|
51
|
-
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
|
|
52
|
-
| E002 | error | Unknown `--lens` name (allowed: technical, process, quality, decision) | parse_input |
|
|
53
|
-
| E003 | error | `--compare` requires a single phase argument | parse_input |
|
|
54
|
-
| E004 | error | Phase has not executed yet — no `.task/` or `.summaries/` artifacts | load_artifacts |
|
|
55
|
-
| E005 | error | Phase argument out of range / phase directory not found | scan_unreviewed |
|
|
56
|
-
| W001 | warning | One or more lens agents failed — proceeding with partial coverage | multi_lens_analysis |
|
|
57
|
-
| W002 | warning | Existing retrospective.json found and not `--all` — prompted user to overwrite | scan_unreviewed |
|
|
58
|
-
| W003 | warning | `manage-learn tip` did not return parseable INS id; fell back to direct write | route_outputs |
|
|
59
|
-
| W004 | warning | `--compare` target phase has no retrospective.json; delta omitted | load_artifacts |
|
|
60
|
-
</error_codes>
|
|
61
|
-
|
|
62
|
-
<success_criteria>
|
|
63
|
-
- [ ] Mode correctly resolved (scan / single / range / all)
|
|
64
|
-
- [ ] At least one phase selected and validated (status == "completed", artifacts exist)
|
|
65
|
-
- [ ] All requested lens agents returned valid JSON, or W001 logged for partial coverage
|
|
66
|
-
- [ ] `retrospective.json` written with metrics, findings_by_lens, distilled_insights, routing_recommendations
|
|
67
|
-
- [ ] `retrospective.md` written and human-readable (tweetable, metrics table, per-lens findings, insights, routing table)
|
|
68
|
-
- [ ] Each insight has a stable `INS-{8hex}` id
|
|
69
|
-
- [ ] If routing enabled (default): every recommendation either created an artifact or was explicitly skipped by user
|
|
70
|
-
- [ ] Spec entries (if any) appended as `<spec-entry>` to matching `.workflow/specs/{category-file}.md`
|
|
71
|
-
- [ ] Issue rows (if any) match canonical issues.jsonl schema (status "open", full issue_history, all required fields)
|
|
72
|
-
- [ ] Note tips (if any) created via `Skill({ skill: "manage-learn", args: "tip ..." })`
|
|
73
|
-
- [ ] `lessons.jsonl` appended with one row per insight regardless of routing target
|
|
74
|
-
- [ ] `learning-index.json` updated and parseable
|
|
75
|
-
- [ ] No existing phase artifacts modified (verification.json, review.json, plan.json untouched)
|
|
76
|
-
- [ ] Confirmation banner displays routing counts and next-step suggestions
|
|
77
|
-
- [ ] Next step: `/manage-status` to review state, or `/manage-issue list --source retrospective` to triage created issues, or `/manage-learn list` to browse the lessons library
|
|
78
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: quality-retrospective
|
|
3
|
+
description: Multi-lens 复盘 of completed phase(s); routes insights to spec/note/issue stores and the lessons library
|
|
4
|
+
argument-hint: "[phase|N..M] [--lens technical|process|quality|decision] [--all] [--no-route] [--compare N] [--auto-yes]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Post-execution multi-perspective retrospective (复盘) for completed phases. Consumes existing execution artifacts (verification.json, review.json, issues.jsonl, plan.json, .summaries/, uat.md, state.json) and runs four parallel lenses — technical, process, quality, decision — to distill reusable insights. Routes each insight into the appropriate store: spec stub for reusable patterns, memory tip for process notes, issue for recurring gaps. Auto-scans for unreviewed completed phases and reports the backlog. Every insight is also persisted to `.workflow/learning/lessons.jsonl` for cross-phase queryability.
|
|
17
|
+
</purpose>
|
|
18
|
+
|
|
19
|
+
<required_reading>
|
|
20
|
+
@~/.maestro/workflows/retrospective.md
|
|
21
|
+
</required_reading>
|
|
22
|
+
|
|
23
|
+
<deferred_reading>
|
|
24
|
+
- @~/.maestro/workflows/issue.md (issues.jsonl schema for auto-creation)
|
|
25
|
+
- @~/.maestro/workflows/learn.md (tip routing via manage-learn tip)
|
|
26
|
+
- @~/.maestro/workflows/verify.md (verification.json schema for quality lens parsing)
|
|
27
|
+
- @~/.maestro/workflows/review.md (review.json schema for quality lens parsing)
|
|
28
|
+
</deferred_reading>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
Arguments: $ARGUMENTS
|
|
32
|
+
|
|
33
|
+
Modes (scan/single/range/all), flags (--lens, --no-route, --compare, --auto-yes), and storage paths defined in workflow retrospective.md Argument Shape and Stages 1-7.
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<execution>
|
|
37
|
+
Follow `~/.maestro/workflows/retrospective.md` Stages 1–8 in order. Key invariants:
|
|
38
|
+
|
|
39
|
+
1. **Read-only until Stage 6** — Stages 1–5 must not write anything except the in-memory retrospective record.
|
|
40
|
+
2. **Parallel lens dispatch** — Stage 4 spawns one Agent per active lens in a single message (multiple Agent tool calls). All agents use `subagent_type: "general-purpose"` and `run_in_background: false`.
|
|
41
|
+
3. **Match canonical issues schema** — Stage 6 issue routing must produce rows that pass `jq` parsing and match the schema in `workflows/issue.md` Step 4 exactly (status `"open"`, full `issue_history` entry, all required fields).
|
|
42
|
+
4. **Reuse `manage-learn tip` for note routing** — do not duplicate the learning pipeline; invoke via `Skill({ skill: "manage-learn", args: "tip ..." })`.
|
|
43
|
+
5. **Backward-compat with phase-transition** — append a one-line summary per insight to `.workflow/specs/learnings.md` if and only if that file already exists. Never create it.
|
|
44
|
+
6. **Stable insight IDs** — `INS-{8 hex}` from `hash(phase_num + lens + title)` so re-runs do not duplicate.
|
|
45
|
+
7. **Archive before overwrite** — if existing `retrospective.{md,json}` are being replaced, move them to `{artifact_dir}/.history/` with a timestamp suffix first.
|
|
46
|
+
</execution>
|
|
47
|
+
|
|
48
|
+
<error_codes>
|
|
49
|
+
| Code | Severity | Description | Stage |
|
|
50
|
+
|------|----------|-------------|-------|
|
|
51
|
+
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
|
|
52
|
+
| E002 | error | Unknown `--lens` name (allowed: technical, process, quality, decision) | parse_input |
|
|
53
|
+
| E003 | error | `--compare` requires a single phase argument | parse_input |
|
|
54
|
+
| E004 | error | Phase has not executed yet — no `.task/` or `.summaries/` artifacts | load_artifacts |
|
|
55
|
+
| E005 | error | Phase argument out of range / phase directory not found | scan_unreviewed |
|
|
56
|
+
| W001 | warning | One or more lens agents failed — proceeding with partial coverage | multi_lens_analysis |
|
|
57
|
+
| W002 | warning | Existing retrospective.json found and not `--all` — prompted user to overwrite | scan_unreviewed |
|
|
58
|
+
| W003 | warning | `manage-learn tip` did not return parseable INS id; fell back to direct write | route_outputs |
|
|
59
|
+
| W004 | warning | `--compare` target phase has no retrospective.json; delta omitted | load_artifacts |
|
|
60
|
+
</error_codes>
|
|
61
|
+
|
|
62
|
+
<success_criteria>
|
|
63
|
+
- [ ] Mode correctly resolved (scan / single / range / all)
|
|
64
|
+
- [ ] At least one phase selected and validated (status == "completed", artifacts exist)
|
|
65
|
+
- [ ] All requested lens agents returned valid JSON, or W001 logged for partial coverage
|
|
66
|
+
- [ ] `retrospective.json` written with metrics, findings_by_lens, distilled_insights, routing_recommendations
|
|
67
|
+
- [ ] `retrospective.md` written and human-readable (tweetable, metrics table, per-lens findings, insights, routing table)
|
|
68
|
+
- [ ] Each insight has a stable `INS-{8hex}` id
|
|
69
|
+
- [ ] If routing enabled (default): every recommendation either created an artifact or was explicitly skipped by user
|
|
70
|
+
- [ ] Spec entries (if any) appended as `<spec-entry>` to matching `.workflow/specs/{category-file}.md`
|
|
71
|
+
- [ ] Issue rows (if any) match canonical issues.jsonl schema (status "open", full issue_history, all required fields)
|
|
72
|
+
- [ ] Note tips (if any) created via `Skill({ skill: "manage-learn", args: "tip ..." })`
|
|
73
|
+
- [ ] `lessons.jsonl` appended with one row per insight regardless of routing target
|
|
74
|
+
- [ ] `learning-index.json` updated and parseable
|
|
75
|
+
- [ ] No existing phase artifacts modified (verification.json, review.json, plan.json untouched)
|
|
76
|
+
- [ ] Confirmation banner displays routing counts and next-step suggestions
|
|
77
|
+
- [ ] Next step: `/manage-status` to review state, or `/manage-issue list --source retrospective` to triage created issues, or `/manage-learn list` to browse the lessons library
|
|
78
|
+
</success_criteria>
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: spec-add
|
|
3
|
-
description: Add a spec entry to the appropriate specs file by category
|
|
4
|
-
argument-hint: "[--scope project|global|team|personal] <category> <content>"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
---
|
|
12
|
-
<purpose>
|
|
13
|
-
Add a knowledge entry to the specs system using `<spec-entry>` closed-tag format.
|
|
14
|
-
Each category maps 1:1 to a single target file — no dual-write.
|
|
15
|
-
Supports 4 scopes: project (default), global, team, personal.
|
|
16
|
-
</purpose>
|
|
17
|
-
|
|
18
|
-
<required_reading>
|
|
19
|
-
@~/.maestro/workflows/specs-add.md
|
|
20
|
-
</required_reading>
|
|
21
|
-
|
|
22
|
-
<context>
|
|
23
|
-
$ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>] <category> <content>`
|
|
24
|
-
|
|
25
|
-
Scope-to-directory mapping, category-to-file mapping, and entry format defined in workflow specs-add.md.
|
|
26
|
-
</context>
|
|
27
|
-
|
|
28
|
-
<execution>
|
|
29
|
-
Follow '~/.maestro/workflows/specs-add.md' completely.
|
|
30
|
-
</execution>
|
|
31
|
-
|
|
32
|
-
<error_codes>
|
|
33
|
-
| Code | Severity | Description | Stage |
|
|
34
|
-
|------|----------|-------------|-------|
|
|
35
|
-
| E001 | fatal | Category and content are both required | parse_input |
|
|
36
|
-
| E002 | fatal | Specs directory not initialized -- run `maestro spec init --scope <scope>` | validate_entry |
|
|
37
|
-
| E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning | parse_input |
|
|
38
|
-
| E004 | fatal | Invalid scope -- must be one of: project, global, team, personal | parse_input |
|
|
39
|
-
| E005 | fatal | Personal scope requires uid -- use `--uid` or run `maestro collab join` first | parse_input |
|
|
40
|
-
</error_codes>
|
|
41
|
-
|
|
42
|
-
<success_criteria>
|
|
43
|
-
- [ ] Scope and category parsed and validated
|
|
44
|
-
- [ ] Keywords auto-extracted from content (3-5 relevant terms)
|
|
45
|
-
- [ ] Entry written in `<spec-entry>` closed-tag format
|
|
46
|
-
- [ ] Entry appended to correct target file for scope
|
|
47
|
-
- [ ] Confirmation report displayed with scope, path, keywords
|
|
48
|
-
- [ ] Next step: `maestro spec load --scope <scope> --keyword {keyword}` to verify
|
|
49
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: spec-add
|
|
3
|
+
description: Add a spec entry to the appropriate specs file by category
|
|
4
|
+
argument-hint: "[--scope project|global|team|personal] <category> <content>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
---
|
|
12
|
+
<purpose>
|
|
13
|
+
Add a knowledge entry to the specs system using `<spec-entry>` closed-tag format.
|
|
14
|
+
Each category maps 1:1 to a single target file — no dual-write.
|
|
15
|
+
Supports 4 scopes: project (default), global, team, personal.
|
|
16
|
+
</purpose>
|
|
17
|
+
|
|
18
|
+
<required_reading>
|
|
19
|
+
@~/.maestro/workflows/specs-add.md
|
|
20
|
+
</required_reading>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
$ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>] <category> <content>`
|
|
24
|
+
|
|
25
|
+
Scope-to-directory mapping, category-to-file mapping, and entry format defined in workflow specs-add.md.
|
|
26
|
+
</context>
|
|
27
|
+
|
|
28
|
+
<execution>
|
|
29
|
+
Follow '~/.maestro/workflows/specs-add.md' completely.
|
|
30
|
+
</execution>
|
|
31
|
+
|
|
32
|
+
<error_codes>
|
|
33
|
+
| Code | Severity | Description | Stage |
|
|
34
|
+
|------|----------|-------------|-------|
|
|
35
|
+
| E001 | fatal | Category and content are both required | parse_input |
|
|
36
|
+
| E002 | fatal | Specs directory not initialized -- run `maestro spec init --scope <scope>` | validate_entry |
|
|
37
|
+
| E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning | parse_input |
|
|
38
|
+
| E004 | fatal | Invalid scope -- must be one of: project, global, team, personal | parse_input |
|
|
39
|
+
| E005 | fatal | Personal scope requires uid -- use `--uid` or run `maestro collab join` first | parse_input |
|
|
40
|
+
</error_codes>
|
|
41
|
+
|
|
42
|
+
<success_criteria>
|
|
43
|
+
- [ ] Scope and category parsed and validated
|
|
44
|
+
- [ ] Keywords auto-extracted from content (3-5 relevant terms)
|
|
45
|
+
- [ ] Entry written in `<spec-entry>` closed-tag format
|
|
46
|
+
- [ ] Entry appended to correct target file for scope
|
|
47
|
+
- [ ] Confirmation report displayed with scope, path, keywords
|
|
48
|
+
- [ ] Next step: `maestro spec load --scope <scope> --keyword {keyword}` to verify
|
|
49
|
+
</success_criteria>
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: spec-load
|
|
3
|
-
description: Load relevant specs and lessons for current context (used by agents before execution)
|
|
4
|
-
argument-hint: "[--category <type>] [--keyword <word>] [--with-lessons]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Bash
|
|
8
|
-
- Glob
|
|
9
|
-
- Grep
|
|
10
|
-
---
|
|
11
|
-
<purpose>
|
|
12
|
-
Load and display relevant spec files for the current working context.
|
|
13
|
-
Supports filtering by category (file-level) and keyword (entry-level via `<spec-entry>` tags).
|
|
14
|
-
</purpose>
|
|
15
|
-
|
|
16
|
-
<required_reading>
|
|
17
|
-
@~/.maestro/workflows/specs-load.md
|
|
18
|
-
</required_reading>
|
|
19
|
-
|
|
20
|
-
<context>
|
|
21
|
-
$ARGUMENTS -- optional flags and keyword
|
|
22
|
-
|
|
23
|
-
Category-to-file mapping (1:1) and flag details defined in workflow specs-load.md.
|
|
24
|
-
|
|
25
|
-
**Examples:**
|
|
26
|
-
```
|
|
27
|
-
/spec-load --keyword auth
|
|
28
|
-
/spec-load --category coding --keyword naming
|
|
29
|
-
/spec-load --category arch
|
|
30
|
-
```
|
|
31
|
-
</context>
|
|
32
|
-
|
|
33
|
-
<execution>
|
|
34
|
-
Follow '~/.maestro/workflows/specs-load.md' completely.
|
|
35
|
-
</execution>
|
|
36
|
-
|
|
37
|
-
<error_codes>
|
|
38
|
-
| Code | Severity | Description | Stage |
|
|
39
|
-
|------|----------|-------------|-------|
|
|
40
|
-
| E001 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | detect_context |
|
|
41
|
-
| W001 | warning | No matching specs found for keyword -- showing all specs in category instead | load_specs |
|
|
42
|
-
</error_codes>
|
|
43
|
-
|
|
44
|
-
<success_criteria>
|
|
45
|
-
- [ ] Category and/or keyword parsed from arguments
|
|
46
|
-
- [ ] Spec files loaded per category mapping
|
|
47
|
-
- [ ] Keyword filtering applied at entry level (via `<spec-entry>` keywords attribute)
|
|
48
|
-
- [ ] Legacy entries filtered by text grep fallback
|
|
49
|
-
- [ ] Results displayed with file:category references
|
|
50
|
-
</success_criteria>
|
|
51
|
-
</output>
|
|
1
|
+
---
|
|
2
|
+
name: spec-load
|
|
3
|
+
description: Load relevant specs and lessons for current context (used by agents before execution)
|
|
4
|
+
argument-hint: "[--category <type>] [--keyword <word>] [--with-lessons]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
---
|
|
11
|
+
<purpose>
|
|
12
|
+
Load and display relevant spec files for the current working context.
|
|
13
|
+
Supports filtering by category (file-level) and keyword (entry-level via `<spec-entry>` tags).
|
|
14
|
+
</purpose>
|
|
15
|
+
|
|
16
|
+
<required_reading>
|
|
17
|
+
@~/.maestro/workflows/specs-load.md
|
|
18
|
+
</required_reading>
|
|
19
|
+
|
|
20
|
+
<context>
|
|
21
|
+
$ARGUMENTS -- optional flags and keyword
|
|
22
|
+
|
|
23
|
+
Category-to-file mapping (1:1) and flag details defined in workflow specs-load.md.
|
|
24
|
+
|
|
25
|
+
**Examples:**
|
|
26
|
+
```
|
|
27
|
+
/spec-load --keyword auth
|
|
28
|
+
/spec-load --category coding --keyword naming
|
|
29
|
+
/spec-load --category arch
|
|
30
|
+
```
|
|
31
|
+
</context>
|
|
32
|
+
|
|
33
|
+
<execution>
|
|
34
|
+
Follow '~/.maestro/workflows/specs-load.md' completely.
|
|
35
|
+
</execution>
|
|
36
|
+
|
|
37
|
+
<error_codes>
|
|
38
|
+
| Code | Severity | Description | Stage |
|
|
39
|
+
|------|----------|-------------|-------|
|
|
40
|
+
| E001 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | detect_context |
|
|
41
|
+
| W001 | warning | No matching specs found for keyword -- showing all specs in category instead | load_specs |
|
|
42
|
+
</error_codes>
|
|
43
|
+
|
|
44
|
+
<success_criteria>
|
|
45
|
+
- [ ] Category and/or keyword parsed from arguments
|
|
46
|
+
- [ ] Spec files loaded per category mapping
|
|
47
|
+
- [ ] Keyword filtering applied at entry level (via `<spec-entry>` keywords attribute)
|
|
48
|
+
- [ ] Legacy entries filtered by text grep fallback
|
|
49
|
+
- [ ] Results displayed with file:category references
|
|
50
|
+
</success_criteria>
|
|
51
|
+
</output>
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: spec-remove
|
|
3
|
-
description: Remove a spec entry from a specs file by entry ID
|
|
4
|
-
argument-hint: "<entry-id>"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Remove a `<spec-entry>` from a specs file. Symmetric with `/spec-add`.
|
|
16
|
-
Uses `maestro wiki remove-entry` for atomic removal with index auto-update.
|
|
17
|
-
</purpose>
|
|
18
|
-
|
|
19
|
-
<required_reading>
|
|
20
|
-
@~/.maestro/workflows/specs-remove.md
|
|
21
|
-
</required_reading>
|
|
22
|
-
|
|
23
|
-
<context>
|
|
24
|
-
$ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-conventions-001`)
|
|
25
|
-
|
|
26
|
-
**Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
|
|
27
|
-
|
|
28
|
-
**Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
|
|
29
|
-
</context>
|
|
30
|
-
|
|
31
|
-
<execution>
|
|
32
|
-
Follow '~/.maestro/workflows/specs-remove.md' completely.
|
|
33
|
-
</execution>
|
|
34
|
-
|
|
35
|
-
<error_codes>
|
|
36
|
-
| Code | Severity | Description | Stage |
|
|
37
|
-
|------|----------|-------------|-------|
|
|
38
|
-
| E001 | fatal | Entry ID is required -- usage: `/spec-remove <entry-id>` | parse_input |
|
|
39
|
-
| E002 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | validate |
|
|
40
|
-
| E003 | fatal | Entry ID not found in wiki index | lookup |
|
|
41
|
-
| E004 | fatal | Entry is not a spec sub-node (wrong type) | validate |
|
|
42
|
-
</error_codes>
|
|
43
|
-
|
|
44
|
-
<success_criteria>
|
|
45
|
-
- [ ] Entry ID parsed and validated
|
|
46
|
-
- [ ] Entry found in wiki index (type=spec, is sub-node)
|
|
47
|
-
- [ ] User confirmed removal (unless -y flag)
|
|
48
|
-
- [ ] Entry removed from container file via `maestro wiki remove-entry`
|
|
49
|
-
- [ ] Wiki index auto-updated
|
|
50
|
-
- [ ] Confirmation displayed with removed entry details
|
|
51
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: spec-remove
|
|
3
|
+
description: Remove a spec entry from a specs file by entry ID
|
|
4
|
+
argument-hint: "<entry-id>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<purpose>
|
|
15
|
+
Remove a `<spec-entry>` from a specs file. Symmetric with `/spec-add`.
|
|
16
|
+
Uses `maestro wiki remove-entry` for atomic removal with index auto-update.
|
|
17
|
+
</purpose>
|
|
18
|
+
|
|
19
|
+
<required_reading>
|
|
20
|
+
@~/.maestro/workflows/specs-remove.md
|
|
21
|
+
</required_reading>
|
|
22
|
+
|
|
23
|
+
<context>
|
|
24
|
+
$ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-conventions-001`)
|
|
25
|
+
|
|
26
|
+
**Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
|
|
27
|
+
|
|
28
|
+
**Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
|
|
29
|
+
</context>
|
|
30
|
+
|
|
31
|
+
<execution>
|
|
32
|
+
Follow '~/.maestro/workflows/specs-remove.md' completely.
|
|
33
|
+
</execution>
|
|
34
|
+
|
|
35
|
+
<error_codes>
|
|
36
|
+
| Code | Severity | Description | Stage |
|
|
37
|
+
|------|----------|-------------|-------|
|
|
38
|
+
| E001 | fatal | Entry ID is required -- usage: `/spec-remove <entry-id>` | parse_input |
|
|
39
|
+
| E002 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | validate |
|
|
40
|
+
| E003 | fatal | Entry ID not found in wiki index | lookup |
|
|
41
|
+
| E004 | fatal | Entry is not a spec sub-node (wrong type) | validate |
|
|
42
|
+
</error_codes>
|
|
43
|
+
|
|
44
|
+
<success_criteria>
|
|
45
|
+
- [ ] Entry ID parsed and validated
|
|
46
|
+
- [ ] Entry found in wiki index (type=spec, is sub-node)
|
|
47
|
+
- [ ] User confirmed removal (unless -y flag)
|
|
48
|
+
- [ ] Entry removed from container file via `maestro wiki remove-entry`
|
|
49
|
+
- [ ] Wiki index auto-updated
|
|
50
|
+
- [ ] Confirmation displayed with removed entry details
|
|
51
|
+
</success_criteria>
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: wiki-connect
|
|
3
|
-
description: Surface hidden connections in the wiki knowledge graph and suggest or apply new links
|
|
4
|
-
argument-hint: "[--scope <type>] [--min-similarity N] [--fix] [--max N]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- Agent
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<required_reading>
|
|
15
|
-
@~/.maestro/workflows/wiki-connect.md
|
|
16
|
-
</required_reading>
|
|
17
|
-
|
|
18
|
-
<purpose>
|
|
19
|
-
Knowledge graph link discovery and health improvement. Analyzes the wiki index to find orphaned entries, missing connections, and transitive link gaps, then suggests or auto-applies new `related` links to improve graph connectivity.
|
|
20
|
-
|
|
21
|
-
Leverages maestro's unique wiki graph infrastructure (BM25 search, backlinks, health scoring) — no equivalent in gstack. Directly improves the quality of all downstream wiki consumers (search, digest, follow-along).
|
|
22
|
-
</purpose>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
Arguments: $ARGUMENTS
|
|
26
|
-
|
|
27
|
-
Flags, storage paths, and CLI commands defined in workflow wiki-connect.md.
|
|
28
|
-
</context>
|
|
29
|
-
|
|
30
|
-
<execution>
|
|
31
|
-
Follow '~/.maestro/workflows/wiki-connect.md' completely (Stages 1-6).
|
|
32
|
-
|
|
33
|
-
**Next-step routing:**
|
|
34
|
-
- Generate knowledge digest → `/wiki-digest <topic>`
|
|
35
|
-
- Follow-along on orphan → `/learn-follow <wiki-id>`
|
|
36
|
-
- View full graph → `maestro wiki graph`
|
|
37
|
-
</execution>
|
|
38
|
-
|
|
39
|
-
<error_codes>
|
|
40
|
-
| Code | Severity | Condition | Recovery |
|
|
41
|
-
|------|----------|-----------|----------|
|
|
42
|
-
| E001 | error | No wiki entries found (empty index) | Initialize wiki content first, or run `/maestro-init` |
|
|
43
|
-
| E002 | error | `maestro wiki` CLI not available | Check maestro installation |
|
|
44
|
-
| W001 | warning | No connection candidates found above threshold | Lower --min-similarity or check if graph is already well-connected |
|
|
45
|
-
| W002 | warning | Some wiki update calls failed during --fix | Partial application; retry failed entries manually |
|
|
46
|
-
| W003 | warning | Health score unchanged after fix | Connections may not have improved the specific health metrics |
|
|
47
|
-
</error_codes>
|
|
48
|
-
|
|
49
|
-
<success_criteria>
|
|
50
|
-
- [ ] Wiki index loaded with entry count and type distribution
|
|
51
|
-
- [ ] Baseline health score recorded
|
|
52
|
-
- [ ] Orphans identified and rescue candidates generated
|
|
53
|
-
- [ ] Connection candidates scored and ranked
|
|
54
|
-
- [ ] Results filtered by --min-similarity and limited by --max
|
|
55
|
-
- [ ] Suggestions displayed with scores and reasons
|
|
56
|
-
- [ ] If --fix: entries updated with new `related` links
|
|
57
|
-
- [ ] If --fix: new health score computed and delta reported
|
|
58
|
-
- [ ] Report written to `wiki-connections-{date}.md`
|
|
59
|
-
- [ ] Graph insights appended to `lessons.jsonl`
|
|
60
|
-
- [ ] No unintended entry modifications (only `related` field changed)
|
|
61
|
-
- [ ] Summary displayed with next-step routing
|
|
62
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: wiki-connect
|
|
3
|
+
description: Surface hidden connections in the wiki knowledge graph and suggest or apply new links
|
|
4
|
+
argument-hint: "[--scope <type>] [--min-similarity N] [--fix] [--max N]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Agent
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<required_reading>
|
|
15
|
+
@~/.maestro/workflows/wiki-connect.md
|
|
16
|
+
</required_reading>
|
|
17
|
+
|
|
18
|
+
<purpose>
|
|
19
|
+
Knowledge graph link discovery and health improvement. Analyzes the wiki index to find orphaned entries, missing connections, and transitive link gaps, then suggests or auto-applies new `related` links to improve graph connectivity.
|
|
20
|
+
|
|
21
|
+
Leverages maestro's unique wiki graph infrastructure (BM25 search, backlinks, health scoring) — no equivalent in gstack. Directly improves the quality of all downstream wiki consumers (search, digest, follow-along).
|
|
22
|
+
</purpose>
|
|
23
|
+
|
|
24
|
+
<context>
|
|
25
|
+
Arguments: $ARGUMENTS
|
|
26
|
+
|
|
27
|
+
Flags, storage paths, and CLI commands defined in workflow wiki-connect.md.
|
|
28
|
+
</context>
|
|
29
|
+
|
|
30
|
+
<execution>
|
|
31
|
+
Follow '~/.maestro/workflows/wiki-connect.md' completely (Stages 1-6).
|
|
32
|
+
|
|
33
|
+
**Next-step routing:**
|
|
34
|
+
- Generate knowledge digest → `/wiki-digest <topic>`
|
|
35
|
+
- Follow-along on orphan → `/learn-follow <wiki-id>`
|
|
36
|
+
- View full graph → `maestro wiki graph`
|
|
37
|
+
</execution>
|
|
38
|
+
|
|
39
|
+
<error_codes>
|
|
40
|
+
| Code | Severity | Condition | Recovery |
|
|
41
|
+
|------|----------|-----------|----------|
|
|
42
|
+
| E001 | error | No wiki entries found (empty index) | Initialize wiki content first, or run `/maestro-init` |
|
|
43
|
+
| E002 | error | `maestro wiki` CLI not available | Check maestro installation |
|
|
44
|
+
| W001 | warning | No connection candidates found above threshold | Lower --min-similarity or check if graph is already well-connected |
|
|
45
|
+
| W002 | warning | Some wiki update calls failed during --fix | Partial application; retry failed entries manually |
|
|
46
|
+
| W003 | warning | Health score unchanged after fix | Connections may not have improved the specific health metrics |
|
|
47
|
+
</error_codes>
|
|
48
|
+
|
|
49
|
+
<success_criteria>
|
|
50
|
+
- [ ] Wiki index loaded with entry count and type distribution
|
|
51
|
+
- [ ] Baseline health score recorded
|
|
52
|
+
- [ ] Orphans identified and rescue candidates generated
|
|
53
|
+
- [ ] Connection candidates scored and ranked
|
|
54
|
+
- [ ] Results filtered by --min-similarity and limited by --max
|
|
55
|
+
- [ ] Suggestions displayed with scores and reasons
|
|
56
|
+
- [ ] If --fix: entries updated with new `related` links
|
|
57
|
+
- [ ] If --fix: new health score computed and delta reported
|
|
58
|
+
- [ ] Report written to `wiki-connections-{date}.md`
|
|
59
|
+
- [ ] Graph insights appended to `lessons.jsonl`
|
|
60
|
+
- [ ] No unintended entry modifications (only `related` field changed)
|
|
61
|
+
- [ ] Summary displayed with next-step routing
|
|
62
|
+
</success_criteria>
|