maestro-flow 0.3.38 → 0.3.39
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-analyzer.md +2 -0
- package/.claude/agents/workflow-debugger.md +2 -0
- package/.claude/agents/workflow-executor.md +2 -0
- package/.claude/agents/workflow-integration-checker.md +1 -0
- package/.claude/agents/workflow-nyquist-auditor.md +1 -0
- package/.claude/agents/workflow-planner.md +2 -0
- package/.claude/agents/workflow-reviewer.md +2 -0
- package/.claude/agents/workflow-verifier.md +2 -0
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-investigate.md +221 -221
- package/.claude/commands/learn-retro.md +303 -303
- package/.claude/commands/learn-second-opinion.md +167 -167
- package/.claude/commands/maestro-amend.md +300 -300
- package/.claude/commands/maestro-analyze.md +126 -126
- package/.claude/commands/maestro-brainstorm.md +100 -100
- package/.claude/commands/maestro-composer.md +354 -354
- package/.claude/commands/maestro-execute.md +120 -114
- package/.claude/commands/maestro-fork.md +86 -86
- package/.claude/commands/maestro-init.md +78 -78
- package/.claude/commands/maestro-learn.md +140 -140
- package/.claude/commands/maestro-link-coordinate.md +1 -1
- package/.claude/commands/maestro-merge.md +61 -61
- package/.claude/commands/maestro-milestone-release.md +96 -96
- package/.claude/commands/maestro-overlay.md +178 -178
- package/.claude/commands/maestro-plan.md +150 -138
- package/.claude/commands/maestro-player.md +404 -404
- package/.claude/commands/maestro-quick.md +56 -56
- package/.claude/commands/maestro-ralph-execute.md +7 -18
- package/.claude/commands/maestro-ralph.md +9 -3
- package/.claude/commands/maestro-roadmap.md +1 -1
- package/.claude/commands/maestro-ui-design.md +93 -93
- package/.claude/commands/maestro-update.md +176 -176
- package/.claude/commands/maestro-verify.md +96 -90
- package/.claude/commands/maestro.md +121 -121
- package/.claude/commands/manage-codebase-rebuild.md +75 -75
- package/.claude/commands/manage-codebase-refresh.md +57 -57
- package/.claude/commands/manage-harvest.md +94 -94
- package/.claude/commands/manage-issue-discover.md +77 -77
- package/.claude/commands/manage-issue.md +73 -73
- package/.claude/commands/manage-knowhow-capture.md +193 -193
- package/.claude/commands/manage-knowhow.md +77 -77
- package/.claude/commands/manage-learn.md +67 -67
- package/.claude/commands/manage-status.md +51 -51
- package/.claude/commands/manage-wiki.md +62 -62
- package/.claude/commands/quality-auto-test.md +1 -1
- package/.claude/commands/quality-debug.md +121 -115
- package/.claude/commands/quality-refactor.md +55 -55
- package/.claude/commands/quality-retrospective.md +78 -78
- package/.claude/commands/quality-review.md +114 -108
- package/.claude/commands/quality-sync.md +51 -51
- package/.claude/commands/quality-test.md +103 -103
- package/.claude/commands/spec-add.md +49 -49
- package/.claude/commands/spec-load.md +51 -51
- package/.claude/commands/spec-remove.md +51 -51
- package/.claude/commands/spec-setup.md +51 -51
- package/.claude/commands/wiki-connect.md +62 -62
- package/.claude/commands/wiki-digest.md +69 -69
- package/.codex/skills/learn-decompose/SKILL.md +113 -113
- package/.codex/skills/learn-follow/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +83 -83
- package/.codex/skills/learn-retro/SKILL.md +83 -83
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -86
- package/.codex/skills/maestro/SKILL.md +304 -304
- package/.codex/skills/maestro-analyze/SKILL.md +4 -3
- package/.codex/skills/maestro-brainstorm/SKILL.md +442 -397
- package/.codex/skills/maestro-composer/SKILL.md +213 -213
- package/.codex/skills/maestro-execute/SKILL.md +346 -318
- package/.codex/skills/maestro-fork/SKILL.md +56 -2
- package/.codex/skills/maestro-init/SKILL.md +40 -16
- package/.codex/skills/maestro-learn/SKILL.md +80 -80
- package/.codex/skills/maestro-link-coordinate/SKILL.md +257 -257
- package/.codex/skills/maestro-merge/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-audit/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-complete/SKILL.md +40 -9
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -70
- package/.codex/skills/maestro-overlay/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +19 -4
- package/.codex/skills/maestro-player/SKILL.md +323 -323
- package/.codex/skills/maestro-quick/SKILL.md +1 -1
- package/.codex/skills/maestro-ralph/SKILL.md +681 -578
- package/.codex/skills/maestro-roadmap/SKILL.md +518 -468
- package/.codex/skills/maestro-ui-design/SKILL.md +109 -12
- package/.codex/skills/maestro-verify/SKILL.md +27 -9
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +3 -2
- package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
- package/.codex/skills/manage-harvest/SKILL.md +91 -91
- package/.codex/skills/manage-issue/SKILL.md +19 -6
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -110
- package/.codex/skills/manage-learn/SKILL.md +1 -1
- package/.codex/skills/manage-status/SKILL.md +1 -1
- package/.codex/skills/manage-wiki/SKILL.md +55 -55
- package/.codex/skills/quality-auto-test/SKILL.md +547 -547
- package/.codex/skills/quality-debug/SKILL.md +339 -334
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-retrospective/SKILL.md +292 -292
- package/.codex/skills/quality-review/SKILL.md +365 -364
- package/.codex/skills/quality-sync/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +498 -498
- package/.codex/skills/spec-add/SKILL.md +101 -101
- package/.codex/skills/spec-load/SKILL.md +77 -77
- package/.codex/skills/spec-map/SKILL.md +1 -1
- package/.codex/skills/spec-remove/SKILL.md +69 -69
- package/.codex/skills/spec-setup/SKILL.md +1 -1
- package/.codex/skills/team-coordinate/SKILL.md +2 -1
- package/.codex/skills/team-executor/SKILL.md +116 -115
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -1
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +14 -6
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +16 -4
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +7 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +16 -4
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +8 -2
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -1
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +9 -2
- package/.codex/skills/team-review/SKILL.md +2 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +10 -1
- package/.codex/skills/team-review/roles/scanner/role.md +10 -1
- package/.codex/skills/team-tech-debt/SKILL.md +144 -143
- package/.codex/skills/team-tech-debt/roles/executor/role.md +9 -5
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +10 -0
- package/.codex/skills/team-tech-debt/roles/validator/role.md +8 -2
- package/.codex/skills/team-testing/SKILL.md +2 -1
- package/.codex/skills/team-testing/roles/executor/role.md +8 -2
- package/.codex/skills/team-testing/roles/generator/role.md +8 -2
- package/.codex/skills/wiki-connect/SKILL.md +73 -73
- package/.codex/skills/wiki-digest/SKILL.md +87 -87
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +2 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +4 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +18 -0
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/dist-server/src/config/cli-tools-config.d.ts +6 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js +2 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
- package/dist/shared/agent-types.d.ts +2 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +4 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +29 -1
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/delegate.d.ts +2 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +18 -0
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/launcher.d.ts.map +1 -1
- package/dist/src/commands/launcher.js +27 -4
- package/dist/src/commands/launcher.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +6 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +2 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +65 -5
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/core/overlay/loader.d.ts.map +1 -1
- package/dist/src/core/overlay/loader.js +9 -4
- package/dist/src/core/overlay/loader.js.map +1 -1
- package/dist/src/core/overlay/types.d.ts +2 -0
- package/dist/src/core/overlay/types.d.ts.map +1 -1
- package/dist/src/core/overlay/types.js +2 -0
- package/dist/src/core/overlay/types.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.js +51 -4
- package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
- package/package.json +1 -1
- package/shared/agent-types.ts +2 -0
- package/workflows/delegate-protocol.codex.md +65 -0
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-knowhow-capture
|
|
3
|
-
description: Capture reusable knowledge
|
|
4
|
-
argument-hint: "[type] [description] [--lang <lang>] [--source <url>] [--tag tag1,tag2]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Capture reusable knowledge into `.workflow/knowhow/` with type-specific structured fields.
|
|
16
|
-
Six content types, each optimized for a different reuse pattern. All entries are automatically
|
|
17
|
-
indexed by WikiIndexer (type=knowhow) and searchable via `maestro knowhow search`.
|
|
18
|
-
</purpose>
|
|
19
|
-
|
|
20
|
-
<required_reading>
|
|
21
|
-
@~/.maestro/workflows/knowhow.md
|
|
22
|
-
</required_reading>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
Arguments: $ARGUMENTS
|
|
26
|
-
|
|
27
|
-
**Types:**
|
|
28
|
-
|
|
29
|
-
| Type | Prefix | Use Case | Key Fields |
|
|
30
|
-
|------|--------|----------|------------|
|
|
31
|
-
| `compact` | KNW- | Session state recovery | objective, files, decisions, plan, pending |
|
|
32
|
-
| `template` | TPL- | Code/config templates | language, code block, usage context |
|
|
33
|
-
| `recipe` | RCP- | Step-by-step how-to | prerequisites, steps, expected outcome |
|
|
34
|
-
| `reference` | REF- | External doc / API quick-ref | source URL, key points, scenarios |
|
|
35
|
-
| `decision` | DCS- | Design decision record | context, alternatives, rationale, consequences |
|
|
36
|
-
| `tip` | TIP- | Quick note / reminder | content, tags |
|
|
37
|
-
|
|
38
|
-
No arguments: auto-detect type or ask user via AskUserQuestion.
|
|
39
|
-
|
|
40
|
-
**Flags:**
|
|
41
|
-
- `--lang <lang>` — Language for templates (typescript, python, bash, yaml, etc.)
|
|
42
|
-
- `--source <url>` — Source URL for references
|
|
43
|
-
- `--tag tag1,tag2` — Categorization tags
|
|
44
|
-
- `--title <title>` — Explicit title (auto-generated if omitted)
|
|
45
|
-
</context>
|
|
46
|
-
|
|
47
|
-
<execution>
|
|
48
|
-
|
|
49
|
-
### Step 1: Detect Type
|
|
50
|
-
|
|
51
|
-
Parse first token as type. If ambiguous, AskUserQuestion with options:
|
|
52
|
-
|
|
53
|
-
| Token Match | Type |
|
|
54
|
-
|-------------|------|
|
|
55
|
-
| `compact`, `session`, `压缩`, `保存` | compact |
|
|
56
|
-
| `template`, `tpl`, `模板` | template |
|
|
57
|
-
| `recipe`, `rcp`, `配方`, `步骤` | recipe |
|
|
58
|
-
| `reference`, `ref`, `参考`, `引用` | reference |
|
|
59
|
-
| `decision`, `dcs`, `决策`, `adr` | decision |
|
|
60
|
-
| `tip`, `note`, `记录`, `快速` | tip |
|
|
61
|
-
| No match, short text, `--tag` present | tip |
|
|
62
|
-
| No arguments | AskUserQuestion (6 options) |
|
|
63
|
-
|
|
64
|
-
### Step 2: Generate Content by Type
|
|
65
|
-
|
|
66
|
-
#### compact (KNW-{YYYYMMDD}-{HHMM}.md)
|
|
67
|
-
|
|
68
|
-
Extract from conversation history:
|
|
69
|
-
- **Session ID** — WFS-* if workflow session active, else `manual-{date}`
|
|
70
|
-
- **Project Root** — Absolute path
|
|
71
|
-
- **Objective** — High-level goal
|
|
72
|
-
- **Execution Plan** — Source + complete verbatim content (never summarize)
|
|
73
|
-
- **Working Files** — Modified files with roles (absolute paths, 3-8 files)
|
|
74
|
-
- **Reference Files** — Read-only context files
|
|
75
|
-
- **Last Action** — Final action + result
|
|
76
|
-
- **Decisions** — Table: decision | reasoning
|
|
77
|
-
- **Constraints** — User-specified limitations
|
|
78
|
-
- **Dependencies** — Added/changed packages
|
|
79
|
-
- **Known Issues** — Deferred bugs
|
|
80
|
-
- **Changes Made** — Completed modifications
|
|
81
|
-
- **Pending** — Next steps
|
|
82
|
-
- **Notes** — Unstructured thoughts
|
|
83
|
-
|
|
84
|
-
Plan detection priority: workflow session IMPL_PLAN.md > TodoWrite items > user-stated > inferred.
|
|
85
|
-
|
|
86
|
-
#### template (TPL-{YYYYMMDD}-{HHMM}.md)
|
|
87
|
-
|
|
88
|
-
Ask for or extract:
|
|
89
|
-
- **Language / Tech** — `--lang` flag or inferred from context
|
|
90
|
-
- **Usage** — When/how to use this template
|
|
91
|
-
- **Code** — The template content (ask user to provide or select from conversation)
|
|
92
|
-
- **Parameters** — Placeholders to replace (e.g. `{{name}}`, `{{port}}`)
|
|
93
|
-
- **Dependencies** — Required packages/config
|
|
94
|
-
- **Tags** — From `--tag` flag
|
|
95
|
-
|
|
96
|
-
If code not provided explicitly, prompt user: "Paste the template code:"
|
|
97
|
-
|
|
98
|
-
#### recipe (RCP-{YYYYMMDD}-{HHMM}.md)
|
|
99
|
-
|
|
100
|
-
Ask for or extract:
|
|
101
|
-
- **Goal** — What this recipe accomplishes
|
|
102
|
-
- **Prerequisites** — Tools, access, config needed
|
|
103
|
-
- **Steps** — Numbered step-by-step instructions
|
|
104
|
-
- **Expected Outcome** — What success looks like
|
|
105
|
-
- **Common Pitfalls** — Known issues / gotchas
|
|
106
|
-
- **Related** — Links to templates, references, decisions used
|
|
107
|
-
- **Tags** — From `--tag` flag
|
|
108
|
-
|
|
109
|
-
If steps not clear, prompt user: "Describe the steps (numbered list):"
|
|
110
|
-
|
|
111
|
-
#### reference (REF-{YYYYMMDD}-{HHMM}.md)
|
|
112
|
-
|
|
113
|
-
Ask for or extract:
|
|
114
|
-
- **Source** — `--source` flag (URL, doc title, API endpoint)
|
|
115
|
-
- **Key Points** — Bullet list of essential info
|
|
116
|
-
- **Applicable Scenarios** — When to consult this reference
|
|
117
|
-
- **Quick Examples** — Copy-paste ready code snippets
|
|
118
|
-
- **Last Verified** — Date (today)
|
|
119
|
-
- **Tags** — From `--tag` flag
|
|
120
|
-
|
|
121
|
-
If `--source` provided, offer to fetch and summarize via WebFetch.
|
|
122
|
-
|
|
123
|
-
#### decision (DCS-{YYYYMMDD}-{HHMM}.md)
|
|
124
|
-
|
|
125
|
-
Ask for or extract:
|
|
126
|
-
- **Context** — Background and problem statement
|
|
127
|
-
- **Decision** — What was decided
|
|
128
|
-
- **Alternatives Considered** — Table: alternative | pros | cons | rejected because
|
|
129
|
-
- **Rationale** — Why this choice over alternatives
|
|
130
|
-
- **Consequences** — Positive and negative impact
|
|
131
|
-
- **Related** — Links to affected specs, recipes, templates
|
|
132
|
-
- **Date** — Decision date
|
|
133
|
-
- **Status** — proposed | accepted | superseded
|
|
134
|
-
|
|
135
|
-
#### tip (TIP-{YYYYMMDD}-{HHMM}.md)
|
|
136
|
-
|
|
137
|
-
Simple note:
|
|
138
|
-
- **Content** — Everything after type token (or full $ARGUMENTS)
|
|
139
|
-
- **Context** — Auto-detected from recent conversation files
|
|
140
|
-
- **Tags** — From `--tag` flag
|
|
141
|
-
- **Timestamp** — ISO format
|
|
142
|
-
|
|
143
|
-
### Step 3: Write File
|
|
144
|
-
|
|
145
|
-
Write to `.workflow/knowhow/{PREFIX}-{YYYYMMDD}-{HHMM}.md` with YAML frontmatter:
|
|
146
|
-
|
|
147
|
-
```yaml
|
|
148
|
-
---
|
|
149
|
-
title: {auto or --title}
|
|
150
|
-
type: {type}
|
|
151
|
-
category: {type}
|
|
152
|
-
created: {ISO timestamp}
|
|
153
|
-
tags: [{tags}]
|
|
154
|
-
source: {url if reference}
|
|
155
|
-
lang: {language if template}
|
|
156
|
-
status: {status if decision}
|
|
157
|
-
---
|
|
158
|
-
{markdown body}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Step 4: Confirm
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
=== KNOWHOW CAPTURED ===
|
|
165
|
-
Type: {type}
|
|
166
|
-
ID: knowhow-{slug}
|
|
167
|
-
File: .workflow/knowhow/{filename}
|
|
168
|
-
|
|
169
|
-
{type-specific summary line}
|
|
170
|
-
```
|
|
171
|
-
</execution>
|
|
172
|
-
|
|
173
|
-
<error_codes>
|
|
174
|
-
| Code | Severity | Description | Stage |
|
|
175
|
-
|------|----------|-------------|-------|
|
|
176
|
-
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | validate |
|
|
177
|
-
| E002 | error | Template: no code provided after prompt | template |
|
|
178
|
-
| E003 | error | Recipe: no steps provided after prompt | recipe |
|
|
179
|
-
| W001 | warning | No active workflow session — compact captures conversation only | compact |
|
|
180
|
-
| W002 | warning | Plan detection found no explicit plan — using inferred plan | compact |
|
|
181
|
-
| W003 | warning | `--source` URL could not be fetched — proceeding with manual entry | reference |
|
|
182
|
-
</error_codes>
|
|
183
|
-
|
|
184
|
-
<success_criteria>
|
|
185
|
-
- [ ] Type correctly detected or selected
|
|
186
|
-
- [ ] All type-specific fields populated (not empty)
|
|
187
|
-
- [ ] YAML frontmatter written with correct fields
|
|
188
|
-
- [ ] Markdown body follows type structure
|
|
189
|
-
- [ ] File written to `.workflow/knowhow/` with correct prefix
|
|
190
|
-
- [ ] Auto-indexed by WikiIndexer (type=knowhow)
|
|
191
|
-
- [ ] Confirmation displayed with ID, type, file path
|
|
192
|
-
- [ ] Next step hint appropriate to type shown
|
|
193
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-knowhow-capture
|
|
3
|
+
description: Capture reusable knowledge as templates, recipes, or tips
|
|
4
|
+
argument-hint: "[type] [description] [--lang <lang>] [--source <url>] [--tag tag1,tag2]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<purpose>
|
|
15
|
+
Capture reusable knowledge into `.workflow/knowhow/` with type-specific structured fields.
|
|
16
|
+
Six content types, each optimized for a different reuse pattern. All entries are automatically
|
|
17
|
+
indexed by WikiIndexer (type=knowhow) and searchable via `maestro knowhow search`.
|
|
18
|
+
</purpose>
|
|
19
|
+
|
|
20
|
+
<required_reading>
|
|
21
|
+
@~/.maestro/workflows/knowhow.md
|
|
22
|
+
</required_reading>
|
|
23
|
+
|
|
24
|
+
<context>
|
|
25
|
+
Arguments: $ARGUMENTS
|
|
26
|
+
|
|
27
|
+
**Types:**
|
|
28
|
+
|
|
29
|
+
| Type | Prefix | Use Case | Key Fields |
|
|
30
|
+
|------|--------|----------|------------|
|
|
31
|
+
| `compact` | KNW- | Session state recovery | objective, files, decisions, plan, pending |
|
|
32
|
+
| `template` | TPL- | Code/config templates | language, code block, usage context |
|
|
33
|
+
| `recipe` | RCP- | Step-by-step how-to | prerequisites, steps, expected outcome |
|
|
34
|
+
| `reference` | REF- | External doc / API quick-ref | source URL, key points, scenarios |
|
|
35
|
+
| `decision` | DCS- | Design decision record | context, alternatives, rationale, consequences |
|
|
36
|
+
| `tip` | TIP- | Quick note / reminder | content, tags |
|
|
37
|
+
|
|
38
|
+
No arguments: auto-detect type or ask user via AskUserQuestion.
|
|
39
|
+
|
|
40
|
+
**Flags:**
|
|
41
|
+
- `--lang <lang>` — Language for templates (typescript, python, bash, yaml, etc.)
|
|
42
|
+
- `--source <url>` — Source URL for references
|
|
43
|
+
- `--tag tag1,tag2` — Categorization tags
|
|
44
|
+
- `--title <title>` — Explicit title (auto-generated if omitted)
|
|
45
|
+
</context>
|
|
46
|
+
|
|
47
|
+
<execution>
|
|
48
|
+
|
|
49
|
+
### Step 1: Detect Type
|
|
50
|
+
|
|
51
|
+
Parse first token as type. If ambiguous, AskUserQuestion with options:
|
|
52
|
+
|
|
53
|
+
| Token Match | Type |
|
|
54
|
+
|-------------|------|
|
|
55
|
+
| `compact`, `session`, `压缩`, `保存` | compact |
|
|
56
|
+
| `template`, `tpl`, `模板` | template |
|
|
57
|
+
| `recipe`, `rcp`, `配方`, `步骤` | recipe |
|
|
58
|
+
| `reference`, `ref`, `参考`, `引用` | reference |
|
|
59
|
+
| `decision`, `dcs`, `决策`, `adr` | decision |
|
|
60
|
+
| `tip`, `note`, `记录`, `快速` | tip |
|
|
61
|
+
| No match, short text, `--tag` present | tip |
|
|
62
|
+
| No arguments | AskUserQuestion (6 options) |
|
|
63
|
+
|
|
64
|
+
### Step 2: Generate Content by Type
|
|
65
|
+
|
|
66
|
+
#### compact (KNW-{YYYYMMDD}-{HHMM}.md)
|
|
67
|
+
|
|
68
|
+
Extract from conversation history:
|
|
69
|
+
- **Session ID** — WFS-* if workflow session active, else `manual-{date}`
|
|
70
|
+
- **Project Root** — Absolute path
|
|
71
|
+
- **Objective** — High-level goal
|
|
72
|
+
- **Execution Plan** — Source + complete verbatim content (never summarize)
|
|
73
|
+
- **Working Files** — Modified files with roles (absolute paths, 3-8 files)
|
|
74
|
+
- **Reference Files** — Read-only context files
|
|
75
|
+
- **Last Action** — Final action + result
|
|
76
|
+
- **Decisions** — Table: decision | reasoning
|
|
77
|
+
- **Constraints** — User-specified limitations
|
|
78
|
+
- **Dependencies** — Added/changed packages
|
|
79
|
+
- **Known Issues** — Deferred bugs
|
|
80
|
+
- **Changes Made** — Completed modifications
|
|
81
|
+
- **Pending** — Next steps
|
|
82
|
+
- **Notes** — Unstructured thoughts
|
|
83
|
+
|
|
84
|
+
Plan detection priority: workflow session IMPL_PLAN.md > TodoWrite items > user-stated > inferred.
|
|
85
|
+
|
|
86
|
+
#### template (TPL-{YYYYMMDD}-{HHMM}.md)
|
|
87
|
+
|
|
88
|
+
Ask for or extract:
|
|
89
|
+
- **Language / Tech** — `--lang` flag or inferred from context
|
|
90
|
+
- **Usage** — When/how to use this template
|
|
91
|
+
- **Code** — The template content (ask user to provide or select from conversation)
|
|
92
|
+
- **Parameters** — Placeholders to replace (e.g. `{{name}}`, `{{port}}`)
|
|
93
|
+
- **Dependencies** — Required packages/config
|
|
94
|
+
- **Tags** — From `--tag` flag
|
|
95
|
+
|
|
96
|
+
If code not provided explicitly, prompt user: "Paste the template code:"
|
|
97
|
+
|
|
98
|
+
#### recipe (RCP-{YYYYMMDD}-{HHMM}.md)
|
|
99
|
+
|
|
100
|
+
Ask for or extract:
|
|
101
|
+
- **Goal** — What this recipe accomplishes
|
|
102
|
+
- **Prerequisites** — Tools, access, config needed
|
|
103
|
+
- **Steps** — Numbered step-by-step instructions
|
|
104
|
+
- **Expected Outcome** — What success looks like
|
|
105
|
+
- **Common Pitfalls** — Known issues / gotchas
|
|
106
|
+
- **Related** — Links to templates, references, decisions used
|
|
107
|
+
- **Tags** — From `--tag` flag
|
|
108
|
+
|
|
109
|
+
If steps not clear, prompt user: "Describe the steps (numbered list):"
|
|
110
|
+
|
|
111
|
+
#### reference (REF-{YYYYMMDD}-{HHMM}.md)
|
|
112
|
+
|
|
113
|
+
Ask for or extract:
|
|
114
|
+
- **Source** — `--source` flag (URL, doc title, API endpoint)
|
|
115
|
+
- **Key Points** — Bullet list of essential info
|
|
116
|
+
- **Applicable Scenarios** — When to consult this reference
|
|
117
|
+
- **Quick Examples** — Copy-paste ready code snippets
|
|
118
|
+
- **Last Verified** — Date (today)
|
|
119
|
+
- **Tags** — From `--tag` flag
|
|
120
|
+
|
|
121
|
+
If `--source` provided, offer to fetch and summarize via WebFetch.
|
|
122
|
+
|
|
123
|
+
#### decision (DCS-{YYYYMMDD}-{HHMM}.md)
|
|
124
|
+
|
|
125
|
+
Ask for or extract:
|
|
126
|
+
- **Context** — Background and problem statement
|
|
127
|
+
- **Decision** — What was decided
|
|
128
|
+
- **Alternatives Considered** — Table: alternative | pros | cons | rejected because
|
|
129
|
+
- **Rationale** — Why this choice over alternatives
|
|
130
|
+
- **Consequences** — Positive and negative impact
|
|
131
|
+
- **Related** — Links to affected specs, recipes, templates
|
|
132
|
+
- **Date** — Decision date
|
|
133
|
+
- **Status** — proposed | accepted | superseded
|
|
134
|
+
|
|
135
|
+
#### tip (TIP-{YYYYMMDD}-{HHMM}.md)
|
|
136
|
+
|
|
137
|
+
Simple note:
|
|
138
|
+
- **Content** — Everything after type token (or full $ARGUMENTS)
|
|
139
|
+
- **Context** — Auto-detected from recent conversation files
|
|
140
|
+
- **Tags** — From `--tag` flag
|
|
141
|
+
- **Timestamp** — ISO format
|
|
142
|
+
|
|
143
|
+
### Step 3: Write File
|
|
144
|
+
|
|
145
|
+
Write to `.workflow/knowhow/{PREFIX}-{YYYYMMDD}-{HHMM}.md` with YAML frontmatter:
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
---
|
|
149
|
+
title: {auto or --title}
|
|
150
|
+
type: {type}
|
|
151
|
+
category: {type}
|
|
152
|
+
created: {ISO timestamp}
|
|
153
|
+
tags: [{tags}]
|
|
154
|
+
source: {url if reference}
|
|
155
|
+
lang: {language if template}
|
|
156
|
+
status: {status if decision}
|
|
157
|
+
---
|
|
158
|
+
{markdown body}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Step 4: Confirm
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
=== KNOWHOW CAPTURED ===
|
|
165
|
+
Type: {type}
|
|
166
|
+
ID: knowhow-{slug}
|
|
167
|
+
File: .workflow/knowhow/{filename}
|
|
168
|
+
|
|
169
|
+
{type-specific summary line}
|
|
170
|
+
```
|
|
171
|
+
</execution>
|
|
172
|
+
|
|
173
|
+
<error_codes>
|
|
174
|
+
| Code | Severity | Description | Stage |
|
|
175
|
+
|------|----------|-------------|-------|
|
|
176
|
+
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | validate |
|
|
177
|
+
| E002 | error | Template: no code provided after prompt | template |
|
|
178
|
+
| E003 | error | Recipe: no steps provided after prompt | recipe |
|
|
179
|
+
| W001 | warning | No active workflow session — compact captures conversation only | compact |
|
|
180
|
+
| W002 | warning | Plan detection found no explicit plan — using inferred plan | compact |
|
|
181
|
+
| W003 | warning | `--source` URL could not be fetched — proceeding with manual entry | reference |
|
|
182
|
+
</error_codes>
|
|
183
|
+
|
|
184
|
+
<success_criteria>
|
|
185
|
+
- [ ] Type correctly detected or selected
|
|
186
|
+
- [ ] All type-specific fields populated (not empty)
|
|
187
|
+
- [ ] YAML frontmatter written with correct fields
|
|
188
|
+
- [ ] Markdown body follows type structure
|
|
189
|
+
- [ ] File written to `.workflow/knowhow/` with correct prefix
|
|
190
|
+
- [ ] Auto-indexed by WikiIndexer (type=knowhow)
|
|
191
|
+
- [ ] Confirmation displayed with ID, type, file path
|
|
192
|
+
- [ ] Next step hint appropriate to type shown
|
|
193
|
+
</success_criteria>
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-knowhow
|
|
3
|
-
description: Manage
|
|
4
|
-
argument-hint: "[list|search|view|edit|delete|prune] [query|id|file] [--store workflow|system|all] [--tag tag] [--type compact|tip]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Unified memory management across two stores:
|
|
16
|
-
1. **Workflow knowhow** (`.workflow/knowhow/`) — Session compacts and tips with JSON index, created by `manage-knowhow-capture`
|
|
17
|
-
2. **System memory** (`~/.claude/projects/{project}/memory/`) — Claude Code auto-memory (MEMORY.md + topic files), persists across conversations
|
|
18
|
-
|
|
19
|
-
Provides list/search/view/edit/delete/prune operations. Default store is `all` (show both).
|
|
20
|
-
</purpose>
|
|
21
|
-
|
|
22
|
-
<required_reading>
|
|
23
|
-
@~/.maestro/workflows/knowhow.md
|
|
24
|
-
</required_reading>
|
|
25
|
-
|
|
26
|
-
<context>
|
|
27
|
-
Arguments: $ARGUMENTS
|
|
28
|
-
|
|
29
|
-
Dual store architecture (paths, formats, index) defined in workflow knowhow.md.
|
|
30
|
-
|
|
31
|
-
**Subcommands:**
|
|
32
|
-
- `list` — List entries from both stores (default if no arguments)
|
|
33
|
-
- `search <query>` — Full-text search across both stores
|
|
34
|
-
- `view <id|file>` — Display a workflow entry by ID or system file by name
|
|
35
|
-
- `edit <file>` — Edit a system memory file (MEMORY.md or topic file)
|
|
36
|
-
- `delete <id|file>` — Remove an entry/file (with confirmation)
|
|
37
|
-
- `prune` — Bulk cleanup by criteria
|
|
38
|
-
|
|
39
|
-
**Flags:**
|
|
40
|
-
- `--store <workflow|system|all>` — Target store (default: `all` for list/search, inferred for other ops)
|
|
41
|
-
- `--tag <tag>` — Filter by tag (workflow store)
|
|
42
|
-
- `--type <compact|tip>` — Filter by entry type (workflow store)
|
|
43
|
-
- `--before <YYYY-MM-DD>` — Entries before date
|
|
44
|
-
- `--after <YYYY-MM-DD>` — Entries after date
|
|
45
|
-
- `--dry-run` — Preview destructive ops without executing
|
|
46
|
-
- `--confirm` — Skip confirmation prompt
|
|
47
|
-
</context>
|
|
48
|
-
|
|
49
|
-
<execution>
|
|
50
|
-
Follow '~/.maestro/workflows/knowhow.md' Part A (KnowHow Management) completely.
|
|
51
|
-
</execution>
|
|
52
|
-
|
|
53
|
-
<error_codes>
|
|
54
|
-
| Code | Severity | Description | Stage |
|
|
55
|
-
|------|----------|-------------|-------|
|
|
56
|
-
| E001 | error | No memory stores found — run `/manage-knowhow-capture` or create MEMORY.md | resolve_paths |
|
|
57
|
-
| E002 | error | Entry ID or filename not found | execute_view, execute_delete |
|
|
58
|
-
| E003 | error | Prune requires at least one filter (--tag, --type, --before, --after) | execute_prune |
|
|
59
|
-
| E004 | error | Cannot delete MEMORY.md — use `edit` subcommand instead | execute_delete |
|
|
60
|
-
| W001 | warning | Workflow index has orphaned files or dangling references | integrity_check |
|
|
61
|
-
| W002 | warning | MEMORY.md references non-existent topic file | integrity_check |
|
|
62
|
-
| W003 | warning | MEMORY.md exceeds 200 lines — content will be truncated at load | execute_edit |
|
|
63
|
-
</error_codes>
|
|
64
|
-
|
|
65
|
-
<success_criteria>
|
|
66
|
-
- [ ] Both store paths correctly resolved
|
|
67
|
-
- [ ] Subcommand correctly detected from arguments
|
|
68
|
-
- [ ] Store auto-detected from argument format (KNW-*/TIP-* vs filename)
|
|
69
|
-
- [ ] List: both stores displayed with appropriate formatting
|
|
70
|
-
- [ ] Search: results from both stores, ranked by relevance
|
|
71
|
-
- [ ] View: correct store selected, full content displayed
|
|
72
|
-
- [ ] Edit: system memory files editable, MEMORY.md kept under 200 lines
|
|
73
|
-
- [ ] Delete: MEMORY.md protected, confirmation required, references checked
|
|
74
|
-
- [ ] Prune: workflow-only, filters validated, index updated
|
|
75
|
-
- [ ] Integrity check catches orphans and broken links
|
|
76
|
-
- [ ] Next step: `/manage-knowhow-capture compact` to save new knowhow, or `/manage-status` to continue workflow
|
|
77
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-knowhow
|
|
3
|
+
description: Manage knowhow entries (workflow and system)
|
|
4
|
+
argument-hint: "[list|search|view|edit|delete|prune] [query|id|file] [--store workflow|system|all] [--tag tag] [--type compact|tip]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<purpose>
|
|
15
|
+
Unified memory management across two stores:
|
|
16
|
+
1. **Workflow knowhow** (`.workflow/knowhow/`) — Session compacts and tips with JSON index, created by `manage-knowhow-capture`
|
|
17
|
+
2. **System memory** (`~/.claude/projects/{project}/memory/`) — Claude Code auto-memory (MEMORY.md + topic files), persists across conversations
|
|
18
|
+
|
|
19
|
+
Provides list/search/view/edit/delete/prune operations. Default store is `all` (show both).
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<required_reading>
|
|
23
|
+
@~/.maestro/workflows/knowhow.md
|
|
24
|
+
</required_reading>
|
|
25
|
+
|
|
26
|
+
<context>
|
|
27
|
+
Arguments: $ARGUMENTS
|
|
28
|
+
|
|
29
|
+
Dual store architecture (paths, formats, index) defined in workflow knowhow.md.
|
|
30
|
+
|
|
31
|
+
**Subcommands:**
|
|
32
|
+
- `list` — List entries from both stores (default if no arguments)
|
|
33
|
+
- `search <query>` — Full-text search across both stores
|
|
34
|
+
- `view <id|file>` — Display a workflow entry by ID or system file by name
|
|
35
|
+
- `edit <file>` — Edit a system memory file (MEMORY.md or topic file)
|
|
36
|
+
- `delete <id|file>` — Remove an entry/file (with confirmation)
|
|
37
|
+
- `prune` — Bulk cleanup by criteria
|
|
38
|
+
|
|
39
|
+
**Flags:**
|
|
40
|
+
- `--store <workflow|system|all>` — Target store (default: `all` for list/search, inferred for other ops)
|
|
41
|
+
- `--tag <tag>` — Filter by tag (workflow store)
|
|
42
|
+
- `--type <compact|tip>` — Filter by entry type (workflow store)
|
|
43
|
+
- `--before <YYYY-MM-DD>` — Entries before date
|
|
44
|
+
- `--after <YYYY-MM-DD>` — Entries after date
|
|
45
|
+
- `--dry-run` — Preview destructive ops without executing
|
|
46
|
+
- `--confirm` — Skip confirmation prompt
|
|
47
|
+
</context>
|
|
48
|
+
|
|
49
|
+
<execution>
|
|
50
|
+
Follow '~/.maestro/workflows/knowhow.md' Part A (KnowHow Management) completely.
|
|
51
|
+
</execution>
|
|
52
|
+
|
|
53
|
+
<error_codes>
|
|
54
|
+
| Code | Severity | Description | Stage |
|
|
55
|
+
|------|----------|-------------|-------|
|
|
56
|
+
| E001 | error | No memory stores found — run `/manage-knowhow-capture` or create MEMORY.md | resolve_paths |
|
|
57
|
+
| E002 | error | Entry ID or filename not found | execute_view, execute_delete |
|
|
58
|
+
| E003 | error | Prune requires at least one filter (--tag, --type, --before, --after) | execute_prune |
|
|
59
|
+
| E004 | error | Cannot delete MEMORY.md — use `edit` subcommand instead | execute_delete |
|
|
60
|
+
| W001 | warning | Workflow index has orphaned files or dangling references | integrity_check |
|
|
61
|
+
| W002 | warning | MEMORY.md references non-existent topic file | integrity_check |
|
|
62
|
+
| W003 | warning | MEMORY.md exceeds 200 lines — content will be truncated at load | execute_edit |
|
|
63
|
+
</error_codes>
|
|
64
|
+
|
|
65
|
+
<success_criteria>
|
|
66
|
+
- [ ] Both store paths correctly resolved
|
|
67
|
+
- [ ] Subcommand correctly detected from arguments
|
|
68
|
+
- [ ] Store auto-detected from argument format (KNW-*/TIP-* vs filename)
|
|
69
|
+
- [ ] List: both stores displayed with appropriate formatting
|
|
70
|
+
- [ ] Search: results from both stores, ranked by relevance
|
|
71
|
+
- [ ] View: correct store selected, full content displayed
|
|
72
|
+
- [ ] Edit: system memory files editable, MEMORY.md kept under 200 lines
|
|
73
|
+
- [ ] Delete: MEMORY.md protected, confirmation required, references checked
|
|
74
|
+
- [ ] Prune: workflow-only, filters validated, index updated
|
|
75
|
+
- [ ] Integrity check catches orphans and broken links
|
|
76
|
+
- [ ] Next step: `/manage-knowhow-capture compact` to save new knowhow, or `/manage-status` to continue workflow
|
|
77
|
+
</success_criteria>
|