opencodekit 0.15.21 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/index.js +5 -7
  2. package/dist/template/.opencode/AGENTS.md +85 -23
  3. package/dist/template/.opencode/agent/build.md +88 -7
  4. package/dist/template/.opencode/agent/explore.md +1 -1
  5. package/dist/template/.opencode/agent/general.md +54 -4
  6. package/dist/template/.opencode/agent/looker.md +1 -1
  7. package/dist/template/.opencode/agent/painter.md +1 -1
  8. package/dist/template/.opencode/agent/plan.md +52 -0
  9. package/dist/template/.opencode/agent/review.md +1 -1
  10. package/dist/template/.opencode/agent/scout.md +3 -3
  11. package/dist/template/.opencode/agent/vision.md +1 -1
  12. package/dist/template/.opencode/command/create.md +231 -91
  13. package/dist/template/.opencode/command/design.md +40 -7
  14. package/dist/template/.opencode/command/handoff.md +22 -0
  15. package/dist/template/.opencode/command/init.md +49 -78
  16. package/dist/template/.opencode/command/plan.md +36 -16
  17. package/dist/template/.opencode/command/pr.md +15 -0
  18. package/dist/template/.opencode/command/research.md +3 -0
  19. package/dist/template/.opencode/command/resume.md +8 -18
  20. package/dist/template/.opencode/command/review-codebase.md +30 -0
  21. package/dist/template/.opencode/command/ship.md +199 -0
  22. package/dist/template/.opencode/command/start.md +316 -28
  23. package/dist/template/.opencode/command/status.md +24 -1
  24. package/dist/template/.opencode/command/ui-review.md +36 -7
  25. package/dist/template/.opencode/command/verify.md +307 -0
  26. package/dist/template/.opencode/memory/_templates/prd.md +29 -0
  27. package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
  28. package/dist/template/.opencode/memory/_templates/spec.md +66 -0
  29. package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
  30. package/dist/template/.opencode/memory/_templates/tech-stack.md +50 -0
  31. package/dist/template/.opencode/memory/project/tech-stack.md +53 -0
  32. package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
  33. package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
  34. package/dist/template/.opencode/memory.db +0 -0
  35. package/dist/template/.opencode/memory.db-shm +0 -0
  36. package/dist/template/.opencode/memory.db-wal +0 -0
  37. package/dist/template/.opencode/opencode.json +18 -4
  38. package/dist/template/.opencode/package.json +1 -0
  39. package/dist/template/.opencode/plans/1770006237537-mighty-otter.md +418 -0
  40. package/dist/template/.opencode/plans/1770006913647-glowing-forest.md +170 -0
  41. package/dist/template/.opencode/plans/1770013678126-witty-planet.md +278 -0
  42. package/dist/template/.opencode/plugin/lib/memory-db.ts +828 -0
  43. package/dist/template/.opencode/plugin/memory.ts +38 -1
  44. package/dist/template/.opencode/skill/index-knowledge/SKILL.md +76 -31
  45. package/dist/template/.opencode/skill/memory-system/SKILL.md +110 -55
  46. package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
  47. package/dist/template/.opencode/tool/memory-get.ts +143 -0
  48. package/dist/template/.opencode/tool/memory-maintain.ts +167 -0
  49. package/dist/template/.opencode/tool/memory-migrate.ts +319 -0
  50. package/dist/template/.opencode/tool/memory-read.ts +17 -46
  51. package/dist/template/.opencode/tool/memory-search.ts +131 -28
  52. package/dist/template/.opencode/tool/memory-timeline.ts +105 -0
  53. package/dist/template/.opencode/tool/memory-update.ts +21 -26
  54. package/dist/template/.opencode/tool/observation.ts +112 -100
  55. package/dist/template/.opencode/tsconfig.json +19 -19
  56. package/package.json +1 -1
  57. package/dist/template/.opencode/command/accessibility-check.md +0 -331
  58. package/dist/template/.opencode/command/agent-browser.md +0 -21
  59. package/dist/template/.opencode/command/analyze-mockup.md +0 -423
  60. package/dist/template/.opencode/command/analyze-project.md +0 -295
  61. package/dist/template/.opencode/command/brainstorm.md +0 -373
  62. package/dist/template/.opencode/command/cloudflare.md +0 -70
  63. package/dist/template/.opencode/command/commit.md +0 -245
  64. package/dist/template/.opencode/command/complete-next-task.md +0 -77
  65. package/dist/template/.opencode/command/design-audit.md +0 -480
  66. package/dist/template/.opencode/command/edit-image.md +0 -242
  67. package/dist/template/.opencode/command/finish.md +0 -255
  68. package/dist/template/.opencode/command/fix-ci.md +0 -109
  69. package/dist/template/.opencode/command/fix-types.md +0 -104
  70. package/dist/template/.opencode/command/fix-ui.md +0 -117
  71. package/dist/template/.opencode/command/fix.md +0 -168
  72. package/dist/template/.opencode/command/frontend-design.md +0 -21
  73. package/dist/template/.opencode/command/generate-diagram.md +0 -349
  74. package/dist/template/.opencode/command/generate-icon.md +0 -283
  75. package/dist/template/.opencode/command/generate-image.md +0 -246
  76. package/dist/template/.opencode/command/generate-pattern.md +0 -247
  77. package/dist/template/.opencode/command/generate-storyboard.md +0 -250
  78. package/dist/template/.opencode/command/implement.md +0 -609
  79. package/dist/template/.opencode/command/import-plan.md +0 -406
  80. package/dist/template/.opencode/command/index-knowledge.md +0 -25
  81. package/dist/template/.opencode/command/integration-test.md +0 -424
  82. package/dist/template/.opencode/command/issue.md +0 -102
  83. package/dist/template/.opencode/command/new-feature.md +0 -651
  84. package/dist/template/.opencode/command/opensrc.md +0 -58
  85. package/dist/template/.opencode/command/quick-build.md +0 -238
  86. package/dist/template/.opencode/command/ralph.md +0 -41
  87. package/dist/template/.opencode/command/research-and-implement.md +0 -148
  88. package/dist/template/.opencode/command/research-ui.md +0 -466
  89. package/dist/template/.opencode/command/restore-image.md +0 -424
  90. package/dist/template/.opencode/command/revert-feature.md +0 -386
  91. package/dist/template/.opencode/command/skill-create.md +0 -517
  92. package/dist/template/.opencode/command/skill-optimize.md +0 -556
  93. package/dist/template/.opencode/command/summarize.md +0 -412
  94. package/dist/template/.opencode/command/triage.md +0 -398
  95. package/dist/template/.opencode/memory/_templates/README.md +0 -35
  96. package/dist/template/.opencode/memory/_templates/observation.md +0 -39
  97. package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
  98. package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
  99. package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
  100. package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
  101. package/dist/template/.opencode/memory/_templates/prompt-engineering.md +0 -333
  102. package/dist/template/.opencode/memory/observations/2026-01-22-decision-agents-md-prompt-engineering-improvement.md +0 -29
  103. package/dist/template/.opencode/memory/observations/2026-01-25-decision-agent-roles-build-orchestrates-general-e.md +0 -14
  104. package/dist/template/.opencode/memory/observations/2026-01-25-decision-simplified-swarm-helper-tool-to-fix-type.md +0 -20
  105. package/dist/template/.opencode/memory/observations/2026-01-25-decision-use-beads-as-swarm-board-source-of-truth.md +0 -14
  106. package/dist/template/.opencode/memory/observations/2026-01-25-learning-user-wants-real-swarm-coordination-guida.md +0 -15
  107. package/dist/template/.opencode/memory/observations/2026-01-28-decision-created-deep-research-skill-for-thorough.md +0 -29
  108. package/dist/template/.opencode/memory/observations/2026-01-28-decision-gh-grep-mcp-wrapper-vs-native-grep-searc.md +0 -21
  109. package/dist/template/.opencode/memory/observations/2026-01-28-decision-oracle-tool-optimal-usage-patterns.md +0 -32
  110. package/dist/template/.opencode/memory/observations/2026-01-28-learning-ampcode-deep-mode-research-integration-w.md +0 -42
  111. package/dist/template/.opencode/memory/observations/2026-01-28-pattern-research-delegation-pattern-explore-for-.md +0 -32
  112. package/dist/template/.opencode/memory/observations/2026-01-29-decision-copilot-auth-plugin-rate-limit-handling.md +0 -27
  113. package/dist/template/.opencode/memory/observations/2026-01-29-decision-spec-driven-approach-for-opencodekit.md +0 -21
  114. package/dist/template/.opencode/memory/observations/2026-01-29-learning-karpathy-llm-coding-insights-dec-2025.md +0 -44
  115. package/dist/template/.opencode/memory/observations/2026-01-30-decision-github-copilot-claude-routing-keep-disab.md +0 -32
  116. package/dist/template/.opencode/memory/observations/2026-01-30-discovery-context-management-research-critical-gap.md +0 -14
  117. package/dist/template/.opencode/memory/observations/2026-01-30-discovery-kimi-k2-5-agent-swarm-architecture-patte.md +0 -45
  118. package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md +0 -28
  119. package/dist/template/.opencode/memory/observations/2026-01-31-decision-copilot-auth-plugin-updated-with-baseurl.md +0 -63
  120. package/dist/template/.opencode/memory/observations/2026-01-31-decision-created-dedicated-worker-agent-for-swarm.md +0 -20
  121. package/dist/template/.opencode/memory/observations/2026-01-31-decision-rollback-to-v1-1-47-for-copilot-claude-r.md +0 -21
  122. package/dist/template/.opencode/memory/observations/2026-01-31-decision-simplified-swarm-to-task-tool-pattern.md +0 -44
  123. package/dist/template/.opencode/memory/observations/2026-01-31-decision-swarm-architecture-task-tool-over-tmux.md +0 -33
  124. package/dist/template/.opencode/memory/observations/2026-01-31-decision-worker-skills-defined-for-swarm-delegati.md +0 -30
  125. package/dist/template/.opencode/memory/observations/2026-01-31-learning-gpt-reasoning-config-for-github-copilot.md +0 -51
  126. package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-auth-comparison-finding.md +0 -61
  127. package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-reasoning-architecture-.md +0 -66
  128. package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-custom-tools-api.md +0 -48
  129. package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-v1-1-48-skills-as-slash-command.md +0 -21
  130. package/dist/template/.opencode/memory/observations/2026-01-31-learning-swarm-system-simplified-removed-mailbox-.md +0 -30
  131. package/dist/template/.opencode/memory/observations/2026-01-31-learning-v1-1-48-native-copilot-reasoning-via-pr-.md +0 -45
  132. package/dist/template/.opencode/memory/observations/2026-01-31-warning-cannot-add-custom-config-to-opencode-jso.md +0 -18
  133. package/dist/template/.opencode/memory/observations/2026-01-31-warning-copilot-claude-v1-endpoint-returns-404-c.md +0 -48
  134. package/dist/template/.opencode/memory/observations/2026-01-31-warning-opencode-v1-1-48-claude-thinking-block-s.md +0 -51
  135. package/dist/template/.opencode/memory/project/architecture.md +0 -60
  136. package/dist/template/.opencode/memory/project/commands.md +0 -72
  137. package/dist/template/.opencode/memory/project/conventions.md +0 -68
  138. package/dist/template/.opencode/memory/project/gotchas.md +0 -41
  139. package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
  140. package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
  141. package/dist/template/.opencode/tool/notebooklm.ts +0 -488
  142. package/dist/template/.opencode/tool/oracle.ts +0 -240
  143. /package/dist/template/.opencode/memory/{user.example.md → _templates/user.md} +0 -0
  144. /package/dist/template/.opencode/memory/{user.md → project/user.md} +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Start working on a bead - claim it and prepare context
