maestro-flow 0.4.10 → 0.4.11
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/.agents/agents/cli-explore-agent.md +189 -0
- package/.agents/agents/conceptual-planning-agent.md +247 -0
- package/.agents/agents/impeccable-agent.md +101 -0
- package/.agents/agents/team-supervisor.md +145 -0
- package/.agents/agents/team-worker.md +239 -0
- package/.agents/agents/ui-design-agent.md +289 -0
- package/.agents/agents/workflow-analyzer.md +117 -0
- package/.agents/agents/workflow-codebase-mapper.md +79 -0
- package/.agents/agents/workflow-collab-planner.md +145 -0
- package/.agents/agents/workflow-debugger.md +105 -0
- package/.agents/agents/workflow-executor.md +134 -0
- package/.agents/agents/workflow-external-researcher.md +88 -0
- package/.agents/agents/workflow-integration-checker.md +85 -0
- package/.agents/agents/workflow-nyquist-auditor.md +87 -0
- package/.agents/agents/workflow-phase-researcher.md +87 -0
- package/.agents/agents/workflow-plan-checker.md +92 -0
- package/.agents/agents/workflow-planner.md +197 -0
- package/.agents/agents/workflow-project-researcher.md +76 -0
- package/.agents/agents/workflow-research-synthesizer.md +72 -0
- package/.agents/agents/workflow-reviewer.md +84 -0
- package/.agents/agents/workflow-roadmapper.md +83 -0
- package/.agents/agents/workflow-verifier.md +122 -0
- package/.agents/skills/codify-to-knowhow/SKILL.md +169 -0
- package/.agents/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
- package/.agents/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
- package/.agents/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
- package/.agents/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
- package/.agents/skills/learn-decompose/SKILL.md +118 -0
- package/.agents/skills/learn-follow/SKILL.md +129 -0
- package/.agents/skills/learn-investigate/SKILL.md +154 -0
- package/.agents/skills/learn-retro/SKILL.md +159 -0
- package/.agents/skills/learn-second-opinion/SKILL.md +124 -0
- package/.agents/skills/maestro/SKILL.md +224 -0
- package/.agents/skills/maestro-amend/SKILL.md +165 -0
- package/.agents/skills/maestro-analyze/SKILL.md +135 -0
- package/.agents/skills/maestro-brainstorm/SKILL.md +118 -0
- package/.agents/skills/maestro-collab/SKILL.md +174 -0
- package/.agents/skills/maestro-composer/SKILL.md +181 -0
- package/.agents/skills/maestro-execute/SKILL.md +133 -0
- package/.agents/skills/maestro-fork/SKILL.md +88 -0
- package/.agents/skills/maestro-guard/SKILL.md +103 -0
- package/.agents/skills/maestro-help/SKILL.md +266 -0
- package/.agents/skills/maestro-help/index/catalog.json +184 -0
- package/.agents/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.agents/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.agents/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.agents/skills/maestro-impeccable/SKILL.md +251 -0
- package/.agents/skills/maestro-init/SKILL.md +80 -0
- package/.agents/skills/maestro-learn/SKILL.md +142 -0
- package/.agents/skills/maestro-merge/SKILL.md +66 -0
- package/.agents/skills/maestro-milestone-audit/SKILL.md +70 -0
- package/.agents/skills/maestro-milestone-complete/SKILL.md +77 -0
- package/.agents/skills/maestro-milestone-release/SKILL.md +98 -0
- package/.agents/skills/maestro-overlay/SKILL.md +180 -0
- package/.agents/skills/maestro-plan/SKILL.md +172 -0
- package/.agents/skills/maestro-player/SKILL.md +177 -0
- package/.agents/skills/maestro-quick/SKILL.md +67 -0
- package/.agents/skills/maestro-ralph/SKILL.md +685 -0
- package/.agents/skills/maestro-ralph-execute/SKILL.md +259 -0
- package/.agents/skills/maestro-roadmap/SKILL.md +170 -0
- package/.agents/skills/maestro-tools-execute/SKILL.md +119 -0
- package/.agents/skills/maestro-tools-register/SKILL.md +159 -0
- package/.agents/skills/maestro-ui-codify/SKILL.md +82 -0
- package/.agents/skills/maestro-update/SKILL.md +178 -0
- package/.agents/skills/maestro-verify/SKILL.md +111 -0
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +77 -0
- package/.agents/skills/manage-codebase-refresh/SKILL.md +59 -0
- package/.agents/skills/manage-harvest/SKILL.md +96 -0
- package/.agents/skills/manage-issue/SKILL.md +75 -0
- package/.agents/skills/manage-issue-discover/SKILL.md +83 -0
- package/.agents/skills/manage-knowhow/SKILL.md +79 -0
- package/.agents/skills/manage-knowhow-capture/SKILL.md +81 -0
- package/.agents/skills/manage-learn/SKILL.md +67 -0
- package/.agents/skills/manage-status/SKILL.md +54 -0
- package/.agents/skills/manage-wiki/SKILL.md +64 -0
- package/.agents/skills/quality-auto-test/SKILL.md +138 -0
- package/.agents/skills/quality-debug/SKILL.md +122 -0
- package/.agents/skills/quality-refactor/SKILL.md +69 -0
- package/.agents/skills/quality-retrospective/SKILL.md +79 -0
- package/.agents/skills/quality-review/SKILL.md +130 -0
- package/.agents/skills/quality-sync/SKILL.md +53 -0
- package/.agents/skills/quality-test/SKILL.md +119 -0
- package/.agents/skills/security-audit/SKILL.md +157 -0
- package/.agents/skills/skill-iter-tune/SKILL.md +384 -0
- package/.agents/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.agents/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.agents/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.agents/skills/skill-iter-tune/phases/04-improve.md +186 -0
- package/.agents/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.agents/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.agents/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.agents/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.agents/skills/spec-add/SKILL.md +70 -0
- package/.agents/skills/spec-load/SKILL.md +73 -0
- package/.agents/skills/spec-remove/SKILL.md +53 -0
- package/.agents/skills/spec-setup/SKILL.md +50 -0
- package/.agents/skills/team-coordinate/SKILL.md +268 -0
- package/.agents/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
- package/.agents/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
- package/.agents/skills/team-coordinate/roles/coordinator/commands/monitor.md +358 -0
- package/.agents/skills/team-coordinate/roles/coordinator/role.md +365 -0
- package/.agents/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
- package/.agents/skills/team-coordinate/specs/pipelines.md +97 -0
- package/.agents/skills/team-coordinate/specs/quality-gates.md +112 -0
- package/.agents/skills/team-coordinate/specs/role-spec-template.md +198 -0
- package/.agents/skills/team-executor/SKILL.md +191 -0
- package/.agents/skills/team-executor/roles/executor/commands/monitor.md +239 -0
- package/.agents/skills/team-executor/roles/executor/role.md +171 -0
- package/.agents/skills/team-executor/specs/session-schema.md +264 -0
- package/.agents/skills/team-lifecycle-v4/SKILL.md +211 -0
- package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +96 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
- package/.agents/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
- package/.agents/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
- package/.agents/skills/team-lifecycle-v4/roles/executor/role.md +69 -0
- package/.agents/skills/team-lifecycle-v4/roles/planner/role.md +87 -0
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/role.md +71 -0
- package/.agents/skills/team-lifecycle-v4/roles/supervisor/role.md +194 -0
- package/.agents/skills/team-lifecycle-v4/roles/tester/role.md +89 -0
- package/.agents/skills/team-lifecycle-v4/roles/writer/role.md +97 -0
- package/.agents/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
- package/.agents/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
- package/.agents/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
- package/.agents/skills/team-lifecycle-v4/templates/architecture.md +254 -0
- package/.agents/skills/team-lifecycle-v4/templates/epics.md +196 -0
- package/.agents/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
- package/.agents/skills/team-lifecycle-v4/templates/requirements.md +224 -0
- package/.agents/skills/team-quality-assurance/SKILL.md +149 -0
- package/.agents/skills/team-quality-assurance/roles/analyst/role.md +90 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +250 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
- package/.agents/skills/team-quality-assurance/roles/executor/role.md +68 -0
- package/.agents/skills/team-quality-assurance/roles/generator/role.md +70 -0
- package/.agents/skills/team-quality-assurance/roles/scout/role.md +77 -0
- package/.agents/skills/team-quality-assurance/roles/strategist/role.md +73 -0
- package/.agents/skills/team-quality-assurance/specs/pipelines.md +115 -0
- package/.agents/skills/team-quality-assurance/specs/team-config.json +131 -0
- package/.agents/skills/team-review/SKILL.md +149 -0
- package/.agents/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
- package/.agents/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
- package/.agents/skills/team-review/roles/coordinator/commands/monitor.md +224 -0
- package/.agents/skills/team-review/roles/coordinator/role.md +132 -0
- package/.agents/skills/team-review/roles/fixer/role.md +78 -0
- package/.agents/skills/team-review/roles/reviewer/role.md +70 -0
- package/.agents/skills/team-review/roles/scanner/role.md +81 -0
- package/.agents/skills/team-review/specs/dimensions.md +82 -0
- package/.agents/skills/team-review/specs/finding-schema.json +82 -0
- package/.agents/skills/team-review/specs/pipelines.md +102 -0
- package/.agents/skills/team-review/specs/team-config.json +27 -0
- package/.agents/skills/team-tech-debt/SKILL.md +130 -0
- package/.agents/skills/team-tech-debt/roles/assessor/role.md +79 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/monitor.md +209 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/role.md +123 -0
- package/.agents/skills/team-tech-debt/roles/executor/role.md +78 -0
- package/.agents/skills/team-tech-debt/roles/planner/role.md +71 -0
- package/.agents/skills/team-tech-debt/roles/scanner/role.md +92 -0
- package/.agents/skills/team-tech-debt/roles/validator/role.md +80 -0
- package/.agents/skills/team-tech-debt/specs/pipelines.md +47 -0
- package/.agents/skills/team-tech-debt/specs/team-config.json +129 -0
- package/.agents/skills/team-testing/SKILL.md +145 -0
- package/.agents/skills/team-testing/roles/analyst/role.md +105 -0
- package/.agents/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
- package/.agents/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
- package/.agents/skills/team-testing/roles/coordinator/commands/monitor.md +257 -0
- package/.agents/skills/team-testing/roles/coordinator/role.md +134 -0
- package/.agents/skills/team-testing/roles/executor/role.md +101 -0
- package/.agents/skills/team-testing/roles/generator/role.md +100 -0
- package/.agents/skills/team-testing/roles/strategist/role.md +85 -0
- package/.agents/skills/team-testing/specs/pipelines.md +101 -0
- package/.agents/skills/team-testing/specs/team-config.json +93 -0
- package/.agents/skills/wiki-connect/SKILL.md +64 -0
- package/.agents/skills/wiki-digest/SKILL.md +70 -0
- package/.agents/skills/workflow-skill-designer/SKILL.md +498 -0
- package/.agents/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.agents/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.agents/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.agents/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- package/.agy/skills/maestro/SKILL.md +13 -11
- package/.agy/skills/maestro-ralph/SKILL.md +222 -87
- package/.claude/commands/maestro-ralph.md +222 -87
- package/.claude/commands/maestro.md +13 -11
- package/.codex/skills/maestro/SKILL.md +23 -17
- package/.codex/skills/maestro-ralph/SKILL.md +177 -67
- package/dist/src/commands/install-backend.d.ts +12 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +144 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/core/component-defs.d.ts +6 -0
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +97 -0
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/tui/install-ui/ExtraMcpConfig.d.ts +11 -0
- package/dist/src/tui/install-ui/ExtraMcpConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ExtraMcpConfig.js +61 -0
- package/dist/src/tui/install-ui/ExtraMcpConfig.js.map +1 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts +3 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +14 -2
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.js +16 -3
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.js +8 -0
- package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.js +3 -1
- package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
- package/dist/src/utils/update-notices.js +19 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: learn-retro
|
|
3
|
+
description: Retrospective of git activity and decision quality
|
|
4
|
+
argument-hint: "[--lens git|decision|all] [--days N] [--author <name>] [--area <path>] [--phase N] [--tag <tag>] [--id <id>] [--compare]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read_file
|
|
7
|
+
- write_file
|
|
8
|
+
- shell
|
|
9
|
+
- find_files
|
|
10
|
+
- search
|
|
11
|
+
- delegate_subagent
|
|
12
|
+
- ask_user
|
|
13
|
+
---
|
|
14
|
+
<!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
|
|
15
|
+
|
|
16
|
+
<purpose>
|
|
17
|
+
Unified retrospective combining git activity analysis and decision quality evaluation. Works on raw git history and wiki/spec data. Two lenses (git, decision), usable independently or together.
|
|
18
|
+
|
|
19
|
+
All insights persist to `specs/learnings.md` as `<spec-entry>` blocks.
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
$ARGUMENTS — lens selection and scope flags.
|
|
24
|
+
|
|
25
|
+
**Lens**: `--lens git` | `--lens decision` | `--lens all` (default: all)
|
|
26
|
+
|
|
27
|
+
**Git lens flags**: `--days N` (default: 7), `--author <name>`, `--area <path>`, `--compare` (vs prior retro)
|
|
28
|
+
**Decision lens flags**: `--phase N`, `--tag <tag>`, `--id <id>` (single decision by wiki/INS id)
|
|
29
|
+
|
|
30
|
+
**Storage write**:
|
|
31
|
+
- `.workflow/knowhow/KNW-retro-{date}.md` — unified report
|
|
32
|
+
- `.workflow/knowhow/KNW-retro-{date}.json` — structured metrics
|
|
33
|
+
- `specs/learnings.md` — appended `<spec-entry>` blocks (source: retro-git / retro-decision)
|
|
34
|
+
|
|
35
|
+
**Storage read**: git history, `.workflow/state.json`, prior `KNW-retro-*.json`, `specs/learnings.md`, wiki specs, `architecture-constraints.md`, phase context files
|
|
36
|
+
</context>
|
|
37
|
+
|
|
38
|
+
<state_machine>
|
|
39
|
+
|
|
40
|
+
<states>
|
|
41
|
+
S_PARSE — 解析 lens + flags PERSIST: —
|
|
42
|
+
S_GIT — git 活动分析(lens=git/all 时) PERSIST: metrics
|
|
43
|
+
S_DECISION — 决策质量评估(lens=decision/all 时) PERSIST: evaluations
|
|
44
|
+
S_REPORT — 生成统一报告 PERSIST: .md + .json
|
|
45
|
+
S_PERSIST — 写 spec-entry 块 PERSIST: specs/learnings.md
|
|
46
|
+
</states>
|
|
47
|
+
|
|
48
|
+
<transitions>
|
|
49
|
+
|
|
50
|
+
S_PARSE:
|
|
51
|
+
→ S_GIT WHEN: lens == git OR all DO: ensure .workflow/knowhow/ exists (mkdir -p)
|
|
52
|
+
→ S_DECISION WHEN: lens == decision DO: ensure .workflow/knowhow/ exists (mkdir -p)
|
|
53
|
+
|
|
54
|
+
S_GIT:
|
|
55
|
+
→ S_DECISION WHEN: lens == all DO: A_GIT_ANALYSIS
|
|
56
|
+
→ S_REPORT WHEN: lens == git DO: A_GIT_ANALYSIS
|
|
57
|
+
|
|
58
|
+
S_DECISION:
|
|
59
|
+
→ S_REPORT DO: A_DECISION_ANALYSIS
|
|
60
|
+
|
|
61
|
+
S_REPORT:
|
|
62
|
+
→ S_PERSIST DO: write KNW-retro-{date}.md + .json
|
|
63
|
+
|
|
64
|
+
S_PERSIST:
|
|
65
|
+
→ END DO: append insights to specs/learnings.md via `maestro spec add learning`
|
|
66
|
+
RULE: INS-id = hash(lens + metric_or_decision_id + date) for cross-session stability
|
|
67
|
+
|
|
68
|
+
</transitions>
|
|
69
|
+
|
|
70
|
+
<actions>
|
|
71
|
+
|
|
72
|
+
### A_GIT_ANALYSIS
|
|
73
|
+
|
|
74
|
+
**Parallel git commands**:
|
|
75
|
+
```bash
|
|
76
|
+
git log --since="{start}" --format="%H|%aN|%ae|%ai|%s" --shortstat
|
|
77
|
+
git log --since="{start}" --format="COMMIT:%H|%aN" --numstat
|
|
78
|
+
git log --since="{start}" --format="%at|%aN|%ai|%s" | sort -n
|
|
79
|
+
git log --since="{start}" --format="" --name-only | grep -v '^$' | sort | uniq -c | sort -rn | head -20
|
|
80
|
+
git shortlog --since="{start}" -sn --no-merges
|
|
81
|
+
```
|
|
82
|
+
Apply --author and --area filters.
|
|
83
|
+
|
|
84
|
+
**Compute metrics**:
|
|
85
|
+
|
|
86
|
+
| Metric | Formula |
|
|
87
|
+
|--------|---------|
|
|
88
|
+
| Test ratio | test_insertions / total_insertions * 100% |
|
|
89
|
+
| Churn rate | files changed >2x / total unique files |
|
|
90
|
+
| Sessions | Cluster commits by >2hr gaps in timestamps |
|
|
91
|
+
| LOC/session-hour | net_loc / total_session_hours |
|
|
92
|
+
|
|
93
|
+
**Per-author breakdown**: commits, LOC, top 3 areas, test ratio, session count.
|
|
94
|
+
|
|
95
|
+
**Trend** (if --compare or prior KNW-retro-*.json exists): compute deltas, flag >20% changes.
|
|
96
|
+
|
|
97
|
+
**Distill insights**: high churn files (instability), low test ratio areas (<20%), session patterns, area drift vs roadmap.
|
|
98
|
+
|
|
99
|
+
### A_DECISION_ANALYSIS
|
|
100
|
+
|
|
101
|
+
**Collect** (parallel):
|
|
102
|
+
```bash
|
|
103
|
+
maestro wiki search "decision" --json
|
|
104
|
+
maestro wiki list --type spec --json
|
|
105
|
+
git log --oneline --all --grep="decision\|chose\|decided" -20
|
|
106
|
+
```
|
|
107
|
+
Plus: architecture-constraints.md, phase context Locked/Deferred sections, specs/learnings.md.
|
|
108
|
+
Apply --phase/--tag/--id filters.
|
|
109
|
+
|
|
110
|
+
**Build registry** per decision: id, title, source, date, rationale, alternatives, phase, implementation_evidence [file paths].
|
|
111
|
+
|
|
112
|
+
**Evaluate** — spawn 3 Agents in single message:
|
|
113
|
+
|
|
114
|
+
| Agent | Dimension | Grades |
|
|
115
|
+
|-------|-----------|--------|
|
|
116
|
+
| Technical Soundness | Implementation matches intent? Context changed? | sound / degraded / violated |
|
|
117
|
+
| Cost Assessment | Complexity added? Coupling/debt? | low-cost / acceptable / expensive / debt-creating |
|
|
118
|
+
| Alternative Hindsight | Right call with current knowledge? Reversible? | confirmed / questionable / should-revisit |
|
|
119
|
+
|
|
120
|
+
**Classify lifecycle**:
|
|
121
|
+
|
|
122
|
+
| Status | Criteria |
|
|
123
|
+
|--------|---------|
|
|
124
|
+
| Validated | sound + low/acceptable + confirmed |
|
|
125
|
+
| Aging | sound + expensive + confirmed |
|
|
126
|
+
| Questionable | degraded/violated + questionable |
|
|
127
|
+
| Stale | any + should-revisit |
|
|
128
|
+
| Reversed | code contradicts decision |
|
|
129
|
+
|
|
130
|
+
**Recommend**: Aging → tech debt review, Questionable → create issue, Stale → refresh, Reversed → document reversal.
|
|
131
|
+
|
|
132
|
+
</actions>
|
|
133
|
+
|
|
134
|
+
</state_machine>
|
|
135
|
+
|
|
136
|
+
<error_codes>
|
|
137
|
+
| Code | Condition | Recovery |
|
|
138
|
+
|------|-----------|----------|
|
|
139
|
+
| E001 | Not in git repo (git lens) | Navigate to git repo |
|
|
140
|
+
| E002 | No commits in window (git lens) | Increase --days |
|
|
141
|
+
| E003 | No decisions found (decision lens) | Check wiki/specs or provide --id |
|
|
142
|
+
| E004 | --id not found in wiki or knowhow | Verify the decision ID exists |
|
|
143
|
+
| W002 | No prior retro for comparison | Skip trend; first retro = baseline |
|
|
144
|
+
| W003 | One perspective agent failed | Proceed with available perspectives |
|
|
145
|
+
</error_codes>
|
|
146
|
+
|
|
147
|
+
<success_criteria>
|
|
148
|
+
- [ ] Git lens: metrics computed (commits, LOC, test ratio, churn, sessions), insights distilled
|
|
149
|
+
- [ ] Decision lens: decisions collected, 3 agents evaluated in parallel, lifecycle classified
|
|
150
|
+
- [ ] Unified report + structured JSON written
|
|
151
|
+
- [ ] specs/learnings.md appended with stable INS-ids
|
|
152
|
+
</success_criteria>
|
|
153
|
+
|
|
154
|
+
<next_step_routing>
|
|
155
|
+
- Browse insights → `/manage-learn list --tag retro`
|
|
156
|
+
- Deep dive churn → `/learn-follow <path>`
|
|
157
|
+
- Fix test gaps → `/quality-auto-test <area>`
|
|
158
|
+
- Investigate stale decision → `/learn-investigate <question>`
|
|
159
|
+
</next_step_routing>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: learn-second-opinion
|
|
3
|
+
description: Get alternative perspectives — review, challenge, or consult
|
|
4
|
+
argument-hint: "<target> [--mode review|challenge|consult]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read_file
|
|
7
|
+
- write_file
|
|
8
|
+
- shell
|
|
9
|
+
- find_files
|
|
10
|
+
- search
|
|
11
|
+
- delegate_subagent
|
|
12
|
+
- ask_user
|
|
13
|
+
---
|
|
14
|
+
<!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
|
|
15
|
+
|
|
16
|
+
<purpose>
|
|
17
|
+
Structured second-opinion on code, decisions, or plans. Three modes:
|
|
18
|
+
- **review** (default): 3 parallel agents (pragmatist, purist, strategist)
|
|
19
|
+
- **challenge**: single adversarial agent — break assumptions, propose alternatives
|
|
20
|
+
- **consult**: interactive Q&A — agent studies target, answers your questions
|
|
21
|
+
|
|
22
|
+
Findings persist to `specs/learnings.md` as `<spec-entry>` blocks.
|
|
23
|
+
</purpose>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
$ARGUMENTS — target and optional mode flag.
|
|
27
|
+
|
|
28
|
+
**Target resolution** (auto-detected):
|
|
29
|
+
| Input | Resolution |
|
|
30
|
+
|-------|-----------|
|
|
31
|
+
| File path | Read file content |
|
|
32
|
+
| Wiki ID (`<type>-<slug>`) | `maestro wiki get <id>` |
|
|
33
|
+
| `HEAD` / `staged` | `git diff HEAD` / `git diff --staged` |
|
|
34
|
+
| Phase number | Resolve via state.json.artifacts[] → plan.json |
|
|
35
|
+
|
|
36
|
+
**Flags**: `--mode review|challenge|consult` (default: review)
|
|
37
|
+
|
|
38
|
+
**Pre-load** (optional): `invoke_skill("spec-load")` for conventions + `maestro wiki search "<target topic>"` for related entries.
|
|
39
|
+
|
|
40
|
+
**Output**: `.workflow/knowhow/KNW-opinion-{slug}-{YYYY-MM-DD}.md`
|
|
41
|
+
</context>
|
|
42
|
+
|
|
43
|
+
<state_machine>
|
|
44
|
+
|
|
45
|
+
<states>
|
|
46
|
+
S_RESOLVE — 解析 target PERSIST: —
|
|
47
|
+
S_CONTEXT — 加载 specs/wiki 上下文 PERSIST: —
|
|
48
|
+
S_EXECUTE — 按 mode 执行分析 PERSIST: —
|
|
49
|
+
S_SYNTHESIZE — 综合观点、生成报告 PERSIST: outputs
|
|
50
|
+
S_PERSIST — 写文件、append specs/learnings.md PERSIST: knowhow files
|
|
51
|
+
</states>
|
|
52
|
+
|
|
53
|
+
<transitions>
|
|
54
|
+
|
|
55
|
+
S_RESOLVE:
|
|
56
|
+
→ S_CONTEXT WHEN: target resolved DO: read target content
|
|
57
|
+
→ S_RESOLVE WHEN: unresolvable DO: ask_user for clarification
|
|
58
|
+
|
|
59
|
+
S_CONTEXT:
|
|
60
|
+
→ S_EXECUTE DO: load specs + wiki search (optional, proceed without)
|
|
61
|
+
|
|
62
|
+
S_EXECUTE:
|
|
63
|
+
→ S_SYNTHESIZE WHEN: mode == review DO: A_REVIEW
|
|
64
|
+
→ S_SYNTHESIZE WHEN: mode == challenge DO: A_CHALLENGE
|
|
65
|
+
→ S_SYNTHESIZE WHEN: mode == consult DO: A_CONSULT
|
|
66
|
+
|
|
67
|
+
S_SYNTHESIZE:
|
|
68
|
+
→ S_PERSIST DO: merge perspectives → agreements, disagreements, verdict, top 3 recommendations
|
|
69
|
+
|
|
70
|
+
S_PERSIST:
|
|
71
|
+
→ END DO: write KNW-opinion + append <spec-entry> blocks to specs/learnings.md
|
|
72
|
+
|
|
73
|
+
</transitions>
|
|
74
|
+
|
|
75
|
+
<actions>
|
|
76
|
+
|
|
77
|
+
### A_REVIEW
|
|
78
|
+
Spawn 3 Agents in single message:
|
|
79
|
+
|
|
80
|
+
| Agent | Focus | Question |
|
|
81
|
+
|-------|-------|----------|
|
|
82
|
+
| Pragmatist | simplicity, YAGNI, maintenance | "Simplest thing that works? Maintenance burden?" |
|
|
83
|
+
| Purist | correctness, edge cases, type safety | "What assumptions can be violated?" |
|
|
84
|
+
| Strategist | scalability, architecture alignment | "Supports future growth? Fits architecture?" |
|
|
85
|
+
|
|
86
|
+
Each returns: persona, verdict (approve/concern/reject), confidence, findings[{severity, description, location, suggestion}], summary.
|
|
87
|
+
|
|
88
|
+
### A_CHALLENGE
|
|
89
|
+
Spawn 1 adversarial Agent:
|
|
90
|
+
- Find weakest assumption
|
|
91
|
+
- Propose concrete breaking scenario
|
|
92
|
+
- Identify single biggest risk
|
|
93
|
+
- Suggest alternative approach
|
|
94
|
+
- Apply forcing questions: "What invalidates this?", "Simplest thing that breaks this?", "What would you regret in 6 months?", "What implicit contract isn't enforced?"
|
|
95
|
+
|
|
96
|
+
### A_CONSULT
|
|
97
|
+
Interactive loop:
|
|
98
|
+
1. Agent studies target
|
|
99
|
+
2. Display "Target loaded. What would you like to know?"
|
|
100
|
+
3. ask_user → Agent answers with code refs → repeat until "done"
|
|
101
|
+
4. Compile Q&A into report
|
|
102
|
+
|
|
103
|
+
</actions>
|
|
104
|
+
|
|
105
|
+
</state_machine>
|
|
106
|
+
|
|
107
|
+
<error_codes>
|
|
108
|
+
| Code | Condition | Recovery |
|
|
109
|
+
|------|-----------|----------|
|
|
110
|
+
| E002 | Unknown --mode value | Use: review, challenge, or consult |
|
|
111
|
+
| W001 | One review agent failed | Proceed with available perspectives |
|
|
112
|
+
</error_codes>
|
|
113
|
+
|
|
114
|
+
<success_criteria>
|
|
115
|
+
- [ ] Mode executed: review (3 parallel agents) / challenge (adversarial) / consult (interactive Q&A)
|
|
116
|
+
- [ ] Synthesis with agreements, disagreements, verdict
|
|
117
|
+
- [ ] Report written + findings appended to specs/learnings.md
|
|
118
|
+
</success_criteria>
|
|
119
|
+
|
|
120
|
+
<next_step_routing>
|
|
121
|
+
- Create issue → `/manage-issue create <description>`
|
|
122
|
+
- Decompose patterns → `/learn-decompose <path>`
|
|
123
|
+
- Follow code → `/learn-follow <path>`
|
|
124
|
+
</next_step_routing>
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro
|
|
3
|
+
description: Auto-route intent to optimal command chain
|
|
4
|
+
argument-hint: "<intent> [-y] [-c] [--dry-run] [--exec auto|cli|internal] [--tool <name>] [--super]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read_file
|
|
7
|
+
- write_file
|
|
8
|
+
- edit_file
|
|
9
|
+
- shell
|
|
10
|
+
- find_files
|
|
11
|
+
- search
|
|
12
|
+
- delegate_subagent
|
|
13
|
+
- ask_user
|
|
14
|
+
- track_tasks
|
|
15
|
+
---
|
|
16
|
+
<!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
|
|
17
|
+
|
|
18
|
+
<purpose>
|
|
19
|
+
Orchestrate all maestro commands based on user intent and project state.
|
|
20
|
+
Classify intent → select chain → create session → dispatch to `maestro-ralph-execute`.
|
|
21
|
+
|
|
22
|
+
Entry points:
|
|
23
|
+
- **`/maestro "intent"`** — Intent-based: classify → chain → execute
|
|
24
|
+
- **`/maestro -c`** — Resume previous session
|
|
25
|
+
- **`/maestro --dry-run "intent"`** — Show chain, no execution
|
|
26
|
+
- **`/maestro --super "intent"`** — Production-ready mode (read maestro-super.md)
|
|
27
|
+
|
|
28
|
+
Session: `.workflow/.maestro/{session_id}/status.json`
|
|
29
|
+
</purpose>
|
|
30
|
+
|
|
31
|
+
<deferred_reading>
|
|
32
|
+
- [maestro.md](~/.maestro/workflows/maestro.md) — read at execution start for intent analysis + chain selection
|
|
33
|
+
- [maestro-super.md](~/.maestro/workflows/maestro-super.md) — read when `--super` flag active
|
|
34
|
+
</deferred_reading>
|
|
35
|
+
|
|
36
|
+
<context>
|
|
37
|
+
$ARGUMENTS — user intent text, or special keywords.
|
|
38
|
+
|
|
39
|
+
**Keywords:** `continue`/`next`/`go` → state-based routing; `status` → `invoke_skill("manage-status")`
|
|
40
|
+
|
|
41
|
+
**Flags:**
|
|
42
|
+
- `-y` / `--yes` — Auto mode: skip clarification, skip confirmation, auto-skip on errors
|
|
43
|
+
- `-c` / `--continue` — Resume previous session
|
|
44
|
+
- `--dry-run` — Show chain without executing
|
|
45
|
+
- `--exec <mode>` — `auto` (default), `cli`, `internal`
|
|
46
|
+
- `--tool <name>` — CLI tool for delegates (default: claude)
|
|
47
|
+
- `--super` — Read and follow `maestro-super.md`
|
|
48
|
+
</context>
|
|
49
|
+
|
|
50
|
+
<invariants>
|
|
51
|
+
1. **All chains dispatch via maestro-ralph-execute** — maestro never executes steps directly
|
|
52
|
+
2. **Session before execution** — status.json created before any step runs
|
|
53
|
+
3. **Auto flags only to supporting commands** — unlisted commands execute as-is
|
|
54
|
+
4. **Decomposition contract shared with maestro-ralph** — broad/lifecycle intents run S_DECOMPOSE producing the SAME additive block (`boundary_contract`, `execution_criteria`, `task_decomposition`, `goal_checklist_path`) + `goal-checklist.md`, then EMIT the `/goal` bind prompt. Reference maestro-ralph `A_DECOMPOSE_TASKS` for the full spec; do not duplicate logic
|
|
55
|
+
5. **Status JSON: schema-additive + step-dynamic** — decomposition fields OPTIONAL (absent → old flat-chain behavior); `steps[]` is a living array grown at runtime by ralph-execute's `post-goal-audit`. Never remove/rename existing fields
|
|
56
|
+
</invariants>
|
|
57
|
+
|
|
58
|
+
<state_machine>
|
|
59
|
+
|
|
60
|
+
<states>
|
|
61
|
+
S_PARSE — 解析参数、检测 flags PERSIST: —
|
|
62
|
+
S_RESUME — 扫描已有 session、恢复执行 PERSIST: —
|
|
63
|
+
S_CLASSIFY — 意图分类、chain 选择 PERSIST: —
|
|
64
|
+
S_DECOMPOSE — 边界澄清、写执行准则+子目标清单 PERSIST: session.boundary_contract, .execution_criteria, .task_decomposition
|
|
65
|
+
S_CREATE — 创建 session + status.json PERSIST: session (全量)
|
|
66
|
+
S_DRY_RUN — 显示 chain 后结束 PERSIST: —
|
|
67
|
+
S_CONFIRM — 用户确认(auto_mode 跳过) PERSIST: —
|
|
68
|
+
S_DISPATCH — 移交 maestro-ralph-execute PERSIST: —
|
|
69
|
+
S_FALLBACK — 意图无法分类、请求输入 PERSIST: —
|
|
70
|
+
</states>
|
|
71
|
+
|
|
72
|
+
<transitions>
|
|
73
|
+
|
|
74
|
+
S_PARSE:
|
|
75
|
+
→ S_RESUME WHEN: -c / --continue flag
|
|
76
|
+
→ S_CLASSIFY WHEN: intent text present
|
|
77
|
+
→ S_CLASSIFY WHEN: keyword "continue"/"next"/"go" DO: A_STATE_BASED_ROUTE
|
|
78
|
+
→ S_FALLBACK WHEN: no intent AND no flags
|
|
79
|
+
|
|
80
|
+
S_RESUME:
|
|
81
|
+
→ S_DISPATCH WHEN: session found DO: A_LOCATE_SESSION
|
|
82
|
+
→ S_FALLBACK WHEN: no session found
|
|
83
|
+
|
|
84
|
+
S_CLASSIFY:
|
|
85
|
+
→ S_DECOMPOSE WHEN: chain resolved DO: A_CLASSIFY_INTENT
|
|
86
|
+
→ S_FALLBACK WHEN: no match AND auto_mode
|
|
87
|
+
→ S_CLASSIFY WHEN: no match AND not auto_mode DO: A_CLARIFY
|
|
88
|
+
GUARD: max 2 clarification rounds → S_FALLBACK
|
|
89
|
+
|
|
90
|
+
S_DECOMPOSE:
|
|
91
|
+
→ S_CREATE DO: A_DECOMPOSE_TASKS
|
|
92
|
+
GUARD: broad intent (重构/全面/重写/迁移/overhaul/migrate/rewrite) on a multi-step lifecycle chain → MUST clarify even if auto_mode
|
|
93
|
+
GUARD: single-step chain OR narrow intent OR chain ∈ {status,init,quick} → skip decomposition (pass through)
|
|
94
|
+
|
|
95
|
+
S_CREATE:
|
|
96
|
+
→ S_DRY_RUN WHEN: --dry-run flag DO: A_CREATE_SESSION
|
|
97
|
+
→ S_CONFIRM WHEN: not auto_mode DO: A_CREATE_SESSION
|
|
98
|
+
→ S_DISPATCH WHEN: auto_mode DO: A_CREATE_SESSION
|
|
99
|
+
|
|
100
|
+
S_DRY_RUN:
|
|
101
|
+
→ END DO: display chain with step types
|
|
102
|
+
|
|
103
|
+
S_CONFIRM:
|
|
104
|
+
→ S_DISPATCH WHEN: user confirms
|
|
105
|
+
→ S_PARSE WHEN: user wants to modify
|
|
106
|
+
→ END WHEN: user cancels
|
|
107
|
+
|
|
108
|
+
S_DISPATCH:
|
|
109
|
+
→ END DO: invoke_skill({ skill: "maestro-ralph-execute" })
|
|
110
|
+
|
|
111
|
+
S_FALLBACK:
|
|
112
|
+
→ S_CLASSIFY WHEN: user provides new intent DO: ask_user
|
|
113
|
+
→ END WHEN: user cancels
|
|
114
|
+
|
|
115
|
+
</transitions>
|
|
116
|
+
|
|
117
|
+
<actions>
|
|
118
|
+
|
|
119
|
+
### A_STATE_BASED_ROUTE
|
|
120
|
+
|
|
121
|
+
1. Read `.workflow/state.json` → determine next logical step
|
|
122
|
+
2. Convert to equivalent intent for chain classification
|
|
123
|
+
|
|
124
|
+
### A_LOCATE_SESSION
|
|
125
|
+
|
|
126
|
+
1. Scan `.workflow/.maestro/*/status.json`, filter `status == "running"`, sort DESC
|
|
127
|
+
2. Take most recent; if not found → S_FALLBACK
|
|
128
|
+
|
|
129
|
+
### A_CLASSIFY_INTENT
|
|
130
|
+
|
|
131
|
+
1. Read `~/.maestro/workflows/maestro.md` from deferred_reading
|
|
132
|
+
2. Match intent to best task_type via chain catalog (semantic, AI-driven)
|
|
133
|
+
3. Select chain from chainMap
|
|
134
|
+
4. Determine per-step type: `internal` (Skill) or `external` (delegate)
|
|
135
|
+
|
|
136
|
+
### A_CLARIFY
|
|
137
|
+
|
|
138
|
+
1. `ask_user` with parsed intent + available chain options
|
|
139
|
+
2. Re-classify with user response
|
|
140
|
+
|
|
141
|
+
### A_DECOMPOSE_TASKS
|
|
142
|
+
|
|
143
|
+
与 maestro-ralph `A_DECOMPOSE_TASKS` 共享分解契约 —— 引用该规范,不重复表格。Condensed:
|
|
144
|
+
|
|
145
|
+
1. 分类意图广度(broad: 重构/全面/重写/迁移/overhaul/migrate/rewrite;narrow: 单文件/函数/bug)。narrow / 单步 / `{status,init,quick}` 链直接跳过
|
|
146
|
+
2. broad/medium → `ask_user` ≤3 轮:Scope(in/out)| Constraints(兼容/API/perf/test)| Definition of Done
|
|
147
|
+
3. 派生 `execution_criteria`(3-6 条命令式规则)+ `task_decomposition`(outcome 子目标,`done_when` 客观可校验,绑定到 ralph 产物:verification.json / review.json / uat.md / test path)
|
|
148
|
+
4. **status.json 为唯一真源**:写入 `boundary_contract` / `execution_criteria` / `task_decomposition` / `goal_checklist_path`;从 status.json 投影渲染 `{session_dir}/goal-checklist.md`(同 maestro-ralph 的 Sync Rule,含 Resume 区块指向 `/maestro-ralph continue`)
|
|
149
|
+
5. 在链路末尾(evidence 产出步骤之后、milestone-complete/close-out 之前)追加 `{ type: "decision", decision: "post-goal-audit", retry_count: 0, max_retries: 2 }`。ralph-execute 在该节点动态生长 `steps[]` 以收敛未达成子目标
|
|
150
|
+
6. **输出 `/goal` 绑定提示词(参考文档 + 内嵌 ralph 调用):**
|
|
151
|
+
```
|
|
152
|
+
📋 任务分解完成。复制下面一行设定目标,会话在子目标全部达成前不停:
|
|
153
|
+
|
|
154
|
+
/goal 目标达成条件: {session_dir}/status.json 中 task_decomposition[*].status 全部为 "done"(等价: {session_dir}/goal-checklist.md 末尾含 ALL_GOALS_DONE)。未达成时: 阅读 {session_dir}/goal-checklist.md 取得"执行准则/边界契约/子目标"作为行动手册, 然后调用 /maestro-ralph continue 推进下一步; 严禁手动执行 skill 或越界。
|
|
155
|
+
```
|
|
156
|
+
`/goal` 仅用户可输入;判据以 status.json 为权威,哨兵为等价信号。
|
|
157
|
+
|
|
158
|
+
### A_CREATE_SESSION
|
|
159
|
+
|
|
160
|
+
1. Read `.workflow/state.json` for project context (phase, milestone)
|
|
161
|
+
2. Create `.workflow/.maestro/maestro-{YYYYMMDD-HHMMSS}/status.json`:
|
|
162
|
+
```json
|
|
163
|
+
{ "session_id", "source": "maestro", "intent", "task_type", "chain_name",
|
|
164
|
+
"phase", "milestone", "auto_mode", "exec_mode", "cli_tool",
|
|
165
|
+
"context": { ... }, "steps": [{ "index", "skill", "args", "type", "status": "pending", "goal_ref": null }],
|
|
166
|
+
"waves": [], "current_step": 0, "status": "running",
|
|
167
|
+
"_comment": "↓ OPTIONAL additive block — present only if S_DECOMPOSE ran; absent → old flat-chain behavior",
|
|
168
|
+
"boundary_contract": {}, "execution_criteria": [], "task_decomposition": [], "goal_checklist_path": "" }
|
|
169
|
+
```
|
|
170
|
+
Decomposition fields written ONLY if A_DECOMPOSE_TASKS produced them (additive; never break flat-chain readers)
|
|
171
|
+
3. Initialize tracking via `track_tasks`. The decomposition goal is bound by the user via the emitted `/goal` prompt
|
|
172
|
+
4. If `--super`: read `maestro-super.md`, follow it completely
|
|
173
|
+
|
|
174
|
+
</actions>
|
|
175
|
+
|
|
176
|
+
</state_machine>
|
|
177
|
+
|
|
178
|
+
<appendix>
|
|
179
|
+
|
|
180
|
+
### Auto-Yes Flag Map
|
|
181
|
+
|
|
182
|
+
| Command | Auto Flag | Effect |
|
|
183
|
+
|---------|-----------|--------|
|
|
184
|
+
| maestro-init | `-y` | Skip interactive questioning |
|
|
185
|
+
| maestro-analyze | `-y` | Skip scoping, auto-deepen |
|
|
186
|
+
| maestro-brainstorm | `-y` | Skip questions, use defaults |
|
|
187
|
+
| maestro-roadmap | `-y` | Skip questions (create/revise/review) |
|
|
188
|
+
| maestro-impeccable | `-y` | Auto-select design variant + skip confirmations |
|
|
189
|
+
| maestro-plan | `-y` | Skip confirmations and clarification |
|
|
190
|
+
| maestro-execute | `-y` | Skip confirmations, blocked auto-continue |
|
|
191
|
+
| quality-auto-test | `-y` | Skip plan confirmation |
|
|
192
|
+
| quality-test | `-y --auto-fix` | Auto-trigger gap-fix loop |
|
|
193
|
+
| quality-retrospective | `-y` | Accept all routing recommendations |
|
|
194
|
+
| maestro-milestone-complete | `-y` | Skip knowledge promotion |
|
|
195
|
+
|
|
196
|
+
Unlisted commands have no auto flags.
|
|
197
|
+
|
|
198
|
+
### Error Codes
|
|
199
|
+
|
|
200
|
+
| Code | Severity | Description | Recovery |
|
|
201
|
+
|------|----------|-------------|----------|
|
|
202
|
+
| E001 | error | No intent and project not initialized | Prompt or suggest maestro-init |
|
|
203
|
+
| E002 | error | Clarity too low after 2 rounds | Show parsed intent, ask rephrase |
|
|
204
|
+
| E003 | error | Chain step failed + user abort | Record partial, suggest -c resume |
|
|
205
|
+
| E004 | error | Resume session not found | Show available sessions |
|
|
206
|
+
| W001 | warning | Ambiguous intent, multiple chains | Present options |
|
|
207
|
+
| W002 | warning | Step completed with warnings | Log and continue |
|
|
208
|
+
| W003 | warning | State suggests different chain | Show discrepancy |
|
|
209
|
+
|
|
210
|
+
### Success Criteria
|
|
211
|
+
|
|
212
|
+
- [ ] Intent classified with task_type, complexity, clarity_score
|
|
213
|
+
- [ ] Broad lifecycle intents decomposed (S_DECOMPOSE, ≤3 boundary questions) sharing maestro-ralph contract; narrow/single-step skip
|
|
214
|
+
- [ ] status.json 为唯一真源;goal-checklist.md 为投影视图(Resume 区块内嵌 `/maestro-ralph continue`);post-goal-audit 节点追加;/goal 提示词内含"读 checklist + 调 /maestro-ralph continue"双重指引
|
|
215
|
+
- [ ] Chain selected and confirmed (or auto-confirmed)
|
|
216
|
+
- [ ] Session dir created with status.json before execution; decomposition fields additive-only
|
|
217
|
+
- [ ] Tracking via track_tasks (Claude); status.json steps[] grown dynamically by ralph-execute post-goal-audit
|
|
218
|
+
- [ ] Auto flags propagated to supporting commands only
|
|
219
|
+
- [ ] All chains dispatched via maestro-ralph-execute
|
|
220
|
+
- [ ] Low-complexity intents routed to maestro-quick
|
|
221
|
+
- [ ] (super) Requirements validated before roadmap
|
|
222
|
+
- [ ] (super) Each milestone scored >= 80%
|
|
223
|
+
|
|
224
|
+
</appendix>
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-amend
|
|
3
|
+
description: Generate overlays to fix workflow command deficiencies
|
|
4
|
+
argument-hint: "[description] [--from-verify <dir>] [--from-review <dir>] [--from-session <id>] [--from-issues ISS-xxx,...] [--scan] [--dry-run]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read_file
|
|
7
|
+
- write_file
|
|
8
|
+
- shell
|
|
9
|
+
- find_files
|
|
10
|
+
- search
|
|
11
|
+
- ask_user
|
|
12
|
+
---
|
|
13
|
+
<!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
|
|
14
|
+
|
|
15
|
+
<purpose>
|
|
16
|
+
Signal-driven overlay generator — collect workflow deficiency signals from multiple sources, diagnose which commands need amendment, batch-generate targeted overlays. All amendments use overlay system (`~/.maestro/overlays/*.json`) — non-invasive, idempotent, survives reinstall.
|
|
17
|
+
|
|
18
|
+
Differs from `/maestro-overlay` (single explicit intent). This command **discovers** what needs amending by analyzing workflow artifacts.
|
|
19
|
+
</purpose>
|
|
20
|
+
|
|
21
|
+
<required_reading>
|
|
22
|
+
@~/.maestro/workflows/overlays.md
|
|
23
|
+
@~/.maestro/cli-tools.json
|
|
24
|
+
</required_reading>
|
|
25
|
+
|
|
26
|
+
<context>
|
|
27
|
+
$ARGUMENTS — optional description and/or source flags.
|
|
28
|
+
|
|
29
|
+
**Signal sources**:
|
|
30
|
+
|
|
31
|
+
| Flag | Source | Collects |
|
|
32
|
+
|------|--------|----------|
|
|
33
|
+
| `--from-verify <dir>` | verification.json | Workflow gaps from verify failures |
|
|
34
|
+
| `--from-review <dir>` | review.json | Process deficiencies from code review |
|
|
35
|
+
| `--from-session <id>` | Session artifacts | Problems during workflow execution |
|
|
36
|
+
| `--from-issues ISS-xxx,...` | issues.jsonl | Issues tracing to command deficiency |
|
|
37
|
+
| `--scan` | Auto-scan .workflow/ | Discover all workflow-related signals |
|
|
38
|
+
| _(positional text)_ | User description | Direct observation |
|
|
39
|
+
|
|
40
|
+
Multiple combinable. No flags + no description → interactive (scan + ask_user).
|
|
41
|
+
|
|
42
|
+
**Control**: `--dry-run` (preview, don't install), `-y` (skip confirmations)
|
|
43
|
+
|
|
44
|
+
**CLI targeting**: `"cli": "claude"` (default, patches .claude/commands/), `"codex"` (patches .codex/skills/), `"both"` (both paths)
|
|
45
|
+
|
|
46
|
+
**Output**: `~/.maestro/overlays/amend-{slug}.json` + optional `~/.maestro/overlays/docs/amend-{slug}.md`
|
|
47
|
+
</context>
|
|
48
|
+
|
|
49
|
+
<state_machine>
|
|
50
|
+
|
|
51
|
+
<states>
|
|
52
|
+
S_COLLECT — 收集信号(从 flags / scan / description) PERSIST: —
|
|
53
|
+
S_DIAGNOSE — 映射信号到命令补丁 PERSIST: —
|
|
54
|
+
S_GROUP — 分组、规划 overlay 粒度 PERSIST: —
|
|
55
|
+
S_PREVIEW — 展示注入点地图、用户确认 PERSIST: —
|
|
56
|
+
S_DRAFT — 生成 overlay JSON PERSIST: overlay files
|
|
57
|
+
S_INSTALL — 安装 overlay PERSIST: command files
|
|
58
|
+
S_REPORT — 报告摘要 + post-patch routing PERSIST: —
|
|
59
|
+
</states>
|
|
60
|
+
|
|
61
|
+
<transitions>
|
|
62
|
+
|
|
63
|
+
S_COLLECT:
|
|
64
|
+
→ S_DIAGNOSE WHEN: signals found DO: A_COLLECT_SIGNALS
|
|
65
|
+
→ ERROR(E001) WHEN: no signals from any source
|
|
66
|
+
|
|
67
|
+
S_DIAGNOSE:
|
|
68
|
+
→ S_GROUP WHEN: command deficiencies identified DO: A_DIAGNOSE_SIGNALS
|
|
69
|
+
→ ERROR(E003) WHEN: all signals are code bugs (not command gaps)
|
|
70
|
+
|
|
71
|
+
S_GROUP:
|
|
72
|
+
→ S_PREVIEW DO: A_GROUP_OVERLAYS
|
|
73
|
+
|
|
74
|
+
S_PREVIEW:
|
|
75
|
+
→ S_DRAFT WHEN: user confirms "Apply all" or selects patches
|
|
76
|
+
→ S_PREVIEW WHEN: user selects "Edit" DO: modify signal target/section
|
|
77
|
+
→ END WHEN: user cancels
|
|
78
|
+
|
|
79
|
+
S_DRAFT:
|
|
80
|
+
→ S_INSTALL WHEN: not --dry-run DO: A_DRAFT_OVERLAYS
|
|
81
|
+
→ END WHEN: --dry-run DO: display JSON + section map preview
|
|
82
|
+
|
|
83
|
+
S_INSTALL:
|
|
84
|
+
→ S_REPORT DO: A_INSTALL_OVERLAYS (`maestro overlay add`, retry max 2 on validation failure)
|
|
85
|
+
|
|
86
|
+
S_REPORT:
|
|
87
|
+
→ END DO: display summary (signals collected/applied/skipped, overlay details, skipped code-bug routing)
|
|
88
|
+
|
|
89
|
+
</transitions>
|
|
90
|
+
|
|
91
|
+
<actions>
|
|
92
|
+
|
|
93
|
+
### A_COLLECT_SIGNALS
|
|
94
|
+
|
|
95
|
+
**If source flags**: extract signals from each specified source.
|
|
96
|
+
**If --scan or interactive**: scan .workflow/ for:
|
|
97
|
+
- verification.json → must_have_failures, anti_patterns (filter for command gap direction)
|
|
98
|
+
- review.json → findings tagged "process" or "workflow"
|
|
99
|
+
- debug understanding.md → root causes with workflow/command cause_type
|
|
100
|
+
- issues.jsonl → status=open AND tags include "workflow"/"command"
|
|
101
|
+
- execution summaries → plan deviations suggesting missing command step
|
|
102
|
+
|
|
103
|
+
**If only description**: parse for affected command(s), what's missing, expected behavior.
|
|
104
|
+
|
|
105
|
+
### A_DIAGNOSE_SIGNALS
|
|
106
|
+
|
|
107
|
+
Per signal, determine:
|
|
108
|
+
- signal_id, source, description, target_command, target_section, patch_mode, fix_direction, severity
|
|
109
|
+
|
|
110
|
+
**Section mapping**:
|
|
111
|
+
|
|
112
|
+
| Signal pattern | Section | Mode |
|
|
113
|
+
|---------------|---------|------|
|
|
114
|
+
| Missing pre-check/gate | execution | prepend |
|
|
115
|
+
| Missing post-step/verification | execution | append |
|
|
116
|
+
| Missing reading/context | required_reading / deferred_reading | append |
|
|
117
|
+
| Incomplete success criteria | success_criteria | append |
|
|
118
|
+
| Missing error handling | error_codes | append |
|
|
119
|
+
| Scope/context gap | context | append |
|
|
120
|
+
| Entirely new concern | _(new section)_ | new-section |
|
|
121
|
+
|
|
122
|
+
Read pristine source from `$PKG_ROOT/.claude/commands/<name>.md` to confirm section.
|
|
123
|
+
Classify: command deficiency → proceed; code bug → skip (suggest /maestro-quick).
|
|
124
|
+
|
|
125
|
+
### A_GROUP_OVERLAYS
|
|
126
|
+
|
|
127
|
+
Group by target command + section (merge same command+section).
|
|
128
|
+
Granularity: 1-2 signals → `patch-{command}-{slug}.json`; 3+ cross-command → `amend-{slug}.json`.
|
|
129
|
+
Read target commands to verify sections exist, check existing overlays.
|
|
130
|
+
|
|
131
|
+
Display section map with injection points per target command.
|
|
132
|
+
|
|
133
|
+
### A_DRAFT_OVERLAYS
|
|
134
|
+
|
|
135
|
+
Build overlay JSON per schema: name, description, targets[], cli, priority (60), enabled, patches[{section, mode, content}].
|
|
136
|
+
Content rules: heading includes `(patch: SIG-NNN)`, concise, supplementary doc to `~/.maestro/overlays/docs/` if >10 lines.
|
|
137
|
+
|
|
138
|
+
### A_INSTALL_OVERLAYS
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
maestro overlay add ~/.maestro/overlays/amend-{slug}.json
|
|
142
|
+
```
|
|
143
|
+
On validation failure: fix JSON, retry (max 2).
|
|
144
|
+
|
|
145
|
+
</actions>
|
|
146
|
+
|
|
147
|
+
</state_machine>
|
|
148
|
+
|
|
149
|
+
<error_codes>
|
|
150
|
+
| Code | Condition | Recovery |
|
|
151
|
+
|------|-----------|----------|
|
|
152
|
+
| E001 | No signals from any source | Verify artifact paths or provide description |
|
|
153
|
+
| E003 | All signals are code bugs, not command gaps | Use /maestro-quick or /maestro-plan --gaps |
|
|
154
|
+
| E004 | Overlay validation failed after 2 retries | Review JSON manually |
|
|
155
|
+
| W001 | Some signals skipped (code bugs) | Route to appropriate fix command |
|
|
156
|
+
| W002 | Target command has >= 3 existing overlays | Consider consolidating |
|
|
157
|
+
</error_codes>
|
|
158
|
+
|
|
159
|
+
<success_criteria>
|
|
160
|
+
- [ ] Signals classified: command deficiency vs code bug
|
|
161
|
+
- [ ] Pristine command sources read to verify injection points
|
|
162
|
+
- [ ] Section map with injection points confirmed by user
|
|
163
|
+
- [ ] Overlay JSON installed successfully; command files contain overlay markers
|
|
164
|
+
- [ ] Skipped code-bug signals routed to alternatives
|
|
165
|
+
</success_criteria>
|