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.
Files changed (42) hide show
  1. package/.claude/commands/learn-investigate.md +195 -195
  2. package/.claude/commands/learn-retro.md +303 -303
  3. package/.claude/commands/learn-second-opinion.md +167 -167
  4. package/.claude/commands/maestro-amend.md +300 -300
  5. package/.claude/commands/maestro-analyze.md +126 -126
  6. package/.claude/commands/maestro-composer.md +354 -354
  7. package/.claude/commands/maestro-execute.md +114 -114
  8. package/.claude/commands/maestro-learn.md +140 -140
  9. package/.claude/commands/maestro-milestone-audit.md +68 -68
  10. package/.claude/commands/maestro-milestone-complete.md +75 -75
  11. package/.claude/commands/maestro-milestone-release.md +96 -96
  12. package/.claude/commands/maestro-plan.md +138 -138
  13. package/.claude/commands/maestro-player.md +404 -404
  14. package/.claude/commands/maestro-update.md +176 -176
  15. package/.claude/commands/maestro-verify.md +90 -90
  16. package/.claude/commands/manage-codebase-rebuild.md +75 -75
  17. package/.claude/commands/manage-knowhow-capture.md +193 -193
  18. package/.claude/commands/manage-knowhow.md +77 -77
  19. package/.claude/commands/manage-learn.md +67 -67
  20. package/.claude/commands/manage-wiki.md +62 -62
  21. package/.claude/commands/quality-business-test.md +110 -110
  22. package/.claude/commands/quality-retrospective.md +78 -78
  23. package/.claude/commands/spec-add.md +49 -49
  24. package/.claude/commands/spec-load.md +51 -51
  25. package/.claude/commands/spec-remove.md +51 -51
  26. package/.claude/commands/wiki-connect.md +62 -62
  27. package/.claude/commands/wiki-digest.md +69 -69
  28. package/.codex/skills/maestro-link-coordinate/SKILL.md +5 -5
  29. package/.codex/skills/maestro-player/SKILL.md +5 -5
  30. package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js +3 -3
  31. package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js.map +1 -1
  32. package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js +1 -1
  33. package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js.map +1 -1
  34. package/dist/src/commands/coordinate.js +2 -2
  35. package/dist/src/commands/coordinate.js.map +1 -1
  36. package/dist/src/hooks/coordinator-tracker.d.ts +1 -1
  37. package/dist/src/hooks/coordinator-tracker.js +3 -3
  38. package/dist/src/hooks/coordinator-tracker.js.map +1 -1
  39. package/package.json +1 -1
  40. package/workflows/maestro-link-coordinate.md +3 -3
  41. package/workflows/maestro.codex.md +2 -2
  42. 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>