3
- argument-hint: "<bead-id> [--worktree] [--research]"
3
+ argument-hint: "<bead-id> [--worktree] [--research] [--parallel]"
4
4
  agent: build
5
5
  ---
6
6
 
@@ -8,6 +8,9 @@ agent: build
8
8
 
9
9
  You're claiming a task and preparing to work on it. This is the entry point before implementation.
10
10
 
11
+ > **CCPM Philosophy:** One issue ≠ one task. One issue = multiple parallel work streams.
12
+ > Agents are "context firewalls" - they do heavy work and return concise summaries.
13
+
11
14
  ## Parse Arguments
12
15
 
13
16
  | Argument | Default | Description |
@@ -15,12 +18,16 @@ You're claiming a task and preparing to work on it. This is the entry point befo
15
18
  | `<bead-id>` | required | The bead to start working on |
16
19
  | `--worktree` | false | Create isolated git worktree for this work |
17
20
  | `--research` | false | Run parallel subagent research before starting |
21
+ | `--parallel` | auto | Analyze and spawn parallel work streams |
18
22
 
19
23
  ## Load Skills
20
24
 
21
25
  ```typescript
22
26
  skill({ name: "beads" });
23
27
  skill({ name: "beads-bridge" }); // For cross-session todo coordination
28
+ skill({ name: "prd" }); // PRD creation workflow
29
+ skill({ name: "prd-task" }); // PRD to executable tasks conversion
30
+ skill({ name: "memory-system" });
24
31
  ```
