maestro-flow 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/quality-business-test.md +110 -0
- package/.codex/skills/maestro-init/SKILL.md +167 -167
- package/.codex/skills/maestro-phase-add/SKILL.md +154 -154
- package/.codex/skills/maestro-phase-transition/SKILL.md +173 -173
- package/.codex/skills/maestro-verify/SKILL.md +566 -566
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +5 -5
- package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -5
- package/.codex/skills/manage-issue/SKILL.md +7 -7
- package/.codex/skills/manage-issue-analyze/SKILL.md +7 -7
- package/.codex/skills/manage-issue-discover/SKILL.md +503 -503
- package/.codex/skills/manage-issue-execute/SKILL.md +9 -9
- package/.codex/skills/manage-issue-plan/SKILL.md +8 -8
- package/.codex/skills/manage-learn/SKILL.md +7 -7
- package/.codex/skills/manage-memory/SKILL.md +72 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +86 -86
- package/.codex/skills/manage-status/SKILL.md +2 -2
- package/.codex/skills/quality-business-test/SKILL.md +223 -0
- package/.codex/skills/quality-debug/SKILL.md +5 -5
- package/.codex/skills/quality-integration-test/SKILL.md +544 -544
- package/.codex/skills/quality-refactor/SKILL.md +6 -6
- package/.codex/skills/quality-retrospective/SKILL.md +10 -10
- package/.codex/skills/quality-review/SKILL.md +408 -408
- package/.codex/skills/quality-sync/SKILL.md +6 -6
- package/.codex/skills/quality-test/SKILL.md +5 -5
- package/.codex/skills/quality-test-gen/SKILL.md +447 -447
- package/.codex/skills/spec-add/SKILL.md +5 -5
- package/.codex/skills/spec-load/SKILL.md +5 -5
- package/.codex/skills/spec-map/SKILL.md +5 -5
- package/.codex/skills/spec-setup/SKILL.md +2 -2
- package/chains/_intent-map.json +6 -0
- package/chains/_router.json +14 -0
- package/chains/full-lifecycle.json +15 -0
- package/chains/quality-loop.json +16 -1
- package/chains/singles/business-test.json +26 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-app-server-adapter.d.ts +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-app-server-adapter.js +47 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-app-server-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +16 -2
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +25 -9
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +3 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +78 -61
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-history-store.d.ts +14 -1
- package/dashboard/dist-server/src/agents/cli-history-store.js +24 -2
- package/dashboard/dist-server/src/agents/cli-history-store.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.js +142 -6
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +3 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +72 -46
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/agents/cli-history-store.d.ts +14 -1
- package/dist/src/agents/cli-history-store.d.ts.map +1 -1
- package/dist/src/agents/cli-history-store.js +24 -2
- package/dist/src/agents/cli-history-store.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +65 -5
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +5 -2
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +7 -2
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/tools/index.d.ts +1 -6
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +1 -451
- package/dist/src/tools/index.js.map +1 -1
- package/package.json +3 -2
- package/templates/business-test-report.json +68 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: manage-issue-execute
|
|
3
3
|
description: Execute a planned solution for an issue via dual-mode dispatch. Auto-detects server UP (POST to /api/execution/dispatch) or DOWN (direct maestro delegate). Updates issue status on completion with next-step routing to close, debug, or verify.
|
|
4
4
|
argument-hint: "<ISS-ID> [--executor claude-code|codex|gemini] [--dry-run]"
|
|
5
5
|
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
@@ -10,10 +10,10 @@ allowed-tools: Read, Write, Bash, Glob, Grep
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
$
|
|
14
|
-
$
|
|
15
|
-
$
|
|
16
|
-
$
|
|
13
|
+
$manage-issue-execute "ISS-20260401-001"
|
|
14
|
+
$manage-issue-execute "ISS-20260401-001 --dry-run"
|
|
15
|
+
$manage-issue-execute "ISS-20260401-001 --executor codex"
|
|
16
|
+
$manage-issue-execute "ISS-20260401-001 --executor gemini"
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
**Flags**:
|
|
@@ -172,9 +172,9 @@ Mode: <server|cli>
|
|
|
172
172
|
Status: resolved
|
|
173
173
|
|
|
174
174
|
Next steps:
|
|
175
|
-
Close: $
|
|
175
|
+
Close: $manage-issue "close <ISS-ID> --resolution fixed"
|
|
176
176
|
Verify: $maestro-verify "<phase>"
|
|
177
|
-
Debug: $
|
|
177
|
+
Debug: $quality-debug "<failure description>" (if issues found)
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
---
|
|
@@ -184,8 +184,8 @@ Next steps:
|
|
|
184
184
|
| Code | Severity | Condition | Recovery |
|
|
185
185
|
|------|----------|-----------|----------|
|
|
186
186
|
| E001 | error | No ISS-ID provided | Display usage hint |
|
|
187
|
-
| E002 | error | No solution record on issue | Run `$
|
|
188
|
-
| E003 | error | ISS-ID not found in issues.jsonl | Suggest `$
|
|
187
|
+
| E002 | error | No solution record on issue | Run `$manage-issue-plan "<ISS-ID>"` first |
|
|
188
|
+
| E003 | error | ISS-ID not found in issues.jsonl | Suggest `$manage-issue "list"` |
|
|
189
189
|
| E004 | error | Server dispatch or CLI execution failed | Log error, revert status to `open`, display failure details |
|
|
190
190
|
|
|
191
191
|
---
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: manage-issue-plan
|
|
3
3
|
description: Solution planning for a specific issue. Auto-detects analysis context, runs maestro delegate planning, and attaches a structured solution record with ordered steps and verification criteria to the issue in issues.jsonl.
|
|
4
4
|
argument-hint: "<ISS-ID> [--tool gemini|qwen] [--from-analysis]"
|
|
5
5
|
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
@@ -10,9 +10,9 @@ allowed-tools: Read, Write, Bash, Glob, Grep
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
$
|
|
14
|
-
$
|
|
15
|
-
$
|
|
13
|
+
$manage-issue-plan "ISS-20260401-001"
|
|
14
|
+
$manage-issue-plan "ISS-20260401-001 --from-analysis"
|
|
15
|
+
$manage-issue-plan "ISS-20260401-001 --tool qwen"
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
**Flags**:
|
|
@@ -160,7 +160,7 @@ Steps:
|
|
|
160
160
|
Verification:
|
|
161
161
|
- <verification 1>
|
|
162
162
|
|
|
163
|
-
Next: $
|
|
163
|
+
Next: $manage-issue-execute "<ISS-ID>"
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
---
|
|
@@ -170,9 +170,9 @@ Next: $maestro-issue-execute "<ISS-ID>"
|
|
|
170
170
|
| Code | Severity | Condition | Recovery |
|
|
171
171
|
|------|----------|-----------|----------|
|
|
172
172
|
| E001 | error | No ISS-ID provided | Display usage hint |
|
|
173
|
-
| E002 | error | ISS-ID not found in issues.jsonl | Suggest `$
|
|
173
|
+
| E002 | error | ISS-ID not found in issues.jsonl | Suggest `$manage-issue "list"` |
|
|
174
174
|
| E003 | error | CLI planning returned no parseable result | Retry with different `--tool` |
|
|
175
|
-
| W001 | warning | `--from-analysis` but no analysis record exists | Proceed without context; suggest `$
|
|
175
|
+
| W001 | warning | `--from-analysis` but no analysis record exists | Proceed without context; suggest `$manage-issue-analyze` |
|
|
176
176
|
|
|
177
177
|
---
|
|
178
178
|
|
|
@@ -183,4 +183,4 @@ Next: $maestro-issue-execute "<ISS-ID>"
|
|
|
183
183
|
3. **Concrete steps only**: Each step must have a file reference — no "investigate further" placeholders
|
|
184
184
|
4. **Preserve existing fields**: Patch only `solution` + `issue_history` — all other issue fields unchanged
|
|
185
185
|
5. **Append-only history**: Append to `issue_history`, never overwrite existing entries
|
|
186
|
-
6. **Next-step routing**: Always display `$
|
|
186
|
+
6. **Next-step routing**: Always display `$manage-issue-execute "<ISS-ID>"` at the end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: manage-learn
|
|
3
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
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
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
@@ -10,11 +10,11 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
$
|
|
14
|
-
$
|
|
15
|
-
$
|
|
16
|
-
$
|
|
17
|
-
$
|
|
13
|
+
$manage-learn "Always read state.json before planning to detect current phase"
|
|
14
|
+
$manage-learn "list --limit 10 --category antipattern"
|
|
15
|
+
$manage-learn "search context propagation"
|
|
16
|
+
$manage-learn "show INS-a3f7b2c1"
|
|
17
|
+
$manage-learn "\"Zod v4 breaks z.object().strict() API\" --category gotcha --tag zod,typescript"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
**Flags** (capture mode):
|
|
@@ -157,7 +157,7 @@ Phase: 3 (phase-03-api-layer)
|
|
|
157
157
|
Confidence: medium
|
|
158
158
|
Tags: manual, zod, typescript
|
|
159
159
|
|
|
160
|
-
Next: $
|
|
160
|
+
Next: $manage-learn "list" or $manage-learn "search zod"
|
|
161
161
|
```
|
|
162
162
|
|
|
163
163
|
---
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
---
|
|
2
|
-
name:
|
|
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
|
-
# Memory Management
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
$
|
|
14
|
-
$
|
|
15
|
-
$
|
|
16
|
-
$
|
|
17
|
-
$
|
|
18
|
-
$
|
|
19
|
-
$
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Implementation
|
|
25
|
-
|
|
26
|
-
### Step 1: Resolve Store Paths
|
|
27
|
-
|
|
28
|
-
- **Workflow store**: `.workflow/memory/` (entries: `MEM-*.md`, `TIP-*.md`, index: `memory-index.json`)
|
|
29
|
-
- **System store**: `~/.claude/projects/{project}/memory/` (files: `MEMORY.md` + topic `.md` files)
|
|
30
|
-
|
|
31
|
-
Derive system path from project root (replace path separators with `--`, prefix drive letter).
|
|
32
|
-
|
|
33
|
-
### Step 2: Parse Subcommand
|
|
34
|
-
|
|
35
|
-
Default to `list` if no arguments. Parse first token as subcommand.
|
|
36
|
-
|
|
37
|
-
### Step 3: Execute Subcommand
|
|
38
|
-
|
|
39
|
-
**list**: Show entries from both stores (or filtered by `--store`, `--tag`, `--type`).
|
|
40
|
-
- Workflow: read `memory-index.json`, display ID, type, date, tags, title
|
|
41
|
-
- System: list `.md` files in system memory directory
|
|
42
|
-
|
|
43
|
-
**search `<query>`**: Full-text grep across both stores. Rank by match count.
|
|
44
|
-
|
|
45
|
-
**view `<id|file>`**: Auto-detect store from format (`MEM-*/TIP-*` = workflow, else system). Display full content.
|
|
46
|
-
|
|
47
|
-
**edit `<file>`**: Edit a system memory file. Read current content, apply changes. Warn if MEMORY.md exceeds 200 lines (W003).
|
|
48
|
-
|
|
49
|
-
**delete `<id|file>`**: Require confirmation (or `--confirm` flag). MEMORY.md cannot be deleted (E004). Remove entry file and update `memory-index.json`.
|
|
50
|
-
|
|
51
|
-
**prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. `--dry-run` previews without deleting.
|
|
52
|
-
|
|
53
|
-
### Step 4: Integrity Check
|
|
54
|
-
|
|
55
|
-
After write operations, verify:
|
|
56
|
-
- No orphaned files without index entries (W001)
|
|
57
|
-
- No dangling index references to missing files (W001)
|
|
58
|
-
- System MEMORY.md references valid topic files (W002)
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Error Handling
|
|
63
|
-
|
|
64
|
-
| Code | Severity | Description |
|
|
65
|
-
|------|----------|-------------|
|
|
66
|
-
| E001 | error | No memory stores found -- run `Skill({ skill: "memory-capture" })` or create MEMORY.md |
|
|
67
|
-
| E002 | error | Entry ID or filename not found |
|
|
68
|
-
| E003 | error | Prune requires at least one filter flag |
|
|
69
|
-
| E004 | error | Cannot delete MEMORY.md -- use `edit` subcommand instead |
|
|
70
|
-
| W001 | warning | Index has orphaned files or dangling references |
|
|
71
|
-
| W002 | warning | MEMORY.md references non-existent topic file |
|
|
72
|
-
| W003 | warning | MEMORY.md exceeds 200 lines -- content truncated at load |
|
|
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
|
+
# Memory Management
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
$manage-memory
|
|
14
|
+
$manage-memory "list --store workflow"
|
|
15
|
+
$manage-memory "search authentication"
|
|
16
|
+
$manage-memory "view MEM-20260318-001"
|
|
17
|
+
$manage-memory "edit MEMORY.md"
|
|
18
|
+
$manage-memory "delete TIP-20260318-001 --confirm"
|
|
19
|
+
$manage-memory "prune --before 2026-01-01 --type tip --dry-run"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Implementation
|
|
25
|
+
|
|
26
|
+
### Step 1: Resolve Store Paths
|
|
27
|
+
|
|
28
|
+
- **Workflow store**: `.workflow/memory/` (entries: `MEM-*.md`, `TIP-*.md`, index: `memory-index.json`)
|
|
29
|
+
- **System store**: `~/.claude/projects/{project}/memory/` (files: `MEMORY.md` + topic `.md` files)
|
|
30
|
+
|
|
31
|
+
Derive system path from project root (replace path separators with `--`, prefix drive letter).
|
|
32
|
+
|
|
33
|
+
### Step 2: Parse Subcommand
|
|
34
|
+
|
|
35
|
+
Default to `list` if no arguments. Parse first token as subcommand.
|
|
36
|
+
|
|
37
|
+
### Step 3: Execute Subcommand
|
|
38
|
+
|
|
39
|
+
**list**: Show entries from both stores (or filtered by `--store`, `--tag`, `--type`).
|
|
40
|
+
- Workflow: read `memory-index.json`, display ID, type, date, tags, title
|
|
41
|
+
- System: list `.md` files in system memory directory
|
|
42
|
+
|
|
43
|
+
**search `<query>`**: Full-text grep across both stores. Rank by match count.
|
|
44
|
+
|
|
45
|
+
**view `<id|file>`**: Auto-detect store from format (`MEM-*/TIP-*` = workflow, else system). Display full content.
|
|
46
|
+
|
|
47
|
+
**edit `<file>`**: Edit a system memory file. Read current content, apply changes. Warn if MEMORY.md exceeds 200 lines (W003).
|
|
48
|
+
|
|
49
|
+
**delete `<id|file>`**: Require confirmation (or `--confirm` flag). MEMORY.md cannot be deleted (E004). Remove entry file and update `memory-index.json`.
|
|
50
|
+
|
|
51
|
+
**prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. `--dry-run` previews without deleting.
|
|
52
|
+
|
|
53
|
+
### Step 4: Integrity Check
|
|
54
|
+
|
|
55
|
+
After write operations, verify:
|
|
56
|
+
- No orphaned files without index entries (W001)
|
|
57
|
+
- No dangling index references to missing files (W001)
|
|
58
|
+
- System MEMORY.md references valid topic files (W002)
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Error Handling
|
|
63
|
+
|
|
64
|
+
| Code | Severity | Description |
|
|
65
|
+
|------|----------|-------------|
|
|
66
|
+
| E001 | error | No memory stores found -- run `Skill({ skill: "memory-capture" })` or create MEMORY.md |
|
|
67
|
+
| E002 | error | Entry ID or filename not found |
|
|
68
|
+
| E003 | error | Prune requires at least one filter flag |
|
|
69
|
+
| E004 | error | Cannot delete MEMORY.md -- use `edit` subcommand instead |
|
|
70
|
+
| W001 | warning | Index has orphaned files or dangling references |
|
|
71
|
+
| W002 | warning | MEMORY.md references non-existent topic file |
|
|
72
|
+
| W003 | warning | MEMORY.md exceeds 200 lines -- content truncated at load |
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
---
|
|
2
|
-
name:
|
|
3
|
-
description: Capture session memory (compact or tip) into .workflow/memory/ with JSON index
|
|
4
|
-
argument-hint: "[compact|tip] [description] [--tag tag1,tag2]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Memory Capture
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
$
|
|
14
|
-
$
|
|
15
|
-
$
|
|
16
|
-
$
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**Modes**: `compact` (full session compression) or `tip` (quick note with tags).
|
|
20
|
-
No arguments: auto-detect or ask user.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Implementation
|
|
25
|
-
|
|
26
|
-
### Step 1: Validate
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
test -d .workflow || exit 1 # E001: not initialized
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Create `.workflow/memory/` if it does not exist.
|
|
33
|
-
|
|
34
|
-
### Step 2: Detect Mode
|
|
35
|
-
|
|
36
|
-
Parse first token as mode (`compact` or `tip`).
|
|
37
|
-
If absent or ambiguous, ask user via AskUserQuestion.
|
|
38
|
-
|
|
39
|
-
### Step 3: Capture Content
|
|
40
|
-
|
|
41
|
-
**Compact mode**:
|
|
42
|
-
1. Analyze current conversation for: objective, key decisions, modified files, current plan state, pending work
|
|
43
|
-
2. Generate entry ID: `MEM-{YYYYMMDD}-{NNN}`
|
|
44
|
-
3. Write `.workflow/memory/MEM-{id}.md` with sections:
|
|
45
|
-
- Objective, Key Decisions, Files Modified (absolute paths), Execution Plan (verbatim), Pending Work, Context Notes
|
|
46
|
-
|
|
47
|
-
**Tip mode**:
|
|
48
|
-
1. Extract content (everything after `tip`) and parse `--tag` flag
|
|
49
|
-
2. Generate entry ID: `TIP-{YYYYMMDD}-{NNN}`
|
|
50
|
-
3. Write `.workflow/memory/TIP-{id}.md` with: content, tags, timestamp, context
|
|
51
|
-
|
|
52
|
-
### Step 4: Update Index
|
|
53
|
-
|
|
54
|
-
Read or create `.workflow/memory/memory-index.json`.
|
|
55
|
-
Append new entry metadata:
|
|
56
|
-
|
|
57
|
-
```json
|
|
58
|
-
{
|
|
59
|
-
"id": "{entry_id}",
|
|
60
|
-
"type": "compact|tip",
|
|
61
|
-
"date": "{ISO}",
|
|
62
|
-
"title": "{short title}",
|
|
63
|
-
"tags": ["tag1", "tag2"],
|
|
64
|
-
"file": "{filename}"
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Step 5: Confirm
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
=== MEMORY CAPTURED ===
|
|
72
|
-
ID: {entry_id}
|
|
73
|
-
Type: {compact|tip}
|
|
74
|
-
File: .workflow/memory/{filename}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Error Handling
|
|
80
|
-
|
|
81
|
-
| Code | Severity | Description |
|
|
82
|
-
|------|----------|-------------|
|
|
83
|
-
| E001 | error | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
|
|
84
|
-
| E002 | error | Empty note content in tip mode |
|
|
85
|
-
| W001 | warning | No active workflow session -- compact captures conversation only |
|
|
86
|
-
| W002 | warning | No explicit plan found -- using inferred plan |
|
|
1
|
+
---
|
|
2
|
+
name: manage-memory-capture
|
|
3
|
+
description: Capture session memory (compact or tip) into .workflow/memory/ with JSON index
|
|
4
|
+
argument-hint: "[compact|tip] [description] [--tag tag1,tag2]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Memory Capture
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
$manage-memory-capture
|
|
14
|
+
$manage-memory-capture "compact"
|
|
15
|
+
$manage-memory-capture "tip Always check state.json before phase operations --tag workflow,state"
|
|
16
|
+
$manage-memory-capture "compact Full auth implementation session"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Modes**: `compact` (full session compression) or `tip` (quick note with tags).
|
|
20
|
+
No arguments: auto-detect or ask user.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Implementation
|
|
25
|
+
|
|
26
|
+
### Step 1: Validate
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
test -d .workflow || exit 1 # E001: not initialized
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Create `.workflow/memory/` if it does not exist.
|
|
33
|
+
|
|
34
|
+
### Step 2: Detect Mode
|
|
35
|
+
|
|
36
|
+
Parse first token as mode (`compact` or `tip`).
|
|
37
|
+
If absent or ambiguous, ask user via AskUserQuestion.
|
|
38
|
+
|
|
39
|
+
### Step 3: Capture Content
|
|
40
|
+
|
|
41
|
+
**Compact mode**:
|
|
42
|
+
1. Analyze current conversation for: objective, key decisions, modified files, current plan state, pending work
|
|
43
|
+
2. Generate entry ID: `MEM-{YYYYMMDD}-{NNN}`
|
|
44
|
+
3. Write `.workflow/memory/MEM-{id}.md` with sections:
|
|
45
|
+
- Objective, Key Decisions, Files Modified (absolute paths), Execution Plan (verbatim), Pending Work, Context Notes
|
|
46
|
+
|
|
47
|
+
**Tip mode**:
|
|
48
|
+
1. Extract content (everything after `tip`) and parse `--tag` flag
|
|
49
|
+
2. Generate entry ID: `TIP-{YYYYMMDD}-{NNN}`
|
|
50
|
+
3. Write `.workflow/memory/TIP-{id}.md` with: content, tags, timestamp, context
|
|
51
|
+
|
|
52
|
+
### Step 4: Update Index
|
|
53
|
+
|
|
54
|
+
Read or create `.workflow/memory/memory-index.json`.
|
|
55
|
+
Append new entry metadata:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"id": "{entry_id}",
|
|
60
|
+
"type": "compact|tip",
|
|
61
|
+
"date": "{ISO}",
|
|
62
|
+
"title": "{short title}",
|
|
63
|
+
"tags": ["tag1", "tag2"],
|
|
64
|
+
"file": "{filename}"
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Step 5: Confirm
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
=== MEMORY CAPTURED ===
|
|
72
|
+
ID: {entry_id}
|
|
73
|
+
Type: {compact|tip}
|
|
74
|
+
File: .workflow/memory/{filename}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Error Handling
|
|
80
|
+
|
|
81
|
+
| Code | Severity | Description |
|
|
82
|
+
|------|----------|-------------|
|
|
83
|
+
| E001 | error | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
|
|
84
|
+
| E002 | error | Empty note content in tip mode |
|
|
85
|
+
| W001 | warning | No active workflow session -- compact captures conversation only |
|
|
86
|
+
| W002 | warning | No explicit plan found -- using inferred plan |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: manage-status
|
|
3
3
|
description: Display project dashboard with phase progress, active tasks, and next steps
|
|
4
4
|
argument-hint: ""
|
|
5
5
|
allowed-tools: Read, Bash, Glob, Grep
|
|
@@ -10,7 +10,7 @@ allowed-tools: Read, Bash, Glob, Grep
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
$
|
|
13
|
+
$manage-status
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
No arguments required. Reads `.workflow/` state files and renders a formatted project overview.
|