maestro-flow 0.3.9 → 0.3.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/.claude/agents/workflow-collab-planner.md +1 -1
- package/.claude/agents/workflow-executor.md +1 -1
- package/.claude/agents/workflow-plan-checker.md +1 -1
- package/.claude/agents/workflow-planner.md +1 -1
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-retro.md +1 -1
- package/.claude/commands/maestro-analyze.md +46 -3
- package/.claude/commands/maestro-coordinate.md +1 -3
- package/.claude/commands/maestro-execute.md +14 -0
- package/.claude/commands/maestro-plan.md +16 -0
- package/.claude/commands/manage-harvest.md +131 -131
- package/.claude/commands/manage-issue-discover.md +2 -2
- package/.claude/commands/manage-issue.md +5 -5
- package/.claude/commands/spec-add.md +67 -56
- package/.claude/commands/spec-load.md +66 -64
- package/.claude/commands/spec-setup.md +5 -9
- package/.codex/skills/learn-decompose/SKILL.md +119 -0
- package/.codex/skills/learn-follow/SKILL.md +83 -0
- package/.codex/skills/learn-investigate/SKILL.md +83 -0
- package/.codex/skills/learn-retro/SKILL.md +83 -0
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
- package/.codex/skills/maestro/SKILL.md +335 -0
- package/.codex/skills/maestro-analyze/SKILL.md +84 -75
- package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
- package/.codex/skills/maestro-chain/SKILL.md +233 -0
- package/.codex/skills/maestro-coordinate/SKILL.md +167 -278
- package/.codex/skills/maestro-execute/SKILL.md +435 -438
- package/.codex/skills/maestro-fork/SKILL.md +68 -0
- package/.codex/skills/maestro-init/SKILL.md +171 -167
- package/.codex/skills/maestro-learn/SKILL.md +80 -0
- package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
- package/.codex/skills/maestro-merge/SKILL.md +62 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
- package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
- package/.codex/skills/maestro-overlay/SKILL.md +188 -185
- package/.codex/skills/maestro-plan/SKILL.md +66 -69
- package/.codex/skills/maestro-quick/SKILL.md +26 -23
- package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
- package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
- package/.codex/skills/maestro-ui-design/SKILL.md +34 -31
- package/.codex/skills/maestro-verify/SKILL.md +556 -566
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
- package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
- package/.codex/skills/manage-harvest/SKILL.md +82 -0
- package/.codex/skills/manage-issue/SKILL.md +80 -65
- package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
- package/.codex/skills/manage-learn/SKILL.md +190 -186
- package/.codex/skills/manage-memory/SKILL.md +95 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
- package/.codex/skills/manage-status/SKILL.md +102 -89
- package/.codex/skills/quality-business-test/SKILL.md +228 -223
- package/.codex/skills/quality-debug/SKILL.md +54 -66
- package/.codex/skills/quality-integration-test/SKILL.md +532 -544
- package/.codex/skills/quality-refactor/SKILL.md +197 -191
- package/.codex/skills/quality-retrospective/SKILL.md +512 -505
- package/.codex/skills/quality-review/SKILL.md +93 -105
- package/.codex/skills/quality-sync/SKILL.md +101 -89
- package/.codex/skills/quality-test/SKILL.md +202 -198
- package/.codex/skills/quality-test-gen/SKILL.md +93 -104
- package/.codex/skills/spec-add/SKILL.md +58 -39
- package/.codex/skills/spec-load/SKILL.md +45 -40
- package/.codex/skills/spec-map/SKILL.md +180 -182
- package/.codex/skills/spec-setup/SKILL.md +94 -76
- package/.codex/skills/team-coordinate/SKILL.md +346 -357
- package/.codex/skills/team-executor/SKILL.md +70 -112
- package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
- package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
- package/.codex/skills/team-review/SKILL.md +232 -225
- package/.codex/skills/team-tech-debt/SKILL.md +78 -100
- package/.codex/skills/team-testing/SKILL.md +242 -235
- package/.codex/skills/wiki-connect/SKILL.md +75 -0
- package/.codex/skills/wiki-digest/SKILL.md +87 -0
- package/README.md +14 -11
- package/README.zh-CN.md +14 -11
- package/chains/issue-lifecycle.json +13 -13
- package/chains/singles/issue-analyze.json +3 -3
- package/chains/singles/issue-execute.json +3 -3
- package/chains/singles/issue-plan.json +3 -3
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
- package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +21 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/src/hooks/constants.d.ts +92 -12
- package/dashboard/dist-server/src/hooks/constants.js +151 -16
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dashboard/dist-server/src/types/index.d.ts +5 -0
- package/dist/src/commands/collab.d.ts +1 -34
- package/dist/src/commands/collab.d.ts.map +1 -1
- package/dist/src/commands/collab.js +8 -76
- package/dist/src/commands/collab.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +5 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +115 -10
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +5 -1
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +7 -3
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -2
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
- package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
- package/dist/src/hooks/constants.d.ts +92 -12
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +151 -16
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/guards/index.d.ts +2 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -1
- package/dist/src/hooks/guards/index.js +2 -0
- package/dist/src/hooks/guards/index.js.map +1 -1
- package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
- package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
- package/dist/src/hooks/guards/preflight-guard.js +95 -0
- package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
- package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
- package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
- package/dist/src/hooks/guards/spec-validator.js +66 -0
- package/dist/src/hooks/guards/spec-validator.js.map +1 -0
- package/dist/src/hooks/index.d.ts +1 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.js +96 -0
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/preflight-core.d.ts +37 -0
- package/dist/src/hooks/preflight-core.d.ts.map +1 -0
- package/dist/src/hooks/preflight-core.js +86 -0
- package/dist/src/hooks/preflight-core.js.map +1 -0
- package/dist/src/hooks/spec-bridge.d.ts +40 -0
- package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
- package/dist/src/hooks/spec-bridge.js +97 -0
- package/dist/src/hooks/spec-bridge.js.map +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +18 -12
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts +8 -17
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +269 -112
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +5 -0
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +5 -0
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +5 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/team/phase-orchestrator.d.ts +52 -0
- package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
- package/dist/src/team/phase-orchestrator.js +165 -0
- package/dist/src/team/phase-orchestrator.js.map +1 -0
- package/dist/src/team/phase-types.d.ts +51 -0
- package/dist/src/team/phase-types.d.ts.map +1 -0
- package/dist/src/team/phase-types.js +41 -0
- package/dist/src/team/phase-types.js.map +1 -0
- package/dist/src/tools/collab-adapter.d.ts +17 -0
- package/dist/src/tools/collab-adapter.d.ts.map +1 -1
- package/dist/src/tools/collab-adapter.js +138 -0
- package/dist/src/tools/collab-adapter.js.map +1 -1
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/merge-validator.d.ts +24 -0
- package/dist/src/tools/merge-validator.d.ts.map +1 -0
- package/dist/src/tools/merge-validator.js +220 -0
- package/dist/src/tools/merge-validator.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +56 -0
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
- package/dist/src/tools/spec-entry-parser.js +196 -0
- package/dist/src/tools/spec-entry-parser.js.map +1 -0
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +66 -92
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-keyword-index.d.ts +30 -0
- package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
- package/dist/src/tools/spec-keyword-index.js +101 -0
- package/dist/src/tools/spec-keyword-index.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +3 -3
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +49 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-agents.d.ts +27 -0
- package/dist/src/tools/team-agents.d.ts.map +1 -0
- package/dist/src/tools/team-agents.js +362 -0
- package/dist/src/tools/team-agents.js.map +1 -0
- package/dist/src/tools/team-mailbox.d.ts +40 -0
- package/dist/src/tools/team-mailbox.d.ts.map +1 -0
- package/dist/src/tools/team-mailbox.js +384 -0
- package/dist/src/tools/team-mailbox.js.map +1 -0
- package/dist/src/tools/team-msg.d.ts +17 -8
- package/dist/src/tools/team-msg.d.ts.map +1 -1
- package/dist/src/tools/team-msg.js +110 -13
- package/dist/src/tools/team-msg.js.map +1 -1
- package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
- package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
- package/dist/src/tools/team-tasks-mcp.js +408 -0
- package/dist/src/tools/team-tasks-mcp.js.map +1 -0
- package/dist/src/types/index.d.ts +5 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
- package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
- package/templates/search-tools.md +1 -1
- package/workflows/analyze.md +816 -816
- package/workflows/brainstorm.md +471 -471
- package/workflows/cli-tools-usage.md +44 -27
- package/workflows/codebase-rebuild.md +332 -332
- package/workflows/codebase-refresh.md +240 -240
- package/workflows/delegate-usage.md +3 -3
- package/workflows/execute.md +1 -1
- package/workflows/harvest.md +420 -420
- package/workflows/integration-test.md +343 -343
- package/workflows/issue-analyze.md +6 -2
- package/workflows/issue-discover.md +414 -414
- package/workflows/issue-execute.md +6 -3
- package/workflows/issue-plan.md +5 -2
- package/workflows/maestro-coordinate.codex.md +281 -470
- package/workflows/maestro-coordinate.md +14 -14
- package/workflows/maestro-link-coordinate.md +2 -2
- package/workflows/maestro.codex.md +710 -0
- package/workflows/maestro.md +10 -11
- package/workflows/map.md +111 -111
- package/workflows/milestone-complete.md +176 -176
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +497 -497
- package/workflows/refactor.md +300 -300
- package/workflows/retrospective.md +1 -1
- package/workflows/roadmap.md +335 -335
- package/workflows/spec-generate.md +640 -640
- package/workflows/specs-add.md +46 -81
- package/workflows/specs-load.md +15 -17
- package/workflows/specs-setup.md +40 -161
- package/.claude/commands/manage-issue-analyze.md +0 -62
- package/.claude/commands/manage-issue-execute.md +0 -73
- package/.claude/commands/manage-issue-plan.md +0 -62
- package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
- package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
- package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
|
@@ -1,186 +1,190 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-learn
|
|
3
|
-
description: Capture atomic learning insights into .workflow/learning/lessons.jsonl. Lightweight CRUD over the shared learning store — supports capture, list, search, and show modes. No LLM or CLI calls; all operations are pure file reads and writes.
|
|
4
|
-
argument-hint: "[\"<insight text>\"|list|search <query>|show <INS-id>] [--category pattern|antipattern|decision|tool|gotcha|technique] [--tag t1,t2] [--phase N] [--confidence high|medium|low]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
```javascript
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
|
172
|
-
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
1
|
+
---
|
|
2
|
+
name: manage-learn
|
|
3
|
+
description: Capture atomic learning insights into .workflow/learning/lessons.jsonl. Lightweight CRUD over the shared learning store — supports capture, list, search, and show modes. No LLM or CLI calls; all operations are pure file reads and writes.
|
|
4
|
+
argument-hint: "[\"<insight text>\"|list|search <query>|show <INS-id>] [--category pattern|antipattern|decision|tool|gotcha|technique] [--tag t1,t2] [--phase N] [--confidence high|medium|low]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Pure file-operation CRUD skill for the workflow learning library. No agent spawning, no CLI calls, no LLM inference — just parse-infer-append-confirm. Complements `quality-retrospective`: where retrospective extracts insights in bulk from completed phases, `manage-learn` captures one timeless insight at a time during active work. Both write to the same `lessons.jsonl` store, disambiguated by `source` and `lens` fields.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Parse Mode → Bootstrap Store → Execute Mode → Confirm
|
|
13
|
+
(capture / (on first use) (Bash/Read/ (INS-id
|
|
14
|
+
list / Bash+Write) Write/Grep) + hints)
|
|
15
|
+
search /
|
|
16
|
+
show)
|
|
17
|
+
```
|
|
18
|
+
</purpose>
|
|
19
|
+
|
|
20
|
+
<context>
|
|
21
|
+
$ARGUMENTS — mode token followed by options.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
$manage-learn "Always read state.json before planning to detect current phase"
|
|
25
|
+
$manage-learn "list --limit 10 --category antipattern"
|
|
26
|
+
$manage-learn "search context propagation"
|
|
27
|
+
$manage-learn "show INS-a3f7b2c1"
|
|
28
|
+
$manage-learn "\"Zod v4 breaks z.object().strict() API\" --category gotcha --tag zod,typescript"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Flags** (capture mode):
|
|
32
|
+
- `--category <name>` — `pattern|antipattern|decision|tool|gotcha|technique`. Default: inferred from text keywords.
|
|
33
|
+
- `--tag t1,t2` — Comma-separated tags. Always adds `manual` implicitly.
|
|
34
|
+
- `--phase <N>` — Override auto-detected current phase. `--phase 0` forces no phase link.
|
|
35
|
+
- `--confidence high|medium|low` — Default: medium.
|
|
36
|
+
|
|
37
|
+
**Flags** (list/search mode):
|
|
38
|
+
- `--tag t1,t2` — Filter by tag
|
|
39
|
+
- `--category <name>` — Filter by category
|
|
40
|
+
- `--phase <N>` — Filter by phase
|
|
41
|
+
- `--lens <name>` — Filter by retrospective lens (technical|process|quality|decision)
|
|
42
|
+
- `--limit <N>` — Row limit (default 20)
|
|
43
|
+
|
|
44
|
+
**Storage**:
|
|
45
|
+
- `.workflow/learning/lessons.jsonl` — append-only JSONL (shared with `quality-retrospective`)
|
|
46
|
+
- `.workflow/learning/learning-index.json` — searchable index
|
|
47
|
+
</context>
|
|
48
|
+
|
|
49
|
+
<invariants>
|
|
50
|
+
1. **No LLM or CLI calls**: This skill is pure file I/O — parse, infer, append, confirm. No `exec_command`, no `spawn_agent`.
|
|
51
|
+
2. **Bootstrap on demand**: Create `.workflow/learning/` structure on first use; do not require it to exist.
|
|
52
|
+
3. **Append-only lessons.jsonl**: Never rewrite or delete existing rows.
|
|
53
|
+
4. **Stable INS-ids**: `INS-{8hex}` from `hash(insightText + timestamp)` — same text at different times gets different ids.
|
|
54
|
+
5. **Source field**: Always `"manual"` for captures from this skill; `"retrospective"` is reserved for `quality-retrospective`.
|
|
55
|
+
6. **Phase auto-link**: Read `state.json` automatically; `--phase 0` is the only way to force null.
|
|
56
|
+
7. **Keyword inference is approximate**: When in doubt, default to `pattern` category rather than prompting user.
|
|
57
|
+
</invariants>
|
|
58
|
+
|
|
59
|
+
<execution>
|
|
60
|
+
|
|
61
|
+
### Step 1: Parse Mode and Validate Arguments
|
|
62
|
+
|
|
63
|
+
Parse the first non-flag token from `$ARGUMENTS`:
|
|
64
|
+
|
|
65
|
+
| First token | Mode |
|
|
66
|
+
|-------------|------|
|
|
67
|
+
| `list` | list |
|
|
68
|
+
| `search` followed by query | search |
|
|
69
|
+
| `show` followed by INS-id | show |
|
|
70
|
+
| Empty | Prompt with `functions.request_user_input` |
|
|
71
|
+
| Any other text (quoted or not) | capture |
|
|
72
|
+
|
|
73
|
+
Validate `--category` if provided (allowed: pattern, antipattern, decision, tool, gotcha, technique). E002 if unknown.
|
|
74
|
+
|
|
75
|
+
### Step 2: Bootstrap Learning Store (on first use)
|
|
76
|
+
|
|
77
|
+
Check if `.workflow/learning/lessons.jsonl` exists. If not:
|
|
78
|
+
```javascript
|
|
79
|
+
// Create directory and empty files — use Bash + Write (apply_patch cannot create empty files reliably)
|
|
80
|
+
Bash('mkdir -p .workflow/learning && touch .workflow/learning/lessons.jsonl')
|
|
81
|
+
Write('.workflow/learning/learning-index.json', '{"version":1,"entries":[]}\n')
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Verify `.workflow/` exists (E001 if not).
|
|
85
|
+
|
|
86
|
+
### Step 3: Execute Mode
|
|
87
|
+
|
|
88
|
+
#### Capture Mode
|
|
89
|
+
|
|
90
|
+
1. **Infer category** from insight text (keyword heuristics, no LLM):
|
|
91
|
+
|
|
92
|
+
| Keywords present in text | Inferred category |
|
|
93
|
+
|--------------------------|-------------------|
|
|
94
|
+
| always, should, prefer, best practice | pattern |
|
|
95
|
+
| never, avoid, don't, pitfall, breaks | antipattern |
|
|
96
|
+
| decided, chose, tradeoff, because, reason | decision |
|
|
97
|
+
| tool, library, framework, package, cli | tool |
|
|
98
|
+
| gotcha, surprising, unexpected, watch out | gotcha |
|
|
99
|
+
| technique, approach, method, pattern for | technique |
|
|
100
|
+
|
|
101
|
+
2. **Auto-link phase**: Read `.workflow/state.json` for `current_phase`. Resolve matching directory slug from `.workflow/phases/`. `--phase 0` forces null.
|
|
102
|
+
|
|
103
|
+
3. **Generate stable INS-id**: `INS-{8 lowercase hex}` from `hash(insightText + timestamp)`.
|
|
104
|
+
|
|
105
|
+
4. **Build lessons.jsonl row**:
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"id": "INS-a3f7b2c1",
|
|
109
|
+
"title": "<first 80 chars of insight>",
|
|
110
|
+
"summary": "<full insight text>",
|
|
111
|
+
"source": "manual",
|
|
112
|
+
"lens": null,
|
|
113
|
+
"category": "<inferred or explicit>",
|
|
114
|
+
"tags": ["manual", "<user tags...>"],
|
|
115
|
+
"phase": "<N or null>",
|
|
116
|
+
"phase_slug": "<slug or null>",
|
|
117
|
+
"confidence": "<high|medium|low>",
|
|
118
|
+
"routed_to": null,
|
|
119
|
+
"routed_id": null,
|
|
120
|
+
"created_at": "<ISO>"
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
5. **Append to lessons.jsonl**:
|
|
125
|
+
```javascript
|
|
126
|
+
// Append single JSON line — Bash echo avoids rewriting the whole file
|
|
127
|
+
Bash(`echo '${JSON.stringify(insightRow)}' >> .workflow/learning/lessons.jsonl`)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
6. **Update learning-index.json**: Read, push entry, write back:
|
|
131
|
+
```javascript
|
|
132
|
+
const index = JSON.parse(Read('.workflow/learning/learning-index.json'))
|
|
133
|
+
index.entries.push({ id: insightRow.id, title: insightRow.title, category: insightRow.category, tags: insightRow.tags, phase: insightRow.phase, created_at: insightRow.created_at })
|
|
134
|
+
Write('.workflow/learning/learning-index.json', JSON.stringify(index, null, 2) + '\n')
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### List Mode
|
|
138
|
+
|
|
139
|
+
Read `learning-index.json` entries array. Apply filters (`--tag`, `--category`, `--phase`, `--lens`). Sort newest-first. Display up to `--limit` rows (default 20):
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
ID Category Phase Tags Title
|
|
143
|
+
INS-a3f7b2c1 gotcha 3 manual,zod Zod v4 breaks z.object().strict() API
|
|
144
|
+
INS-b1c2d3e4 pattern 2 manual Always read state.json before planning
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### Search Mode
|
|
148
|
+
|
|
149
|
+
Grep across `lessons.jsonl` for the query string. Rank by field match weight: title (3) > tags (2) > summary (1). Display top matches with ID, category, phase, title.
|
|
150
|
+
|
|
151
|
+
#### Show Mode
|
|
152
|
+
|
|
153
|
+
Validate INS-id format `INS-[0-9a-f]{8}`. Find row in `lessons.jsonl` where `id` matches. Display full record with all fields. If `routed_to` is set, display the linked artifact path.
|
|
154
|
+
|
|
155
|
+
### Step 4: Display Confirmation
|
|
156
|
+
|
|
157
|
+
Capture mode:
|
|
158
|
+
```
|
|
159
|
+
=== INSIGHT CAPTURED ===
|
|
160
|
+
ID: INS-a3f7b2c1
|
|
161
|
+
Category: gotcha
|
|
162
|
+
Phase: 3 (phase-03-api-layer)
|
|
163
|
+
Confidence: medium
|
|
164
|
+
Tags: manual, zod, typescript
|
|
165
|
+
|
|
166
|
+
Next: $manage-learn "list" or $manage-learn "search zod"
|
|
167
|
+
```
|
|
168
|
+
</execution>
|
|
169
|
+
|
|
170
|
+
<error_codes>
|
|
171
|
+
| Code | Severity | Description | Stage |
|
|
172
|
+
|------|----------|-------------|-------|
|
|
173
|
+
| E001 | error | `.workflow/` not initialized — run `$maestro-init` first | parse_input |
|
|
174
|
+
| E002 | error | Unknown `--category` value | parse_input |
|
|
175
|
+
| E003 | error | `show` mode requires INS-id argument | show |
|
|
176
|
+
| E004 | error | INS-id not found in lessons.jsonl | show |
|
|
177
|
+
| W001 | warning | Auto-phase detection: current_phase found but no matching directory; phase set to null | capture |
|
|
178
|
+
| W002 | warning | `learning-index.json` row count differs from `lessons.jsonl`; offer to rebuild index | list/search |
|
|
179
|
+
</error_codes>
|
|
180
|
+
|
|
181
|
+
<success_criteria>
|
|
182
|
+
- [ ] Mode parsed correctly (capture, list, search, show)
|
|
183
|
+
- [ ] Learning store bootstrapped on first use
|
|
184
|
+
- [ ] Capture: category inferred from keywords, phase auto-linked, INS-id generated
|
|
185
|
+
- [ ] Capture: row appended to lessons.jsonl (append-only), index updated
|
|
186
|
+
- [ ] List: filters applied, newest-first, respects --limit
|
|
187
|
+
- [ ] Search: grep with weighted ranking across title/tags/summary
|
|
188
|
+
- [ ] Show: full record displayed for valid INS-id
|
|
189
|
+
- [ ] No LLM or CLI calls — pure file I/O only
|
|
190
|
+
</success_criteria>
|
|
@@ -1,72 +1,95 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-memory
|
|
3
|
-
description: Manage memory entries across workflow and system stores (list, search, view, edit, delete, prune)
|
|
4
|
-
argument-hint: "[list|search|view|edit|delete|prune] [query|id|file] [--store workflow|system|all] [--tag tag] [--type compact|tip]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
$
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
$manage-memory
|
|
17
|
-
$manage-memory "
|
|
18
|
-
$manage-memory "
|
|
19
|
-
$manage-memory "
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- Workflow:
|
|
41
|
-
- System:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
1
|
+
---
|
|
2
|
+
name: manage-memory
|
|
3
|
+
description: Manage memory entries across workflow and system stores (list, search, view, edit, delete, prune)
|
|
4
|
+
argument-hint: "[list|search|view|edit|delete|prune] [query|id|file] [--store workflow|system|all] [--tag tag] [--type compact|tip]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Manage memory entries across workflow and system stores. Provides list, search, view, edit, delete, and prune operations over `.workflow/memory/` (workflow store) and `~/.claude/projects/{project}/memory/` (system store).
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<context>
|
|
13
|
+
$ARGUMENTS — subcommand followed by options. Defaults to `list` if no arguments.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
$manage-memory
|
|
17
|
+
$manage-memory "list --store workflow"
|
|
18
|
+
$manage-memory "search authentication"
|
|
19
|
+
$manage-memory "view MEM-20260318-001"
|
|
20
|
+
$manage-memory "edit MEMORY.md"
|
|
21
|
+
$manage-memory "delete TIP-20260318-001 --confirm"
|
|
22
|
+
$manage-memory "prune --before 2026-01-01 --type tip --dry-run"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Subcommands**: `list`, `search`, `view`, `edit`, `delete`, `prune`.
|
|
26
|
+
|
|
27
|
+
**Flags**:
|
|
28
|
+
- `--store workflow|system|all` — Target store (default: all)
|
|
29
|
+
- `--tag <tag>` — Filter by tag
|
|
30
|
+
- `--type compact|tip` — Filter by entry type
|
|
31
|
+
- `--confirm` — Skip delete confirmation prompt
|
|
32
|
+
- `--before <date>` / `--after <date>` — Date filters for prune
|
|
33
|
+
- `--dry-run` — Preview prune without deleting
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<execution>
|
|
37
|
+
|
|
38
|
+
### Step 1: Resolve Store Paths
|
|
39
|
+
|
|
40
|
+
- **Workflow store**: `.workflow/memory/` (entries: `MEM-*.md`, `TIP-*.md`, index: `memory-index.json`)
|
|
41
|
+
- **System store**: `~/.claude/projects/{project}/memory/` (files: `MEMORY.md` + topic `.md` files)
|
|
42
|
+
|
|
43
|
+
Derive system path from project root (replace path separators with `--`, prefix drive letter).
|
|
44
|
+
|
|
45
|
+
### Step 2: Parse Subcommand
|
|
46
|
+
|
|
47
|
+
Default to `list` if no arguments. Parse first token as subcommand.
|
|
48
|
+
|
|
49
|
+
### Step 3: Execute Subcommand
|
|
50
|
+
|
|
51
|
+
**list**: Show entries from both stores (or filtered by `--store`, `--tag`, `--type`).
|
|
52
|
+
- Workflow: read `memory-index.json`, display ID, type, date, tags, title
|
|
53
|
+
- System: list `.md` files in system memory directory
|
|
54
|
+
|
|
55
|
+
**search `<query>`**: Full-text grep across both stores. Rank by match count.
|
|
56
|
+
|
|
57
|
+
**view `<id|file>`**: Auto-detect store from format (`MEM-*/TIP-*` = workflow, else system). Display full content.
|
|
58
|
+
|
|
59
|
+
**edit `<file>`**: Edit a system memory file. Read current content, apply changes. Warn if MEMORY.md exceeds 200 lines (W003).
|
|
60
|
+
|
|
61
|
+
**delete `<id|file>`**: Require confirmation (or `--confirm` flag). MEMORY.md cannot be deleted (E004). Remove entry file and update `memory-index.json`.
|
|
62
|
+
|
|
63
|
+
**prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. `--dry-run` previews without deleting.
|
|
64
|
+
|
|
65
|
+
### Step 4: Integrity Check
|
|
66
|
+
|
|
67
|
+
After write operations, verify:
|
|
68
|
+
- No orphaned files without index entries (W001)
|
|
69
|
+
- No dangling index references to missing files (W001)
|
|
70
|
+
- System MEMORY.md references valid topic files (W002)
|
|
71
|
+
</execution>
|
|
72
|
+
|
|
73
|
+
<error_codes>
|
|
74
|
+
| Code | Severity | Description |
|
|
75
|
+
|------|----------|-------------|
|
|
76
|
+
| E001 | error | No memory stores found -- run `Skill({ skill: "memory-capture" })` or create MEMORY.md |
|
|
77
|
+
| E002 | error | Entry ID or filename not found |
|
|
78
|
+
| E003 | error | Prune requires at least one filter flag |
|
|
79
|
+
| E004 | error | Cannot delete MEMORY.md -- use `edit` subcommand instead |
|
|
80
|
+
| W001 | warning | Index has orphaned files or dangling references |
|
|
81
|
+
| W002 | warning | MEMORY.md references non-existent topic file |
|
|
82
|
+
| W003 | warning | MEMORY.md exceeds 200 lines -- content truncated at load |
|
|
83
|
+
</error_codes>
|
|
84
|
+
|
|
85
|
+
<success_criteria>
|
|
86
|
+
- [ ] Store paths resolved correctly for both workflow and system stores
|
|
87
|
+
- [ ] Subcommand parsed and validated (defaults to list)
|
|
88
|
+
- [ ] list: displays entries from selected stores with filtering
|
|
89
|
+
- [ ] search: full-text grep across stores, ranked by match count
|
|
90
|
+
- [ ] view: auto-detects store, displays full content
|
|
91
|
+
- [ ] edit: reads and applies changes to system memory files
|
|
92
|
+
- [ ] delete: requires confirmation, prevents MEMORY.md deletion
|
|
93
|
+
- [ ] prune: requires filter, supports --dry-run, workflow store only
|
|
94
|
+
- [ ] Integrity check after write operations (orphans, dangling refs)
|
|
95
|
+
</success_criteria>
|