25
32
 
26
33
  ## Ensure Git Hooks Installed
@@ -218,13 +225,42 @@ Task({
218
225
  Look for:
219
226
 
220
227
  - `spec.md` - Requirements and constraints
221
- - `prd.md` - PRD (optional, recommended for features)
222
- - `prd.json` - PRD tasks (generated from prd.md)
228
+ - `prd.md` - PRD created via `prd` skill (defines WHAT to build)
229
+ - `prd.json` - Executable tasks from `prd-task` skill
223
230
  - `progress.txt` - PRD execution progress (append-only)
224
231
  - `research.md` - Previous research
225
232
  - `plan.md` - Implementation plan
226
233
  - `handoffs/` - Previous session handoffs
227
234
 
235
+ ### PRD Workflow (if prd.md exists but no prd.json)
236
+
237
+ If `prd.md` exists but `prd.json` doesn't, convert PRD to tasks:
238
+
239
+ ```typescript
240
+ // The prd-task skill converts PRD markdown to executable JSON
241
+ // Read prd.md → Extract ## Tasks section → Write prd.json
242
+ skill({ name: "prd-task" });
243
+
244
+ // Then parse the PRD
245
+ // This creates:
246
+ // - .beads/artifacts/$ARGUMENTS/prd.json (task list)
247
+ // - .beads/artifacts/$ARGUMENTS/progress.txt (progress log)
248
+ ```
249
+
250
+ ### PRD Workflow (if neither exists)
251
+
252
+ If no PRD exists and task is complex (epic/feature), consider creating one:
253
+
254
+ ```typescript
255
+ // The prd skill guides PRD creation with:
256
+ // - Clarifying questions (5-7 max)
257
+ // - Problem/solution framing
258
+ // - Machine-convertible Tasks section
259
+ skill({ name: "prd" });
260
+
261
+ // Creates: .beads/artifacts/$ARGUMENTS/prd.md
262
+ ```
263
+
228
264
  ## Check Previous Sessions
229
265
 
230
266
  ```typescript
@@ -240,21 +276,10 @@ Search for relevant past work and learnings before starting:
240
276
 
241
277
  ```typescript
242
278
  // Find similar past work (semantic similarity)
243
- memory -
244
- search({
245
- query: "[task title/description from bead]",
246
- mode: "semantic",
247
- limit: 3,
248
- });
279
+ memory_search({ query: "[task title/description from bead]", limit: 3 });
249
280
 
250
281
  // Find related observations (gotchas, patterns, learnings)
251
- memory -
252
- search({
253
- query: "[task keywords]",
254
- mode: "semantic",
255
- type: "observation",
256
- limit: 3,
257
- });
282
+ memory_search({ query: "[task keywords] gotchas patterns", limit: 3 });
258
283
  ```
259
284
 
260
285
  **Review findings before diving in.** Past observations may contain:
@@ -265,10 +290,196 @@ memory -
265
290
 
266
291
  If memory search fails (Ollama not running), continue without it.
267
292
 
293
+ ## Parallel Stream Analysis (if --parallel flag or epic/task type)
294
+
295
+ > **CCPM Insight:** A single task isn't one unit of work. It's multiple parallel work streams.
296
+ > Streams are determined by analyzing the ACTUAL task requirements, not hardcoded categories.
297
+
298
+ ### Step 1: Analyze Work Streams
299
+
300
+ Use swarm planning to analyze the specific task:
301
+
302
+ ```typescript
303
+ // Get task details from bead
304
+ const beadInfo = bd show $ARGUMENTS --json;
305
+ const taskTitle = beadInfo.title;
306
+ const taskDescription = beadInfo.description;
307
+
308
+ // Read spec/plan if exists for file context
309
+ const specContent = read(".beads/artifacts/$ARGUMENTS/spec.md");
310
+ const planContent = read(".beads/artifacts/$ARGUMENTS/plan.md");
311
+
312
+ // Analyze THIS SPECIFIC task for parallel execution
313
+ const analysis = swarm_plan({
314
+ operation: "analyze",
315
+ task: taskTitle, // User's actual task
316
+ context: taskDescription, // User's requirements
317
+ files: "[files from spec/plan]", // Actual affected files
318
+ });
319
+ ```
320
+
321
+ The analysis returns **task-specific** streams:
322
+
323
+ ```typescript
324
+ // Example analysis result (varies per task):
325
+ {
326
+ classification: "search", // Can parallelize
327
+ recommended_agents: 3,
328
+ streams: [
329
+ { id: "stream-1", scope: "src/auth/*", purpose: "Authentication logic" },
330
+ { id: "stream-2", scope: "src/api/auth/*", purpose: "Auth endpoints" },
331
+ { id: "stream-3", scope: "tests/auth/*", purpose: "Auth test coverage" },
332
+ ]
333
+ }
334
+ ```
335
+
336
+ ### Step 2: Create Dynamic Delegation Packets
337
+
338
+ **For EACH stream from analysis** (not hardcoded):
339
+
340
+ ```typescript
341
+ // Iterate over streams from analysis - these are DYNAMIC based on task
342
+ for (const stream of analysis.streams) {
343
+ swarm_delegate({
344
+ bead_id: "$ARGUMENTS",
345
+ title: stream.purpose, // From analysis, not hardcoded
346
+ expected_outcome: `Complete ${stream.purpose} for task requirements`,
347
+ required_tools: "read, grep, lsp, edit, bash",
348
+ must_do: "LSP before edits, verify changes, run relevant tests",
349
+ must_not_do: "no new deps without approval, stay within assigned scope",
350
+ acceptance_checks: "[derived from spec.md acceptance criteria]",
351
+ context: `Files: ${stream.scope}, Purpose: ${stream.purpose}`,
352
+ write: true,
353
+ });
354
+ }
355
+ ```
356
+
357
+ ### Step 3: Spawn Workers for Each Stream
358
+
359
+ ```typescript
360
+ // Launch workers based on ACTUAL analysis results
361
+ for (const stream of analysis.streams) {
362
+ // Initialize monitoring for this stream
363
+ swarm_monitor({
364
+ operation: "progress_update",
365
+ team_name: "$ARGUMENTS-swarm",
366
+ worker_id: stream.id,
367
+ phase: "starting",
368
+ progress: 0,
369
+ status: "working",
370
+ file: stream.scope,
371
+ });
372
+
373
+ // Spawn worker with task-specific instructions
374
+ Task({
375
+ subagent_type: "general",
376
+ description: `${stream.id}: ${stream.purpose}`,
377
+ prompt: `Execute work stream for $ARGUMENTS.
378
+
379
+ **Your Assignment:**
380
+ - Scope: ${stream.scope}
381
+ - Purpose: ${stream.purpose}
382
+
383
+ **Load Context:**
384
+ - Delegation: .beads/artifacts/$ARGUMENTS/delegation.md
385
+ - Spec: .beads/artifacts/$ARGUMENTS/spec.md (if exists)
386
+
387
+ **Work:**
388
+ Complete all work within your assigned scope that fulfills the task requirements.
389
+
390
+ **Return CONCISE summary only:**
391
+ - Files modified: [list]
392
+ - Changes made: [brief description]
393
+ - Verification: [pass/fail + what was checked]
394
+
395
+ DO NOT return verbose output or file contents.`,
396
+ });
397
+ }
398
+
399
+ // All workers execute in parallel, results return when complete
400
+ ```
401
+
402
+ ### Step 4: Monitor Progress
403
+
404
+ ```typescript
405
+ // Render progress visualization
406
+ swarm_monitor({
407
+ operation: "render_block",
408
+ team_name: "$ARGUMENTS-swarm",
409
+ });
410
+ ```
411
+
412
+ **Output shows ACTUAL streams (dynamic):**
413
+
414
+ ```
415
+ ┌─ $ARGUMENTS-swarm ──────────────────────────┐
416
+ │ stream-1 [████████░░] 80% src/auth/* │
417
+ │ stream-2 [██████░░░░] 60% src/api/auth/* │
418
+ │ stream-3 [████░░░░░░] 40% tests/auth/* │
419
+ └─────────────────────────────────────────────┘
420
+ ```
421
+
422
+ ### Anti-Serial-Collapse Check
423
+
424
+ Before proceeding, verify parallelization makes sense:
425
+
426
+ ```typescript
427
+ swarm_plan({
428
+ operation: "check",
429
+ task: taskTitle,
430
+ files: analysis.streams.length,
431
+ recommended_agents: analysis.recommended_agents,
432
+ });
433
+ ```
434
+
435
+ **Warning signs:**
436
+
437
+ - Only 1 stream identified for multi-file task
438
+ - All streams depend on each other (should be sequential)
439
+ - Same files appear in multiple streams (conflict risk)
440
+
441
+ ### When NOT to Parallelize
442
+
443
+ Skip parallel analysis if:
444
+
445
+ - Task is a `subtask` (leaf-level, already atomic)
446
+ - Only 1-2 files affected
447
+ - Sequential dependency chain (each step needs previous)
448
+ - User explicitly passed `--no-parallel`
449
+
268
450
  ## PRD Tasks (If Present)
269
451
 
270
- - If `.beads/artifacts/$ARGUMENTS/prd.json` exists: next is `/complete-next-task $ARGUMENTS`.
271
- - If `.beads/artifacts/$ARGUMENTS/prd.md` exists but `prd.json` does not: generate tasks with `prd-task` (see `/create` for the full PRD workflow).
452
+ If `.beads/artifacts/$ARGUMENTS/prd.json` exists, execution is PRD-driven:
453
+
454
+ ```typescript
455
+ // Load the prd-task skill for execution guidance
456
+ skill({ name: "prd-task" });
457
+
458
+ // Read task list
459
+ const prdJson = read(".beads/artifacts/$ARGUMENTS/prd.json");
460
+ const tasks = JSON.parse(prdJson).tasks;
461
+
462
+ // Find next incomplete task
463
+ const nextTask = tasks.find((t) => !t.passes);
464
+
465
+ if (nextTask) {
466
+ console.log(`Next PRD task: ${nextTask.id}`);
467
+ console.log(`Description: ${nextTask.description}`);
468
+ console.log(`Verification steps:`);
469
+ nextTask.steps.forEach((s) => console.log(` - ${s}`));
470
+ }
471
+ ```
472
+
473
+ **PRD execution flow:**
474
+
475
+ 1. Read `prd.json` for task list
476
+ 2. Find next task where `passes: false`
477
+ 3. Implement to satisfy verification steps
478
+ 4. Mark `passes: true` when verification passes
479
+ 5. Append progress to `progress.txt`
480
+ 6. Repeat until all tasks pass
481
+
482
+ Proceed directly to implementation using the PRD tasks as the guide.
272
483
 
273
484
  ## Determine Next Step
274
485
 
@@ -280,17 +491,28 @@ Based on task type and what exists:
280
491
  | ------------------ | --------------------------------- |
281
492
  | No subtasks | `/plan $ARGUMENTS --create-beads` |
282
493
  | Has ready subtasks | `/start <first-subtask-id>` |
283
- | All subtasks done | `/finish $ARGUMENTS` |
494
+ | All subtasks done | `/ship $ARGUMENTS` |
284
495
 
285
496
  ### For Tasks/Subtasks (leaf work)
286
497
 
287
- | Artifacts Found | Next Command |
288
- | --------------------- | -------------------------------- |
289
- | Nothing | `/research $ARGUMENTS` |
290
- | Only spec.md | `/plan $ARGUMENTS` |
291
- | spec.md + research.md | `/plan $ARGUMENTS` |
292
- | plan.md exists | `/implement $ARGUMENTS` |
293
- | prd.json exists | `/complete-next-task $ARGUMENTS` |
498
+ | Artifacts Found | Next Step |
499
+ | --------------------- | ----------------------------------------- |
500
+ | Nothing | `/research $ARGUMENTS` or create PRD |
501
+ | Only spec.md | `/plan $ARGUMENTS` or create PRD |
502
+ | prd.md (no prd.json) | Run `prd-task` skill to convert to tasks |
503
+ | prd.json exists | `/ship $ARGUMENTS` (PRD-driven execution) |
504
+ | spec.md + research.md | `/plan $ARGUMENTS` |
505
+ | plan.md exists | `/ship $ARGUMENTS` |
506
+
507
+ ### PRD vs Plan Decision
508
+
509
+ | Situation | Use PRD | Use Plan |
510
+ | ------------------------------------ | ----------------------- | ------------------ |
511
+ | New feature with unclear scope | ✅ Ask questions first | ❌ |
512
+ | Bug fix or small change | ❌ | ✅ Quick plan |
513
+ | Multi-session epic | ✅ PRD for each subtask | ✅ High-level plan |
514
+ | Refactoring with known scope | ❌ | ✅ Plan with tasks |
515
+ | Feature needing stakeholder sign-off | ✅ PRD for review | ❌ |
294
516
 
295
517
  ## Output
296
518
 
@@ -311,8 +533,35 @@ Artifacts:
311
533
  • spec.md: [exists/missing]
312
534
  • research.md: [exists/missing]
313
535
  • plan.md: [exists/missing]
314
-
315
- Research: [launched/skipped]
536
+ • prd.md: [exists/missing]
537
+ • prd.json: [exists/missing] ([N] tasks, [M] complete)
538
+
539
+ [If PRD exists:]
540
+ ┌─ PRD Progress ──────────────────────────┐
541
+ │ Tasks: [completed]/[total] │
542
+ │ Next: [task-id] - [description] │
543
+ │ Verification: │
544
+ │ • [step 1] │
545
+ │ • [step 2] │
546
+ └─────────────────────────────────────────┘
547
+
548
+ ┌─ Parallel Analysis ─────────────────────┐
549
+ │ Classification: [search/chain/blocked] │
550
+ │ Streams: [N] identified from task │
551
+ │ Agents: [N] recommended │
552
+ │ │
553
+ │ Streams detected: │
554
+ │ • [stream.purpose from analysis] │
555
+ │ • [stream.purpose from analysis] │
556
+ │ • ... │
557
+ └─────────────────────────────────────────┘
558
+
559
+ [If parallel spawned:]
560
+ ┌─ $ARGUMENTS-swarm ──────────────────────┐
561
+ │ [stream-id] [░░░░░░░░░░] 0% [scope] │
562
+ │ [stream-id] [░░░░░░░░░░] 0% [scope] │
563
+ │ ... │
564
+ └─────────────────────────────────────────┘
316
565
 
317
566
  Next: [recommended command based on state]
318
567
  ```
@@ -324,3 +573,42 @@ If `--quick` flag is passed and plan.md exists, skip directly to:
324
573
  ```
325
574
  /implement $ARGUMENTS
326
575
  ```
576
+
577
+ ---
578
+
579
+ ## Agent Return Format (CCPM Pattern)
580
+
581
+ > **Key insight:** Agents are context firewalls. They do heavy work and return CONCISE summaries.
582
+
583
+ When spawning subagents, always specify the return format:
584
+
585
+ ```typescript
586
+ Task({
587
+ subagent_type: "explore",
588
+ prompt: `...
589
+
590
+ Return ONLY:
591
+ - 3-5 key files (not all files examined)
592
+ - Pattern summary (not full code)
593
+ - Actionable insights (not observations)
594
+
595
+ DO NOT return verbose output or file contents.`,
596
+ });
597
+ ```
598
+
599
+ **Good return:** "Found auth pattern in 3 files: src/auth/\*.ts uses JWT with 24h expiry"
600
+
601
+ **Bad return:** [dumps entire file contents]
602
+
603
+ ---
604
+
605
+ ## Related Commands
606
+
607
+ | Need | Command |
608
+ | -------------------- | -------------------------------- |
609
+ | Skip to implement | `/ship $ARGUMENTS` |
610
+ | Create PRD first | `/create $ARGUMENTS --prd` |
611
+ | Research first | `/research $ARGUMENTS` |
612
+ | Plan implementation | `/plan $ARGUMENTS` |
613
+ | Convert PRD to tasks | Use `prd-task` skill |
614
+ | Check PRD progress | Read `prd.json` + `progress.txt` |
@@ -11,9 +11,10 @@ subtask: true
11
11
 
12
12
  ```typescript
13
13
  skill({ name: "beads" });
14
+ skill({ name: "memory-system" });
14
15
  ```
15
16
 
16
- Generate a comprehensive project status report covering tasks, sessions, git state, and system health.
17
+ Generate a comprehensive project status report covering tasks, sessions, git state, memory health, and system health.
17
18
 
18
19
  ## Phase 1: Gather All State (Parallel)
19
20
 
@@ -250,6 +251,28 @@ Fri ██████████ 10
250
251
 
251
252
  ## Phase 5: Session Insights
252
253
 
254
+ ### Memory Health
255
+
256
+ ```typescript
257
+ // Check memory system status
258
+ memory_maintain({ operation: "status", older_than_days: 90, dry_run: false });
259
+ ```
260
+
261
+ Display memory stats in dashboard:
262
+
263
+ ```
264
+ MEMORY STATUS
265
+ ━━━━━━━━━━━━
266
+ Observations: [N] stored
267
+ Database size: [X] KB
268
+ FTS Index: ✓ Healthy
269
+ Last search: [timestamp]
270
+
271
+ Recent learnings:
272
+ • [Latest observation title] (type: decision)
273
+ • [Latest observation title] (type: pattern)
274
+ ```
275
+
253
276
  ### Context Health
254
277
 
255
278
  ```typescript
@@ -14,6 +14,7 @@ Comprehensive UI/UX review with structured scoring and actionable feedback.
14
14
 
15
15
  ```typescript
16
16
  skill({ name: "beads" }); // Session protocol
17
+ skill({ name: "memory-system" });
17
18
  ```
18
19
 
19
20
  ```typescript
@@ -22,6 +23,20 @@ skill({ name: "visual-analysis" });
22
23
  skill({ name: "accessibility-audit" });
23
24
  ```
24
25
 
26
+ ## Check Memory for Design Context
27
+
28
+ Search for existing design decisions and patterns:
29
+
30
+ ```typescript
31
+ // Find design system decisions
32
+ memory_search({ query: "design system colors typography", limit: 3 });
33
+
34
+ // Find previous UI reviews and findings
35
+ memory_search({ query: "[component/page] UI review", limit: 3 });
36
+ ```
37
+
38
+ Apply existing design decisions to the review.
39
+
25
40
  ## Parse Arguments
26
41
 
27
42
  | Argument | Default | Description |
@@ -300,10 +315,24 @@ bd dep add <task-id> <bead-id>
300
315
 
301
316
  ## Related Commands
302
317
 
303
- | Need | Command |
304
- | ------------------- | ---------------------- |
305
- | Analyze mockup | `/analyze-mockup` |
306
- | Fix UI issues | `/fix-ui` |
307
- | Accessibility audit | `/accessibility-check` |
308
- | Design from scratch | `/design` |
309
- | Audit design system | `/design-audit` |
318
+ | Need | Command |
319
+ | -------------------- | --------------- |
320
+ | Design from scratch | `/design` |
321
+ | Start implementation | `/start <bead>` |
322
+ | Ship implementation | `/ship <bead>` |
323
+
324
+ ## Record Significant Findings
325
+
326
+ For important UI/UX findings worth remembering:
327
+
328
+ ```typescript
329
+ observation({
330
+ type: "warning", // or "pattern", "decision"
331
+ title: "UI: [Component/page] [issue type]",
332
+ narrative: "Found [issue] in [location]. Impact: [description]...",
333
+ facts: "[severity], [category], [fix approach]",
334
+ concepts: "ui, accessibility, [component type]",
335
+ bead_id: "$ARGUMENTS", // if applicable
336
+ confidence: "high",
337
+ });
338
+ ```