opencode-goopspec 0.1.3 → 0.1.4

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 (53) hide show
  1. package/README.md +253 -331
  2. package/agents/goop-debugger.md +175 -172
  3. package/agents/goop-designer.md +232 -160
  4. package/agents/goop-executor.md +197 -127
  5. package/agents/goop-explorer.md +148 -150
  6. package/agents/goop-librarian.md +218 -164
  7. package/agents/goop-orchestrator.md +364 -338
  8. package/agents/goop-planner.md +331 -153
  9. package/agents/goop-researcher.md +198 -126
  10. package/agents/goop-tester.md +277 -202
  11. package/agents/goop-verifier.md +191 -201
  12. package/agents/goop-writer.md +241 -133
  13. package/agents/memory-distiller.md +228 -136
  14. package/commands/goop-accept.md +430 -36
  15. package/commands/goop-amend.md +13 -0
  16. package/commands/goop-complete.md +13 -0
  17. package/commands/goop-debug.md +13 -0
  18. package/commands/goop-discuss.md +419 -7
  19. package/commands/goop-execute.md +386 -37
  20. package/commands/goop-help.md +11 -0
  21. package/commands/goop-map-codebase.md +13 -0
  22. package/commands/goop-memory.md +11 -0
  23. package/commands/goop-milestone.md +13 -0
  24. package/commands/goop-pause.md +12 -0
  25. package/commands/goop-plan.md +320 -266
  26. package/commands/goop-quick.md +12 -0
  27. package/commands/goop-recall.md +11 -0
  28. package/commands/goop-remember.md +12 -0
  29. package/commands/goop-research.md +13 -0
  30. package/commands/goop-resume.md +12 -0
  31. package/commands/goop-setup.md +18 -8
  32. package/commands/goop-specify.md +315 -39
  33. package/commands/goop-status.md +276 -28
  34. package/dist/index.js +328 -15
  35. package/package.json +1 -1
  36. package/references/context-injection.md +307 -0
  37. package/references/discovery-interview.md +278 -0
  38. package/references/enforcement-system.md +213 -0
  39. package/references/handoff-protocol.md +290 -0
  40. package/references/model-profiles.md +1 -1
  41. package/references/phase-gates.md +360 -0
  42. package/references/plugin-architecture.md +212 -0
  43. package/references/response-format.md +41 -9
  44. package/references/subagent-protocol.md +83 -33
  45. package/references/visual-style.md +199 -0
  46. package/references/xml-response-schema.md +236 -0
  47. package/templates/blueprint.md +88 -41
  48. package/templates/chronicle.md +130 -16
  49. package/templates/handoff.md +140 -0
  50. package/templates/project.md +114 -0
  51. package/templates/requirements.md +121 -0
  52. package/templates/spec.md +85 -20
  53. package/templates/state.md +103 -0
@@ -1,9 +1,8 @@
1
1
  ---
2
2
  name: goop-execute
3
3
  description: Begin wave-based execution
4
- agent: goop-executor
5
- spawn: true
6
4
  phase: execute
5
+ requires: spec_locked
7
6
  next-step: "When all waves are complete, verify the work and request acceptance"
8
7
  next-command: /goop-accept
9
8
  alternatives:
@@ -23,49 +22,399 @@ alternatives:
23
22
  /goop-execute
