opencode-goopspec 0.1.3 → 0.1.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/README.md +252 -331
- package/agents/goop-debugger.md +175 -172
- package/agents/goop-designer.md +232 -160
- package/agents/goop-executor.md +197 -127
- package/agents/goop-explorer.md +148 -150
- package/agents/goop-librarian.md +218 -164
- package/agents/goop-orchestrator.md +364 -338
- package/agents/goop-planner.md +331 -153
- package/agents/goop-researcher.md +198 -126
- package/agents/goop-tester.md +277 -202
- package/agents/goop-verifier.md +191 -201
- package/agents/goop-writer.md +241 -133
- package/agents/memory-distiller.md +228 -136
- package/commands/goop-accept.md +430 -36
- package/commands/goop-amend.md +13 -0
- package/commands/goop-complete.md +13 -0
- package/commands/goop-debug.md +13 -0
- package/commands/goop-discuss.md +419 -7
- package/commands/goop-execute.md +386 -37
- package/commands/goop-help.md +11 -0
- package/commands/goop-map-codebase.md +13 -0
- package/commands/goop-memory.md +11 -0
- package/commands/goop-milestone.md +13 -0
- package/commands/goop-pause.md +12 -0
- package/commands/goop-plan.md +374 -254
- package/commands/goop-quick.md +12 -0
- package/commands/goop-recall.md +11 -0
- package/commands/goop-remember.md +12 -0
- package/commands/goop-research.md +13 -0
- package/commands/goop-resume.md +12 -0
- package/commands/goop-setup.md +32 -268
- package/commands/goop-specify.md +315 -39
- package/commands/goop-status.md +276 -28
- package/dist/index.js +34564 -135
- package/dist/worker/index.js +35883 -0
- package/package.json +4 -2
- package/references/context-injection.md +307 -0
- package/references/discovery-interview.md +278 -0
- package/references/enforcement-system.md +213 -0
- package/references/handoff-protocol.md +290 -0
- package/references/model-profiles.md +1 -1
- package/references/orchestrator-philosophy.md +155 -223
- package/references/phase-gates.md +360 -0
- package/references/plugin-architecture.md +212 -0
- package/references/response-format.md +41 -9
- package/references/subagent-protocol.md +83 -33
- package/references/visual-style.md +199 -0
- package/references/xml-response-schema.md +236 -0
- package/skills/accessibility/skill.md +1 -1
- package/skills/accessibility-testing/skill.md +1 -1
- package/skills/api-docs/skill.md +1 -1
- package/skills/architecture-design/skill.md +1 -1
- package/skills/atomic-commits/skill.md +1 -1
- package/skills/code-review/skill.md +1 -1
- package/skills/codebase-mapping/skill.md +1 -1
- package/skills/convention-detection/skill.md +1 -1
- package/skills/debugging/skill.md +1 -1
- package/skills/deviation-handling/skill.md +1 -1
- package/skills/documentation/skill.md +1 -1
- package/skills/goop-core/skill.md +3 -3
- package/skills/memory-usage/skill.md +1 -1
- package/skills/parallel-planning/skill.md +1 -1
- package/skills/pattern-extraction/skill.md +1 -1
- package/skills/performance-optimization/skill.md +1 -1
- package/skills/playwright/skill.md +1 -1
- package/skills/playwright-testing/skill.md +1 -1
- package/skills/progress-tracking/skill.md +1 -1
- package/skills/readme-generation/skill.md +1 -1
- package/skills/research/skill.md +1 -1
- package/skills/responsive-design/skill.md +1 -1
- package/skills/scientific-method/skill.md +1 -1
- package/skills/security-audit/skill.md +1 -1
- package/skills/task-decomposition/skill.md +1 -1
- package/skills/task-delegation/skill.md +1 -1
- package/skills/technical-writing/skill.md +1 -1
- package/skills/testing/skill.md +1 -1
- package/skills/ui-design/skill.md +1 -1
- package/skills/ux-patterns/skill.md +1 -1
- package/skills/verification/skill.md +1 -1
- package/skills/visual-regression/skill.md +1 -1
- package/templates/blueprint.md +88 -41
- package/templates/chronicle.md +130 -16
- package/templates/handoff.md +140 -0
- package/templates/milestone.md +1 -1
- package/templates/project-knowledge-base.md +93 -0
- package/templates/project.md +114 -0
- package/templates/requirements.md +121 -0
- package/templates/research.md +1 -1
- package/templates/retrospective.md +1 -1
- package/templates/spec.md +85 -20
- package/templates/state.md +103 -0
- package/templates/summary.md +1 -1
|
@@ -2,14 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
All GoopSpec subagents follow a standardized protocol for memory usage, planning file access, and communication with the orchestrator.
|
|
4
4
|
|
|
5
|
-
## Core
|
|
5
|
+
## Core Principles
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
+================================================================+
|
|
9
|
+
| SUBAGENTS ARE MEMORY-FIRST. |
|
|
10
|
+
| Search before starting. Save during work. Persist after. |
|
|
11
|
+
| Decisions and learnings flow through memory. |
|
|
12
|
+
+================================================================+
|
|
13
|
+
|
|
14
|
+
+================================================================+
|
|
15
|
+
| SUBAGENTS USE XML RESPONSE ENVELOPES. |
|
|
16
|
+
| Every response ends with a <goop_report> XML block. |
|
|
17
|
+
| See references/xml-response-schema.md for full format. |
|
|
18
|
+
+================================================================+
|
|
19
|
+
|
|
20
|
+
+================================================================+
|
|
21
|
+
| SUBAGENTS LOAD PROJECT CONTEXT. |
|
|
22
|
+
| Read PROJECT_KNOWLEDGE_BASE.md for conventions. |
|
|
23
|
+
| Align work with spec must-haves. |
|
|
24
|
+
+================================================================+
|
|
13
25
|
```
|
|
14
26
|
|
|
15
27
|
## The Memory-First Protocol
|
|
@@ -19,20 +31,26 @@ All GoopSpec subagents follow a standardized protocol for memory usage, planning
|
|
|
19
31
|
Every subagent MUST:
|
|
20
32
|
|
|
21
33
|
```typescript
|
|
22
|
-
// 1.
|
|
34
|
+
// 1. Read project state
|
|
35
|
+
Read(".goopspec/state.json")
|
|
36
|
+
|
|
37
|
+
// 2. Read project knowledge base
|
|
38
|
+
Read(".goopspec/PROJECT_KNOWLEDGE_BASE.md") // If exists
|
|
39
|
+
|
|
40
|
+
// 3. Search for relevant past decisions
|
|
23
41
|
memory_search({
|
|
24
42
|
query: "[task-specific query]",
|
|
25
43
|
concepts: ["relevant", "concepts"],
|
|
26
44
|
types: ["decision", "observation"]
|
|
27
45
|
})
|
|
28
46
|
|
|
29
|
-
//
|
|
47
|
+
// 4. Read the specification
|
|
30
48
|
Read(".goopspec/SPEC.md")
|
|
31
49
|
|
|
32
|
-
//
|
|
50
|
+
// 5. Read current state
|
|
33
51
|
Read(".goopspec/CHRONICLE.md")
|
|
34
52
|
|
|
35
|
-
//
|
|
53
|
+
// 6. Read the task details
|
|
36
54
|
Read(".goopspec/BLUEPRINT.md")
|
|
37
55
|
```
|
|
38
56
|
|
|
@@ -164,31 +182,55 @@ Research findings. Research agents:
|
|
|
164
182
|
|
|
165
183
|
## Communication with Orchestrator
|
|
166
184
|
|
|
167
|
-
### Response
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
185
|
+
### XML Response Envelope (MANDATORY)
|
|
186
|
+
|
|
187
|
+
All subagent responses MUST end with an XML envelope. See `references/xml-response-schema.md` for the full specification.
|
|
188
|
+
|
|
189
|
+
**Basic structure:**
|
|
190
|
+
|
|
191
|
+
```xml
|
|
192
|
+
<goop_report version="0.1.5">
|
|
193
|
+
<status>COMPLETE|PARTIAL|BLOCKED|CHECKPOINT</status>
|
|
194
|
+
<agent>goop-[type]</agent>
|
|
195
|
+
<task_name>Task description</task_name>
|
|
196
|
+
|
|
197
|
+
<state>
|
|
198
|
+
<phase>plan|specify|execute|accept</phase>
|
|
199
|
+
<spec_locked>true|false</spec_locked>
|
|
200
|
+
</state>
|
|
201
|
+
|
|
202
|
+
<summary>1-2 sentence summary</summary>
|
|
203
|
+
|
|
204
|
+
<artifacts>
|
|
205
|
+
<files>
|
|
206
|
+
<file path="path/to/file" action="created|modified">reason</file>
|
|
207
|
+
</files>
|
|
208
|
+
<commits>
|
|
209
|
+
<commit sha="abc123">type(scope): message</commit>
|
|
210
|
+
</commits>
|
|
211
|
+
</artifacts>
|
|
212
|
+
|
|
213
|
+
<memory>
|
|
214
|
+
<saved type="decision" importance="0.7">Memory title</saved>
|
|
215
|
+
</memory>
|
|
216
|
+
|
|
217
|
+
<handoff>
|
|
218
|
+
<ready>true|false</ready>
|
|
219
|
+
<next_action agent="goop-[type]">Next task description</next_action>
|
|
220
|
+
<suggest_new_session>true|false</suggest_new_session>
|
|
221
|
+
<next_command>/goop-[command]</next_command>
|
|
222
|
+
</handoff>
|
|
223
|
+
</goop_report>
|
|
182
224
|
```
|
|
183
225
|
|
|
184
226
|
### Status Meanings
|
|
185
227
|
|
|
186
228
|
| Status | Meaning | Orchestrator Action |
|
|
187
229
|
|--------|---------|---------------------|
|
|
188
|
-
| `
|
|
189
|
-
| `
|
|
190
|
-
| `
|
|
191
|
-
| `
|
|
230
|
+
| `COMPLETE` | Task fully done | Move to next task |
|
|
231
|
+
| `PARTIAL` | Some progress, more needed | Continue same task |
|
|
232
|
+
| `BLOCKED` | Cannot proceed | Assess blocker, may need user |
|
|
233
|
+
| `CHECKPOINT` | Natural stopping point | Generate handoff, suggest new session |
|
|
192
234
|
|
|
193
235
|
### Raising Issues
|
|
194
236
|
|
|
@@ -379,15 +421,23 @@ memory_save({
|
|
|
379
421
|
|
|
380
422
|
Every subagent execution:
|
|
381
423
|
|
|
424
|
+
- [ ] Read state.json for current phase
|
|
425
|
+
- [ ] Read PROJECT_KNOWLEDGE_BASE.md for conventions
|
|
382
426
|
- [ ] Searched memory for relevant context
|
|
383
427
|
- [ ] Read SPEC.md for requirements
|
|
384
428
|
- [ ] Read CHRONICLE.md for current state
|
|
385
429
|
- [ ] Read BLUEPRINT.md for task details
|
|
430
|
+
- [ ] Aligned work with spec must-haves
|
|
386
431
|
- [ ] Updated CHRONICLE.md with progress
|
|
387
432
|
- [ ] Persisted learnings to memory
|
|
388
|
-
- [ ] Returned
|
|
389
|
-
- [ ]
|
|
433
|
+
- [ ] Returned XML response envelope with:
|
|
434
|
+
- [ ] Status (COMPLETE/PARTIAL/BLOCKED/CHECKPOINT)
|
|
390
435
|
- [ ] Summary of work
|
|
391
|
-
- [ ] Files modified
|
|
436
|
+
- [ ] Files modified with artifacts section
|
|
392
437
|
- [ ] Commit hash (if applicable)
|
|
393
|
-
- [ ]
|
|
438
|
+
- [ ] Memory persisted section
|
|
439
|
+
- [ ] Handoff with next_action and suggest_new_session
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
*Subagent Protocol v0.1.5*
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# GoopSpec Visual Style Guide
|
|
2
|
+
|
|
3
|
+
A distinctive, minimal visual language for GoopSpec messages.
|
|
4
|
+
|
|
5
|
+
## Brand Identity
|
|
6
|
+
|
|
7
|
+
**Primary Icon:** 🔮 (Crystal Ball - represents foresight, planning, specification)
|
|
8
|
+
|
|
9
|
+
**Philosophy:** Clean, minimal, precise. GoopSpec is about careful planning and clear contracts - the visual style should feel refined without being cluttered.
|
|
10
|
+
|
|
11
|
+
## Header Styles
|
|
12
|
+
|
|
13
|
+
### Primary Phase Header
|
|
14
|
+
```
|
|
15
|
+
## 🔮 GoopSpec · [Phase/Context]
|
|
16
|
+
|
|
17
|
+
[Content here]
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Success Header
|
|
23
|
+
```
|
|
24
|
+
## 🔮 GoopSpec · Phase Complete
|
|
25
|
+
|
|
26
|
+
✨ [Success message]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Warning/Blocked Header
|
|
32
|
+
```
|
|
33
|
+
## 🔮 GoopSpec · Gate Blocked
|
|
34
|
+
|
|
35
|
+
⚠️ [Warning message]
|
|
36
|
+
|
|
37
|
+
→ Run: `/goop-[command]`
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Phase Icons
|
|
43
|
+
|
|
44
|
+
| Phase | Icon | Usage |
|
|
45
|
+
|-------|------|-------|
|
|
46
|
+
| Discuss | 💬 | Discovery interview |
|
|
47
|
+
| Plan | 📋 | Blueprint creation |
|
|
48
|
+
| Research | 🔬 | Investigation |
|
|
49
|
+
| Specify | 📜 | Locking the contract |
|
|
50
|
+
| Execute | ⚡ | Wave-based implementation |
|
|
51
|
+
| Accept | ✅ | Verification & approval |
|
|
52
|
+
| Idle | 🔮 | Ready state |
|
|
53
|
+
|
|
54
|
+
## Status Indicators
|
|
55
|
+
|
|
56
|
+
| Status | Icon | Meaning |
|
|
57
|
+
|--------|------|---------|
|
|
58
|
+
| Complete | ✓ | Task/phase done |
|
|
59
|
+
| Pending | ⏳ | In progress or waiting |
|
|
60
|
+
| Blocked | ✗ | Cannot proceed |
|
|
61
|
+
| Locked | 🔒 | Spec is locked |
|
|
62
|
+
| Unlocked | 🔓 | Spec can be modified |
|
|
63
|
+
| Warning | ⚠️ | Attention needed |
|
|
64
|
+
| Success | ✨ | Milestone achieved |
|
|
65
|
+
| Error | ❌ | Something failed |
|
|
66
|
+
|
|
67
|
+
## Message Templates
|
|
68
|
+
|
|
69
|
+
### Phase Start
|
|
70
|
+
```markdown
|
|
71
|
+
## 🔮 GoopSpec · [Phase Name]
|
|
72
|
+
|
|
73
|
+
[Phase description and context]
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Gate Check - Pass
|
|
79
|
+
```markdown
|
|
80
|
+
## 🔮 GoopSpec · Gate Check
|
|
81
|
+
|
|
82
|
+
✓ Gate passed. Proceeding...
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Gate Check - Blocked
|
|
88
|
+
```markdown
|
|
89
|
+
## 🔮 GoopSpec · Gate Blocked
|
|
90
|
+
|
|
91
|
+
✗ [Reason for block]
|
|
92
|
+
|
|
93
|
+
→ Run: `/goop-[command]`
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Progress Update
|
|
99
|
+
```markdown
|
|
100
|
+
## 🔮 GoopSpec · Progress
|
|
101
|
+
|
|
102
|
+
**Phase:** ⚡ Execute | **Wave:** 2/3 | **Task:** 4/6
|
|
103
|
+
|
|
104
|
+
### Completed
|
|
105
|
+
- ✓ Task 2.1: [description]
|
|
106
|
+
- ✓ Task 2.2: [description]
|
|
107
|
+
|
|
108
|
+
### In Progress
|
|
109
|
+
- ⏳ Task 2.3: [description]
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Phase Complete
|
|
115
|
+
```markdown
|
|
116
|
+
## 🔮 GoopSpec · Phase Complete
|
|
117
|
+
|
|
118
|
+
✨ [Phase Name] finished successfully
|
|
119
|
+
|
|
120
|
+
### Summary
|
|
121
|
+
[Summary content]
|
|
122
|
+
|
|
123
|
+
### Next Step
|
|
124
|
+
→ `/goop-[next-command]`
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Decision Required
|
|
130
|
+
```markdown
|
|
131
|
+
## 🔮 GoopSpec · Decision Required
|
|
132
|
+
|
|
133
|
+
⚠️ [Context about the decision]
|
|
134
|
+
|
|
135
|
+
**Options:**
|
|
136
|
+
- **A)** [Option A description]
|
|
137
|
+
- **B)** [Option B description]
|
|
138
|
+
|
|
139
|
+
Which option?
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Handoff
|
|
145
|
+
```markdown
|
|
146
|
+
## 🔮 GoopSpec · Session Handoff
|
|
147
|
+
|
|
148
|
+
### Accomplished
|
|
149
|
+
- ✓ [Item 1]
|
|
150
|
+
- ✓ [Item 2]
|
|
151
|
+
|
|
152
|
+
### Current State
|
|
153
|
+
**Phase:** [phase] | **Spec:** [locked/unlocked] | **Wave:** [N/M]
|
|
154
|
+
|
|
155
|
+
### To Continue
|
|
156
|
+
Start a new session, then run: `/goop-[command]`
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Status Display
|
|
162
|
+
```markdown
|
|
163
|
+
## 🔮 GoopSpec · Status
|
|
164
|
+
|
|
165
|
+
**Project:** [name]
|
|
166
|
+
|
|
167
|
+
| Gate | Status |
|
|
168
|
+
|------|--------|
|
|
169
|
+
| Interview | ✓ Complete |
|
|
170
|
+
| Spec Lock | 🔒 Locked |
|
|
171
|
+
| Acceptance | ⏳ Pending |
|
|
172
|
+
|
|
173
|
+
### Next Step
|
|
174
|
+
→ `/goop-[command]`
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Comparison: GoopSpec vs GSD
|
|
180
|
+
|
|
181
|
+
| Element | GSD (Industrial) | GoopSpec (Minimal) |
|
|
182
|
+
|---------|------------------|-------------------|
|
|
183
|
+
| Primary icon | None | 🔮 |
|
|
184
|
+
| Headers | `+====+ GOOPSPEC > PHASE` | `## 🔮 GoopSpec · Phase` |
|
|
185
|
+
| Separators | `+----+` boxes | `---` dividers |
|
|
186
|
+
| Feel | Industrial, rigid | Clean, minimal |
|
|
187
|
+
|
|
188
|
+
## Usage Guidelines
|
|
189
|
+
|
|
190
|
+
1. **Consistency:** Always use `## 🔮 GoopSpec · [Context]` for main headers
|
|
191
|
+
2. **Dividers:** Use `---` to separate sections
|
|
192
|
+
3. **Breathing room:** Include blank lines between sections
|
|
193
|
+
4. **Bullet indicators:** Use ✓ ✗ ⏳ for status
|
|
194
|
+
5. **Actions:** Use → for "next step" callouts
|
|
195
|
+
6. **Phase awareness:** Use phase-specific icons (💬 📋 🔬 📜 ⚡ ✅) when relevant
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
*GoopSpec Visual Style v0.2.0*
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# XML Response Schema
|
|
2
|
+
|
|
3
|
+
All GoopSpec agents use a standardized XML envelope for machine-parseable handoffs while keeping content human-readable in Markdown.
|
|
4
|
+
|
|
5
|
+
## Why XML + Markdown Hybrid?
|
|
6
|
+
|
|
7
|
+
1. **Machine Parsing**: Orchestrator can reliably extract status, next actions, and state
|
|
8
|
+
2. **Human Readability**: Markdown inside XML remains easy to read
|
|
9
|
+
3. **Structured Handoffs**: Clean session boundaries with explicit next steps
|
|
10
|
+
4. **State Continuity**: Exact phase/wave/task tracking across sessions
|
|
11
|
+
|
|
12
|
+
## Response Envelope Structure
|
|
13
|
+
|
|
14
|
+
Every agent response MUST include this XML block at the END of their response:
|
|
15
|
+
|
|
16
|
+
```xml
|
|
17
|
+
<goop_report version="0.1.5">
|
|
18
|
+
<status>COMPLETE|PARTIAL|BLOCKED|CHECKPOINT</status>
|
|
19
|
+
<agent>goop-[type]</agent>
|
|
20
|
+
<task_id>W[wave].T[task]</task_id>
|
|
21
|
+
<task_name>Brief task description</task_name>
|
|
22
|
+
|
|
23
|
+
<state>
|
|
24
|
+
<phase>plan|specify|execute|accept|research</phase>
|
|
25
|
+
<wave current="N" total="M"/>
|
|
26
|
+
<task current="X" total="Y"/>
|
|
27
|
+
<spec_locked>true|false</spec_locked>
|
|
28
|
+
<interview_complete>true|false</interview_complete>
|
|
29
|
+
</state>
|
|
30
|
+
|
|
31
|
+
<summary>1-2 sentence summary of what was accomplished</summary>
|
|
32
|
+
|
|
33
|
+
<artifacts>
|
|
34
|
+
<files>
|
|
35
|
+
<file path="path/to/file" action="created|modified|deleted">
|
|
36
|
+
Brief description of change
|
|
37
|
+
</file>
|
|
38
|
+
</files>
|
|
39
|
+
<commits>
|
|
40
|
+
<commit sha="abc1234">type(scope): commit message</commit>
|
|
41
|
+
</commits>
|
|
42
|
+
</artifacts>
|
|
43
|
+
|
|
44
|
+
<memory>
|
|
45
|
+
<saved type="decision|observation|note" importance="0.8">
|
|
46
|
+
Title of memory saved
|
|
47
|
+
</saved>
|
|
48
|
+
</memory>
|
|
49
|
+
|
|
50
|
+
<verification>
|
|
51
|
+
<check name="tests" passed="true|false">bun test - 42 passed</check>
|
|
52
|
+
<check name="typecheck" passed="true|false">No errors</check>
|
|
53
|
+
<check name="manual" passed="true|false">Description</check>
|
|
54
|
+
</verification>
|
|
55
|
+
|
|
56
|
+
<handoff>
|
|
57
|
+
<ready>true|false</ready>
|
|
58
|
+
<next_action agent="goop-[type]">
|
|
59
|
+
Exact description of next task
|
|
60
|
+
</next_action>
|
|
61
|
+
<files_to_read>
|
|
62
|
+
<file>.goopspec/SPEC.md</file>
|
|
63
|
+
<file>.goopspec/BLUEPRINT.md</file>
|
|
64
|
+
</files_to_read>
|
|
65
|
+
<blockers>None | Description of blocker</blockers>
|
|
66
|
+
<suggest_new_session>true|false</suggest_new_session>
|
|
67
|
+
<next_command>/goop-[command]</next_command>
|
|
68
|
+
</handoff>
|
|
69
|
+
</goop_report>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Status Values
|
|
73
|
+
|
|
74
|
+
| Status | When to Use | Orchestrator Action |
|
|
75
|
+
|--------|-------------|---------------------|
|
|
76
|
+
| `COMPLETE` | Task fully finished, verified | Move to next task |
|
|
77
|
+
| `PARTIAL` | Some progress, need to continue | Resume same task |
|
|
78
|
+
| `BLOCKED` | Cannot proceed without input | Assess blocker, may need user |
|
|
79
|
+
| `CHECKPOINT` | Natural stopping point | Save state, may suggest new session |
|
|
80
|
+
|
|
81
|
+
## Required vs Optional Elements
|
|
82
|
+
|
|
83
|
+
### Always Required
|
|
84
|
+
- `<status>` - Current completion status
|
|
85
|
+
- `<agent>` - Which agent is responding
|
|
86
|
+
- `<state>` - Current workflow state
|
|
87
|
+
- `<summary>` - What was accomplished
|
|
88
|
+
- `<handoff>` - Next steps
|
|
89
|
+
|
|
90
|
+
### Required When Applicable
|
|
91
|
+
- `<artifacts>` - When files changed or commits made
|
|
92
|
+
- `<memory>` - When memory was persisted
|
|
93
|
+
- `<verification>` - When verification commands were run
|
|
94
|
+
|
|
95
|
+
### Optional
|
|
96
|
+
- `<task_id>` - May not exist in research/explore phases
|
|
97
|
+
- `<blockers>` - Only when blocked
|
|
98
|
+
|
|
99
|
+
## Examples by Agent Type
|
|
100
|
+
|
|
101
|
+
### Executor Response
|
|
102
|
+
```xml
|
|
103
|
+
<goop_report version="0.1.5">
|
|
104
|
+
<status>COMPLETE</status>
|
|
105
|
+
<agent>goop-executor</agent>
|
|
106
|
+
<task_id>W2.T3</task_id>
|
|
107
|
+
<task_name>Implement user authentication</task_name>
|
|
108
|
+
|
|
109
|
+
<state>
|
|
110
|
+
<phase>execute</phase>
|
|
111
|
+
<wave current="2" total="3"/>
|
|
112
|
+
<task current="3" total="4"/>
|
|
113
|
+
<spec_locked>true</spec_locked>
|
|
114
|
+
</state>
|
|
115
|
+
|
|
116
|
+
<summary>Implemented JWT-based authentication with login/logout endpoints and middleware.</summary>
|
|
117
|
+
|
|
118
|
+
<artifacts>
|
|
119
|
+
<files>
|
|
120
|
+
<file path="src/auth/service.ts" action="created">Auth service with JWT generation</file>
|
|
121
|
+
<file path="src/auth/middleware.ts" action="created">Auth middleware for protected routes</file>
|
|
122
|
+
<file path="src/auth/types.ts" action="created">Auth type definitions</file>
|
|
123
|
+
</files>
|
|
124
|
+
<commits>
|
|
125
|
+
<commit sha="a1b2c3d">feat(auth): implement JWT authentication service</commit>
|
|
126
|
+
</commits>
|
|
127
|
+
</artifacts>
|
|
128
|
+
|
|
129
|
+
<memory>
|
|
130
|
+
<saved type="decision" importance="0.8">Used jose library for JWT over jsonwebtoken</saved>
|
|
131
|
+
</memory>
|
|
132
|
+
|
|
133
|
+
<verification>
|
|
134
|
+
<check name="tests" passed="true">bun test src/auth/ - 12 passed</check>
|
|
135
|
+
<check name="typecheck" passed="true">No errors</check>
|
|
136
|
+
</verification>
|
|
137
|
+
|
|
138
|
+
<handoff>
|
|
139
|
+
<ready>true</ready>
|
|
140
|
+
<next_action agent="goop-executor">W2.T4: Implement session management</next_action>
|
|
141
|
+
<files_to_read>
|
|
142
|
+
<file>src/auth/service.ts</file>
|
|
143
|
+
</files_to_read>
|
|
144
|
+
<blockers>None</blockers>
|
|
145
|
+
<suggest_new_session>false</suggest_new_session>
|
|
146
|
+
</handoff>
|
|
147
|
+
</goop_report>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Planner Response
|
|
151
|
+
```xml
|
|
152
|
+
<goop_report version="0.1.5">
|
|
153
|
+
<status>COMPLETE</status>
|
|
154
|
+
<agent>goop-planner</agent>
|
|
155
|
+
<task_name>Create execution blueprint</task_name>
|
|
156
|
+
|
|
157
|
+
<state>
|
|
158
|
+
<phase>plan</phase>
|
|
159
|
+
<spec_locked>false</spec_locked>
|
|
160
|
+
<interview_complete>true</interview_complete>
|
|
161
|
+
</state>
|
|
162
|
+
|
|
163
|
+
<summary>Created 3-wave blueprint with 8 tasks covering all must-haves from SPEC.md.</summary>
|
|
164
|
+
|
|
165
|
+
<artifacts>
|
|
166
|
+
<files>
|
|
167
|
+
<file path=".goopspec/BLUEPRINT.md" action="created">Execution blueprint</file>
|
|
168
|
+
<file path=".goopspec/SPEC.md" action="modified">Added traceability mapping</file>
|
|
169
|
+
</files>
|
|
170
|
+
</artifacts>
|
|
171
|
+
|
|
172
|
+
<memory>
|
|
173
|
+
<saved type="decision" importance="0.7">Wave 1 foundation parallel, Wave 2-3 sequential</saved>
|
|
174
|
+
</memory>
|
|
175
|
+
|
|
176
|
+
<handoff>
|
|
177
|
+
<ready>true</ready>
|
|
178
|
+
<next_action agent="orchestrator">Review blueprint with user, then /goop-specify</next_action>
|
|
179
|
+
<files_to_read>
|
|
180
|
+
<file>.goopspec/BLUEPRINT.md</file>
|
|
181
|
+
</files_to_read>
|
|
182
|
+
<blockers>None</blockers>
|
|
183
|
+
<suggest_new_session>true</suggest_new_session>
|
|
184
|
+
<next_command>/goop-specify</next_command>
|
|
185
|
+
</handoff>
|
|
186
|
+
</goop_report>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Blocked Response
|
|
190
|
+
```xml
|
|
191
|
+
<goop_report version="0.1.5">
|
|
192
|
+
<status>BLOCKED</status>
|
|
193
|
+
<agent>goop-executor</agent>
|
|
194
|
+
<task_id>W2.T2</task_id>
|
|
195
|
+
<task_name>Implement payment integration</task_name>
|
|
196
|
+
|
|
197
|
+
<state>
|
|
198
|
+
<phase>execute</phase>
|
|
199
|
+
<wave current="2" total="3"/>
|
|
200
|
+
<task current="2" total="4"/>
|
|
201
|
+
<spec_locked>true</spec_locked>
|
|
202
|
+
</state>
|
|
203
|
+
|
|
204
|
+
<summary>Cannot proceed - architectural decision required about payment provider.</summary>
|
|
205
|
+
|
|
206
|
+
<handoff>
|
|
207
|
+
<ready>false</ready>
|
|
208
|
+
<blockers>
|
|
209
|
+
RULE 4 DEVIATION: Need user decision on payment provider.
|
|
210
|
+
Options: A) Stripe (recommended, better docs), B) PayPal (wider reach)
|
|
211
|
+
</blockers>
|
|
212
|
+
<suggest_new_session>false</suggest_new_session>
|
|
213
|
+
</handoff>
|
|
214
|
+
</goop_report>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Parsing Guidelines for Orchestrator
|
|
218
|
+
|
|
219
|
+
1. **Extract status first** - Determines routing logic
|
|
220
|
+
2. **Check blockers** - If blocked, present to user
|
|
221
|
+
3. **Update CHRONICLE.md** - From artifacts and state
|
|
222
|
+
4. **Route next action** - Based on handoff.next_action
|
|
223
|
+
5. **Session boundary** - If suggest_new_session=true, generate HANDOFF.md
|
|
224
|
+
|
|
225
|
+
## Validation Rules
|
|
226
|
+
|
|
227
|
+
- Status must be one of: COMPLETE, PARTIAL, BLOCKED, CHECKPOINT
|
|
228
|
+
- Agent must match the subagent_type that was invoked
|
|
229
|
+
- State.phase must match current workflow phase
|
|
230
|
+
- If COMPLETE, verification should have at least one check
|
|
231
|
+
- If BLOCKED, blockers must be non-empty
|
|
232
|
+
- handoff.next_action must specify which agent continues
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
*GoopSpec XML Response Schema v0.1.5*
|
package/skills/api-docs/skill.md
CHANGED