24
23
  ```
25
24
 
26
- ## How It Works
25
+ ## Gate Requirement
27
26
 
28
- The **Orchestrator** takes control and manages the implementation process. It does not write code directly but delegates to the **Executor** agent.
27
+ ```
28
+ +================================================================+
29
+ | EXECUTION GATE: Specification must be locked before executing. |
30
+ | This ensures we build what was agreed upon. |
31
+ +================================================================+
32
+ ```
33
+
34
+ **Required before this command:**
35
+ - `specLocked: true` (check via `goop_state({ action: "get" })`)
36
+ - `.goopspec/BLUEPRINT.md` exists with wave structure
37
+
38
+ **If not satisfied:** Refuse and redirect to `/goop-specify`
39
+
40
+ **CRITICAL: Never read or edit .goopspec/state.json directly. Always use `goop_state` tool.**
41
+
42
+ ## Tools Used
43
+
44
+ | Tool | Purpose in This Command |
45
+ |------|------------------------|
46
+ | `goop_status` | Check spec lock status and wave progress |
47
+ | `goop_state` | **ALL state operations** - check spec lock, update wave progress. NEVER edit state.json directly |
48
+ | `goop_spec` | Load blueprint for execution |
49
+ | `goop_checkpoint` | Save state at wave boundaries |
50
+ | `goop_delegate` | Spawn executor agents for implementation |
51
+ | `goop_adl` | Log deviations during execution |
52
+ | `memory_search` | Find relevant patterns and conventions |
53
+
54
+ **Hook Support:** `tool.execute.after` auto-progresses to accept phase when all waves complete.
55
+
56
+ ---
57
+
58
+ ## Process
59
+
60
+ ### Phase 1: Gate Check
61
+
62
+ **Execute BEFORE anything else:**
63
+
64
+ ```
65
+ goop_status()
66
+ goop_state({ action: "get" }) # NEVER read state.json directly
67
+ Read(".goopspec/BLUEPRINT.md")
68
+ ```
69
+
70
+ **1.1 Check specLocked:**
71
+
72
+ ```
73
+ IF state.specLocked != true:
74
+ REFUSE with:
75
+
76
+ ## 🔮 GoopSpec · Gate Blocked
77
+
78
+ ✗ Specification must be locked before execution.
79
+
80
+ → Run: `/goop-specify`
81
+
82
+ ---
83
+ ```
84
+
85
+ **1.2 Gate passed:**
86
+
87
+ ```
88
+ ## 🔮 GoopSpec · Execution
89
+
90
+ ✓ Spec gate passed
91
+
92
+ ⚡ Starting wave-based execution...
93
+
94
+ ---
95
+ ```
96
+
97
+ ### Phase 2: Load Context
98
+
99
+ ```
100
+ Read(".goopspec/SPEC.md") # Must-haves
101
+ Read(".goopspec/BLUEPRINT.md") # Waves and tasks
102
+ Read(".goopspec/CHRONICLE.md") # Progress (if resuming)
103
+ Read(".goopspec/PROJECT_KNOWLEDGE_BASE.md") # Conventions
104
+
105
+ memory_search({ query: "[feature] implementation patterns" })
106
+ ```
107
+
108
+ Identify:
109
+ - Current wave (from CHRONICLE or start at 1)
110
+ - Tasks to execute
111
+ - Dependencies between tasks
112
+
113
+ ### Phase 3: Wave Execution Loop
114
+
115
+ **Display wave start:**
116
+
117
+ ```
118
+ ## 🔮 GoopSpec · Wave [N] of [M]: [Wave Name]
119
+
120
+ **Tasks:** [X] | **Execution:** [Parallel/Sequential]
121
+
122
+ ---
123
+ ```
124
+
125
+ **For each task in wave:**
126
+
127
+ 1. **Delegate to executor:**
128
+ ```
129
+ task({
130
+ subagent_type: "goop-executor",
131
+ description: "Execute Task [N.M]",
132
+ prompt: `
133
+ ## TASK
134
+ Wave [N], Task [M]: [Task Name]
135
+
136
+ ## PROJECT CONTEXT
137
+ [From PROJECT_KNOWLEDGE_BASE.md]
138
+
139
+ ## SPEC REQUIREMENTS
140
+ [Relevant must-have from SPEC.md]
141
+
142
+ ## TASK DETAILS
143
+ [From BLUEPRINT.md]
144
+
145
+ Intent: [intent]
146
+ Deliverables: [list]
147
+ Files: [paths]
148
+ Verification: [command]
149
+ Acceptance: [criteria]
150
+
151
+ ## INSTRUCTIONS
152
+ 1. Implement following existing patterns
153
+ 2. Commit atomically
154
+ 3. Return XML response envelope
155
+ 4. Include spec coverage in response
156
+ `
157
+ })
158
+ ```
159
+
160
+ 2. **Parse XML response:**
161
+ - Extract status (COMPLETE/PARTIAL/BLOCKED)
162
+ - Extract artifacts (files, commits)
163
+ - Extract handoff instructions
164
+
165
+ 3. **Update CHRONICLE.md:**
166
+ ```markdown
167
+ ### Task [N.M]: [Name]
168
+ - Status: [Complete/Partial/Blocked]
169
+ - Commit: [sha]
170
+ - Files: [list]
171
+ - Time: [timestamp]
172
+ ```
173
+
174
+ 4. **Handle status:**
175
+
176
+ | Status | Action |
177
+ |--------|--------|
178
+ | COMPLETE | Continue to next task |
179
+ | PARTIAL | Resume with partial context |
180
+ | BLOCKED | Check deviation rules |
181
+
182
+ ### Phase 4: Deviation Handling
183
+
184
+ **Apply deviation rules:**
185
+
186
+ | Rule | Trigger | Action |
187
+ |------|---------|--------|
188
+ | Rule 1 | Bug found | Auto-fix, document |
189
+ | Rule 2 | Missing critical | Auto-add, document |
190
+ | Rule 3 | Blocking issue | Auto-fix, document |
191
+ | Rule 4 | Architectural | **STOP**, ask user |
192
+
193
+ **On Rule 4:**
194
+ ```
195
+ ## 🔮 GoopSpec · Decision Required
196
+
197
+ ⚠️ **Type:** Architectural Decision
198
+
199
+ **Context:** [From executor response]
200
+
201
+ **Options:**
202
+ - **A)** [option] — [impact]
203
+ - **B)** [option] — [impact]
204
+
205
+ **Recommendation:** [If any]
206
+
207
+ Which option? (A/B/other)
208
+
209
+ ---
210
+ ```
29
211
 
30
- ### 1. Wave-Based Execution
31
- Tasks are executed in sequential waves (vertical slices):
32
- - **Wave 1:** Foundation (Core structure)
33
- - **Wave 2:** Implementation (Main logic)
34
- - **Wave 3:** Integration (Wiring it up)
35
- - **Wave 4:** Polish (Refinement & fixes)
212
+ Use `question` tool, then resume with decision.
36
213
 
37
- ### 2. Orchestration Loop
38
- For each task in `BLUEPRINT.md`:
39
- 1. **Delegate:** Send task to `goop-executor`.
40
- 2. **Monitor:** Watch for completion or blocks.
41
- 3. **Verify:** Run tests/checks.
42
- 4. **Update:** Mark task complete in `CHRONICLE.md`.
214
+ ### Phase 5: Wave Completion
43
215
 
44
- ### 3. Deviation Handling
45
- The Orchestrator applies rules for issues:
46
- - **Rule 1-3 (Auto-fix):** Minor bugs, missing imports (fix and continue).
47
- - **Rule 4 (Architectural):** Major blockers (PAUSE and ask user).
216
+ **At end of each wave:**
48
217
 
49
- ### 4. Checkpoints
50
- If user input is needed, the system pauses and creates a checkpoint.
51
- - **Decision:** User must choose between options (e.g., architecture trade-off).
52
- - **Verification:** User must verify something (e.g., UI visual check).
53
- - **Action:** User must perform an action (e.g., add API key).
218
+ 1. **Run wave verification:**
219
+ ```
220
+ Spawn goop-verifier for wave-level checks
221
+ ```
222
+
223
+ 2. **Update CHRONICLE.md:**
224
+ ```markdown
225
+ ## Wave [N]: COMPLETE
226
+ - Tasks: [X/X]
227
+ - Commits: [list]
228
+ - Verification: PASSED
229
+ - Time: [timestamp]
230
+ ```
231
+
232
+ 3. **Save checkpoint:**
233
+ ```
234
+ goop_checkpoint({
235
+ action: "save",
236
+ context: { wave: N, phase: "execute" }
237
+ })
238
+ ```
239
+
240
+ 4. **Generate HANDOFF.md:**
241
+ ```markdown
242
+ # Session Handoff
243
+
244
+ **Phase:** execute
245
+ **Wave:** [N] of [M] complete
246
+
247
+ ## Accomplished
248
+ - [x] Task N.1: [description]
249
+ - [x] Task N.2: [description]
250
+
251
+ ## Next Session
252
+ Run: /goop-execute
253
+
254
+ ## Context
255
+ Wave [N] complete. Starting Wave [N+1] next.
256
+ ```
257
+
258
+ 5. **Suggest new session:**
259
+ ```
260
+ ## 🔮 GoopSpec · Wave [N] Complete
261
+
262
+ ✨ Wave finished successfully
263
+
264
+ | Metric | Status |
265
+ |--------|--------|
266
+ | Tasks | ✓ [X/X] complete |
267
+ | Commits | [Y] |
268
+ | Verification | ✓ PASSED |
269
+
270
+ ### Next
271
+
272
+ **Option A:** Continue to Wave [N+1] (current session)
273
+ **Option B:** Start new session for fresh context (Recommended)
274
+
275
+ For Option B:
276
+ 1. Start a new session
277
+ 2. Run: `/goop-execute`
278
+
279
+ ---
280
+ ```
281
+
282
+ ### Phase 6: Execution Complete
283
+
284
+ **When all waves done:**
285
+
286
+ ```
287
+ ## 🔮 GoopSpec · Execution Complete
288
+
289
+ ✨ All waves finished successfully
290
+
291
+ | Metric | Status |
292
+ |--------|--------|
293
+ | Waves | ✓ [M/M] complete |
294
+ | Tasks | ✓ [P/P] complete |
295
+ | Commits | [Q] |
296
+
297
+ All must-haves implemented and verified.
298
+
299
+ ### Next Step
300
+
301
+ **Verify and accept** — Final verification against spec
302
+
303
+ → `/goop-accept`
304
+
305
+ ---
306
+
307
+ Start a new session for fresh context.
308
+ ```
309
+
310
+ Update state using goop_state:
311
+ ```
312
+ goop_state({ action: "transition", phase: "accept" })
313
+ ```
314
+
315
+ This atomically updates the workflow state. **NEVER edit state.json directly.**
54
316
 
55
317
  ## Output
56
318
 
57
- - **Code:** Modified source files.
58
- - **Commits:** Atomic commits per task.
59
- - **Chronicle:** Updated `.goopspec/CHRONICLE.md`.
319
+ | File | Purpose |
320
+ |------|---------|
321
+ | Source files | Implementation |
322
+ | Commits | Atomic changes |
323
+ | `.goopspec/CHRONICLE.md` | Progress log |
324
+ | `.goopspec/HANDOFF.md` | Session handoff |
325
+
326
+ ## Transitions
327
+
328
+ | Outcome | Next Step |
329
+ |---------|-----------|
330
+ | All waves complete | `/goop-accept` for verification |
331
+ | Checkpoint reached | `/goop-pause` to save, resume later |
332
+ | Wave complete | Continue or new session |
333
+ | Gate blocked | `/goop-specify` to lock spec |
334
+
335
+ ## Examples
336
+
337
+ **Starting Execution:**
338
+ ```
339
+ User: /goop-execute
340
+
341
+ Orchestrator:
342
+ +--------------------------------------------------------+
343
+ | GOOPSPEC > EXECUTION |
344
+ +--------------------------------------------------------+
345
+ | Spec gate: PASSED |
346
+ | Starting wave-based execution... |
347
+ +--------------------------------------------------------+
348
+
349
+ +--------------------------------------------------------+
350
+ | GOOPSPEC > WAVE 1 of 3: Foundation |
351
+ +--------------------------------------------------------+
352
+
353
+ [Delegating Task 1.1...]
354
+
355
+ goop-executor: Task 1.1 COMPLETE (commit: abc123)
356
+
357
+ [Delegating Task 1.2...]
358
+
359
+ goop-executor: Task 1.2 COMPLETE (commit: def456)
60
360
 
61
- ## Example
361
+ +--------------------------------------------------------+
362
+ | GOOPSPEC > WAVE 1 COMPLETE |
363
+ +--------------------------------------------------------+
62
364
 
63
- > **User:** `/goop-execute`
64
- > **Agent:** "Starting Wave 1...
65
- > [Task 1.1] Setup Auth Context... Done (commit: a1b2c3)
66
- > [Task 1.2] Create Login Component... Done (commit: d4e5f6)
67
- > Wave 1 Complete. Verification passed. Starting Wave 2..."
365
+ **Recommend:** Start new session for Wave 2
366
+ ```
367
+
368
+ **Checkpoint Reached:**
369
+ ```
370
+ goop-executor: BLOCKED - Rule 4 deviation
371
+
372
+ +--------------------------------------------------------+
373
+ | GOOPSPEC > CHECKPOINT: Decision Required |
374
+ +--------------------------------------------------------+
375
+
376
+ **Context:** Database schema change needed
377
+
378
+ **Options:**
379
+ | A | Add index | Better performance |
380
+ | B | Skip index | Faster deployment |
381
+
382
+ Which option?
383
+
384
+ User: A
385
+
386
+ Orchestrator: Resuming with Option A...
387
+ ```
388
+
389
+ ## Success Criteria
390
+
391
+ - [ ] Gate check performed (spec_locked)
392
+ - [ ] Project context loaded (KNOWLEDGE_BASE, memory)
393
+ - [ ] Each task delegated with full context
394
+ - [ ] XML responses parsed correctly
395
+ - [ ] CHRONICLE.md updated after each task
396
+ - [ ] Deviation rules applied (auto-fix or checkpoint)
397
+ - [ ] Checkpoints saved at wave boundaries
398
+ - [ ] HANDOFF.md generated at natural pauses
399
+ - [ ] User informed of progress throughout
400
+
401
+ ## Anti-Patterns
402
+
403
+ **DON'T:**
404
+ - Skip the spec_locked gate
405
+ - Delegate without full context
406
+ - Ignore XML response status
407
+ - Skip wave-boundary checkpoints
408
+ - Continue indefinitely without handoffs
409
+
410
+ **DO:**
411
+ - Enforce the gate strictly
412
+ - Include PROJECT_KNOWLEDGE_BASE in delegations
413
+ - Parse and act on XML responses
414
+ - Save checkpoints at wave boundaries
415
+ - Suggest new sessions for fresh context
416
+
417
+ ---
68
418
 
69
- ## Interactive Control
70
- - Use `/goop-status` to check progress.
71
- - Use `/goop-pause` to stop safely.
419
+ *Execution Protocol v0.1.4*
420
+ *"Execute in waves. Checkpoint often. Handoff clean."*
@@ -13,6 +13,17 @@ Display help information and available commands.
13
13
  /goop-help
14
14
  ```
15
15
 
16
+ ## Tools Used
17
+
18
+ | Tool | Purpose in This Command |
19
+ |------|------------------------|
20
+ | `goop_reference` | Load reference documentation |
21
+ | `goop_skill` | List available skills |
22
+
23
+ **Hook Support:** None specific - informational command.
24
+
25
+ ---
26
+
16
27
  ## Available Commands
17
28
 
18
29
  **Project Management:**
@@ -33,6 +33,19 @@ Use before `/goop-setup` on existing codebases. Provides the context needed to e
33
33
  @/home/james/Documents/opencode-goopspec/templates/codebase/conventions.md
34
34
  </execution_context>
35
35
 
36
+ <tools_used>
37
+ ## Tools Used
38
+
39
+ | Tool | Purpose in This Command |
40
+ |------|------------------------|
41
+ | `goop_status` | Check if mapping already exists |
42
+ | `memory_search` | Find prior codebase insights |
43
+ | `memory_save` | Persist discovered patterns |
44
+ | `memory_note` | Quick capture during exploration |
45
+
46
+ **Hook Support:** `system.transform` injects patterns for future sessions.
47
+ </tools_used>
48
+
36
49
  <process>
37
50
  ## Phase 1: Setup
38
51
 
@@ -11,6 +11,17 @@ View the status and statistics of the persistent memory system.
11
11
  `/goop-memory stats` - Show detailed statistics
12
12
  `/goop-memory clean` - Clean up old/low-importance memories
13
13
 
14
+ ## Tools Used
15
+
16
+ | Tool | Purpose in This Command |
17
+ |------|------------------------|
18
+ | `goop_status` | Check memory worker status |
19
+ | `memory_search` | Query memory statistics |
20
+
21
+ **Hook Support:** None specific - status command.
22
+
23
+ ---
24
+
14
25
  ## Instructions
15
26
 
16
27
  When this command is invoked:
@@ -13,6 +13,19 @@ description: Start a new milestone
13
13
  /goop-milestone [start|status|list] [name]
14
14
  ```
15
15
 
16
+ ## Tools Used
17
+
18
+ | Tool | Purpose in This Command |
19
+ |------|------------------------|
20
+ | `goop_status` | Check current milestone state |
21
+ | `goop_adl` | Log milestone start/completion |
22
+ | `memory_search` | Find prior milestone context |
23
+ | `goop_checkpoint` | Save milestone boundaries |
24
+
25
+ **Hook Support:** `tool.execute.after` tracks milestone transitions.
26
+
27
+ ---
28
+
16
29
  ## How It Works
17
30
 
18
31
  Milestones are containers for multiple features/tasks. They help track progress towards a larger release.
@@ -13,6 +13,18 @@ description: Save a checkpoint and pause work
13
13
  /goop-pause [optional message]
14
14
  ```
15
15
 
16
+ ## Tools Used
17
+
18
+ | Tool | Purpose in This Command |
19
+ |------|------------------------|
20
+ | `goop_checkpoint` | Save execution state for later resume |
21
+ | `goop_status` | Capture current phase and progress |
22
+ | `memory_save` | Persist session context |
23
+
24
+ **Hook Support:** `system.transform` includes checkpoint in future sessions.
25
+
26
+ ---
27
+
16
28
  ## How It Works
17
29
 
18
30
  Safely stops the current workflow and saves a snapshot of the context. This allows you to switch tasks or end your session without losing "brain state."