opencode-goopspec 0.1.2 → 0.1.3
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 +36 -34
- package/agents/goop-orchestrator.md +106 -20
- package/commands/goop-accept.md +43 -163
- package/commands/goop-amend.md +26 -155
- package/commands/goop-complete.md +30 -187
- package/commands/goop-debug.md +25 -303
- package/commands/goop-discuss.md +9 -125
- package/commands/goop-execute.md +49 -115
- package/commands/goop-map-codebase.md +3 -3
- package/commands/goop-milestone.md +20 -196
- package/commands/goop-pause.md +22 -43
- package/commands/goop-plan.md +404 -46
- package/commands/goop-quick.md +29 -145
- package/commands/goop-research.md +43 -77
- package/commands/goop-resume.md +19 -40
- package/commands/goop-setup.md +207 -116
- package/commands/goop-specify.md +58 -134
- package/commands/goop-status.md +32 -134
- package/dist/index.js +5952 -2796
- package/package.json +1 -1
- package/references/interactive-questioning.md +122 -0
- package/references/ui-interaction-patterns.md +133 -0
- package/references/workflow-accept.md +60 -273
- package/references/workflow-execute.md +63 -274
- package/references/workflow-plan.md +86 -133
- package/references/workflow-research.md +78 -186
- package/references/workflow-specify.md +64 -221
package/commands/goop-plan.md
CHANGED
|
@@ -1,78 +1,436 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: goop-plan
|
|
3
|
-
description: Start the
|
|
3
|
+
description: Start the Planning Phase
|
|
4
|
+
phase: plan
|
|
5
|
+
next-step: "When planning is complete and requirements are clear, lock the specification"
|
|
6
|
+
next-command: /goop-specify
|
|
7
|
+
alternatives:
|
|
8
|
+
- command: /goop-research
|
|
9
|
+
when: "If there are unknowns or technology questions to investigate"
|
|
10
|
+
- command: /goop-pause
|
|
11
|
+
when: "To save progress and continue later"
|
|
4
12
|
---
|
|
5
13
|
|
|
6
|
-
#
|
|
14
|
+
# /goop-plan
|
|
7
15
|
|
|
8
|
-
Capture
|
|
16
|
+
**Start the Planning Phase.** Capture intent, clarify requirements, and prepare for execution.
|
|
9
17
|
|
|
10
18
|
## Usage
|
|
11
19
|
|
|
20
|
+
```bash
|
|
21
|
+
/goop-plan [brief description of task]
|
|
12
22
|
```
|
|
13
|
-
|
|
23
|
+
|
|
24
|
+
## Orchestrator Role
|
|
25
|
+
|
|
26
|
+
**YOU conduct the interview directly.** Do NOT spawn agents for conversation. Only spawn agents when it's time to BUILD documents.
|
|
27
|
+
|
|
28
|
+
Why: The interview builds shared understanding. That understanding stays in YOUR context and informs how you delegate. Spawning for conversation fragments knowledge.
|
|
29
|
+
|
|
30
|
+
## Process
|
|
31
|
+
|
|
32
|
+
### Phase 1: Setup
|
|
33
|
+
|
|
34
|
+
**Execute these checks BEFORE any user interaction:**
|
|
35
|
+
|
|
36
|
+
**1.1 Check for existing project documents:**
|
|
37
|
+
```
|
|
38
|
+
goop_status()
|
|
39
|
+
Read(".goopspec/SPEC.md")
|
|
40
|
+
Read(".goopspec/BLUEPRINT.md")
|
|
41
|
+
Read(".goopspec/CHRONICLE.md")
|
|
14
42
|
```
|
|
15
43
|
|
|
16
|
-
|
|
44
|
+
**1.2 If documents exist, offer archive:**
|
|
17
45
|
|
|
46
|
+
Use `question` tool:
|
|
47
|
+
- header: "Existing Project"
|
|
48
|
+
- question: "I found existing project documents. How would you like to proceed?"
|
|
49
|
+
- options:
|
|
50
|
+
- "Archive and start fresh (Recommended)" — Move current docs to archive, extract learnings, start new project
|
|
51
|
+
- "Continue existing project" — Resume work on current spec (exit planning, run /goop-status)
|
|
52
|
+
- "Overwrite without archiving" — Replace documents (loses history)
|
|
53
|
+
|
|
54
|
+
**On "Archive and start fresh":**
|
|
55
|
+
```
|
|
56
|
+
task({
|
|
57
|
+
subagent_type: "goop-writer",
|
|
58
|
+
description: "Archive current milestone",
|
|
59
|
+
prompt: `
|
|
60
|
+
Archive the current project:
|
|
61
|
+
1. Read .goopspec/SPEC.md and .goopspec/CHRONICLE.md
|
|
62
|
+
2. Generate RETROSPECTIVE.md summarizing:
|
|
63
|
+
- What was built
|
|
64
|
+
- Key decisions made
|
|
65
|
+
- Learnings for next time
|
|
66
|
+
3. Move all documents to .goopspec/archive/[milestone-name]/
|
|
67
|
+
4. Clear working documents (keep archive/)
|
|
68
|
+
5. Return ARCHIVE COMPLETE with summary
|
|
69
|
+
`
|
|
70
|
+
})
|
|
18
71
|
```
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
72
|
+
Then continue to Phase 2.
|
|
73
|
+
|
|
74
|
+
**On "Continue existing":** Exit command. Suggest `/goop-status` for current state.
|
|
75
|
+
|
|
76
|
+
**On "Overwrite":** Warn user, then continue to Phase 2.
|
|
77
|
+
|
|
78
|
+
**1.3 Initialize if needed:**
|
|
79
|
+
```bash
|
|
80
|
+
mkdir -p .goopspec
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**1.4 Search memory for context:**
|
|
25
84
|
```
|
|
85
|
+
memory_search({ query: "project preferences architecture decisions [user's topic]", limit: 5 })
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Store any relevant findings - use them to skip questions you already know answers to.
|
|
89
|
+
|
|
90
|
+
### Phase 2: Deep Questioning
|
|
91
|
+
|
|
92
|
+
**Display stage banner:**
|
|
93
|
+
```
|
|
94
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
95
|
+
GOOPSPEC ▸ PLANNING
|
|
96
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**2.1 Open the conversation:**
|
|
100
|
+
|
|
101
|
+
If `$ARGUMENTS` provided:
|
|
102
|
+
> "You want to **[argument]**. Let me understand this better."
|
|
103
|
+
|
|
104
|
+
Otherwise:
|
|
105
|
+
> "What do you want to build?"
|
|
106
|
+
|
|
107
|
+
Wait for response. This gives context for intelligent follow-ups.
|
|
108
|
+
|
|
109
|
+
**2.2 Follow the thread:**
|
|
110
|
+
|
|
111
|
+
Based on their response, ask follow-up questions. Use the `question` tool with options that probe what they mentioned.
|
|
112
|
+
|
|
113
|
+
Keep following threads. Each answer opens new areas:
|
|
114
|
+
- What excited them about this idea
|
|
115
|
+
- What problem sparked it
|
|
116
|
+
- What vague terms mean concretely
|
|
117
|
+
- What it would look like in use
|
|
118
|
+
- What's already decided vs open
|
|
119
|
+
|
|
120
|
+
**2.3 Memory-first questioning protocol:**
|
|
26
121
|
|
|
27
|
-
|
|
122
|
+
Before asking ANYTHING:
|
|
123
|
+
1. Check memory: `memory_search({ query: "[topic] preference" })`
|
|
124
|
+
2. If found with high confidence: "I recall you prefer X for this. Still true? [Y/n]"
|
|
125
|
+
3. If not found: Ask, then SAVE the answer with `memory_note`
|
|
28
126
|
|
|
29
|
-
|
|
127
|
+
**Never ask what you already know.**
|
|
30
128
|
|
|
31
|
-
|
|
32
|
-
2. **Clarifying Questions** - Resolve critical ambiguities
|
|
33
|
-
3. **Requirements Gathering** - Categorize must/should/could/won't haves
|
|
34
|
-
4. **Constraint Identification** - Document technical, time, resource limits
|
|
35
|
-
5. **Success Criteria** - Define observable completion conditions
|
|
36
|
-
6. **Memory Search** - Check for similar past work and preferences
|
|
129
|
+
**2.4 Context checklist (gather all of these):**
|
|
37
130
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
131
|
+
| Category | Questions to Answer |
|
|
132
|
+
|----------|-------------------|
|
|
133
|
+
| **Goal** | What is the ONE thing that must work? |
|
|
134
|
+
| **Context** | Why now? What problem does this solve? |
|
|
135
|
+
| **Success** | How do we know it's done? Observable outcomes? |
|
|
136
|
+
| **Constraints** | Tech stack? Performance? Security? Timeline? |
|
|
137
|
+
| **Scope** | What's explicitly NOT included? |
|
|
138
|
+
| **UI/UX** | Visual direction? Key patterns? States to handle? |
|
|
43
139
|
|
|
44
|
-
|
|
140
|
+
Don't ask all at once. Weave naturally through conversation.
|
|
45
141
|
|
|
46
|
-
|
|
47
|
-
- Requirements list (must/should/could/won't)
|
|
48
|
-
- Constraints documentation
|
|
49
|
-
- Success criteria
|
|
142
|
+
**2.5 Strategy decision gate:**
|
|
50
143
|
|
|
51
|
-
|
|
144
|
+
When you could write a clear SPEC.md, use `question` tool:
|
|
52
145
|
|
|
146
|
+
- header: "Strategy"
|
|
147
|
+
- question: "I understand what you're building. How should we proceed?"
|
|
148
|
+
- options:
|
|
149
|
+
- "Create specification (Recommended)" — I'll create SPEC.md and BLUEPRINT.md now
|
|
150
|
+
- "Research first" — Investigate unknowns before planning (/goop-research)
|
|
151
|
+
- "Map codebase first" — Understand existing code before planning (/goop-map-codebase)
|
|
152
|
+
- "Keep exploring" — I want to share more context
|
|
153
|
+
|
|
154
|
+
**On "Keep exploring":** Ask what they want to add, identify gaps, continue conversation.
|
|
155
|
+
|
|
156
|
+
**On "Research first":**
|
|
157
|
+
```
|
|
158
|
+
Suggest: "Run `/goop-research [topic]` to investigate, then return to `/goop-plan`"
|
|
159
|
+
```
|
|
160
|
+
Exit command.
|
|
161
|
+
|
|
162
|
+
**On "Map codebase":**
|
|
163
|
+
```
|
|
164
|
+
Suggest: "Run `/goop-map-codebase` to understand the existing code, then return to `/goop-plan`"
|
|
165
|
+
```
|
|
166
|
+
Exit command.
|
|
167
|
+
|
|
168
|
+
**On "Create specification":** Continue to Phase 3.
|
|
169
|
+
|
|
170
|
+
### Phase 3: Document Creation
|
|
171
|
+
|
|
172
|
+
**Display stage banner:**
|
|
53
173
|
```
|
|
54
|
-
|
|
174
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
175
|
+
GOOPSPEC ▸ CREATING DOCUMENTS
|
|
176
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
177
|
+
|
|
178
|
+
◆ Spawning planner to create SPEC.md and BLUEPRINT.md...
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Spawn goop-planner with full interview context:**
|
|
182
|
+
|
|
55
183
|
```
|
|
184
|
+
task({
|
|
185
|
+
subagent_type: "goop-planner",
|
|
186
|
+
description: "Create SPEC and BLUEPRINT",
|
|
187
|
+
prompt: `
|
|
188
|
+
## TASK
|
|
189
|
+
Create specification and blueprint for: [feature name]
|
|
56
190
|
|
|
57
|
-
|
|
58
|
-
- **Intent:** Enable users to create accounts and log in
|
|
59
|
-
- **Must haves:** Email/password login, session persistence
|
|
60
|
-
- **Success:** User can log in and stay logged in across refresh
|
|
191
|
+
## CONTEXT FROM INTERVIEW
|
|
61
192
|
|
|
62
|
-
|
|
193
|
+
### User Intent
|
|
194
|
+
[The core "why" - what problem this solves, why now]
|
|
63
195
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
196
|
+
### Requirements Gathered
|
|
197
|
+
|
|
198
|
+
**Must Have:**
|
|
199
|
+
- [Requirement 1 from interview]
|
|
200
|
+
- [Requirement 2 from interview]
|
|
201
|
+
- [Requirement 3 from interview]
|
|
202
|
+
|
|
203
|
+
**Nice to Have:**
|
|
204
|
+
- [If mentioned]
|
|
205
|
+
|
|
206
|
+
**Out of Scope:**
|
|
207
|
+
- [Explicit exclusions from interview]
|
|
208
|
+
|
|
209
|
+
### Technical Constraints
|
|
210
|
+
- Stack: [from interview]
|
|
211
|
+
- Performance: [from interview]
|
|
212
|
+
- Security: [from interview]
|
|
213
|
+
|
|
214
|
+
### Success Criteria
|
|
215
|
+
- [Observable outcome 1]
|
|
216
|
+
- [Observable outcome 2]
|
|
217
|
+
|
|
218
|
+
### UI/UX Requirements (if applicable)
|
|
219
|
+
- Visual direction: [from interview]
|
|
220
|
+
- Key patterns: [from interview]
|
|
221
|
+
- States to handle: [loading, empty, error, success]
|
|
222
|
+
|
|
223
|
+
## INSTRUCTIONS
|
|
224
|
+
1. Load templates:
|
|
225
|
+
- goop_reference({ name: "spec", type: "template" })
|
|
226
|
+
- goop_reference({ name: "blueprint", type: "template" })
|
|
227
|
+
|
|
228
|
+
2. Create .goopspec/SPEC.md with:
|
|
229
|
+
- All must-haves as checkboxes with IDs (MH-01, MH-02)
|
|
230
|
+
- Nice-to-haves marked separately
|
|
231
|
+
- Clear out-of-scope section
|
|
232
|
+
- Success criteria
|
|
233
|
+
|
|
234
|
+
3. Create .goopspec/BLUEPRINT.md with:
|
|
235
|
+
- Wave-based execution plan
|
|
236
|
+
- Each task is atomic and verifiable
|
|
237
|
+
- Dependencies mapped
|
|
238
|
+
- Estimated effort per wave
|
|
239
|
+
|
|
240
|
+
4. Initialize .goopspec/CHRONICLE.md with:
|
|
241
|
+
- Phase: plan → ready for specify
|
|
242
|
+
- Documents created with timestamps
|
|
243
|
+
|
|
244
|
+
5. Save key decisions to memory:
|
|
245
|
+
memory_decision({
|
|
246
|
+
decision: "[key architectural choice]",
|
|
247
|
+
reasoning: "[why]",
|
|
248
|
+
impact: "medium"
|
|
249
|
+
})
|
|
250
|
+
|
|
251
|
+
6. Return: ## PLANNING COMPLETE with summary
|
|
252
|
+
|
|
253
|
+
Write files IMMEDIATELY. Don't draft - commit to disk.
|
|
254
|
+
`
|
|
255
|
+
})
|
|
256
|
+
```
|
|
67
257
|
|
|
68
|
-
|
|
258
|
+
### Phase 4: Handle Response
|
|
69
259
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
260
|
+
**On `## PLANNING COMPLETE`:**
|
|
261
|
+
|
|
262
|
+
Read created documents and present:
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
|
+
GOOPSPEC ▸ PLANNING COMPLETE ✓
|
|
267
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
268
|
+
|
|
269
|
+
**Feature:** [Name from SPEC.md]
|
|
270
|
+
|
|
271
|
+
| Artifact | Status | Location |
|
|
272
|
+
|------------|---------|------------------------|
|
|
273
|
+
| Spec | Created | .goopspec/SPEC.md |
|
|
274
|
+
| Blueprint | Created | .goopspec/BLUEPRINT.md |
|
|
275
|
+
| Chronicle | Created | .goopspec/CHRONICLE.md |
|
|
276
|
+
|
|
277
|
+
**[N] must-haves** | **[M] waves** | **[P] tasks**
|
|
278
|
+
|
|
279
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
280
|
+
|
|
281
|
+
## ▸ Next Up
|
|
282
|
+
|
|
283
|
+
**Lock the specification** — Confirm requirements before execution
|
|
284
|
+
|
|
285
|
+
`/goop-specify`
|
|
75
286
|
|
|
76
287
|
---
|
|
77
288
|
|
|
78
|
-
**
|
|
289
|
+
**Also available:**
|
|
290
|
+
- `/goop-research [topic]` — Investigate unknowns before specifying
|
|
291
|
+
- `cat .goopspec/SPEC.md` — Review the specification
|
|
292
|
+
- `cat .goopspec/BLUEPRINT.md` — Review the execution plan
|
|
293
|
+
|
|
294
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**On `## PLANNING BLOCKED`:**
|
|
298
|
+
|
|
299
|
+
Present blocker to user:
|
|
300
|
+
```
|
|
301
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
302
|
+
GOOPSPEC ▸ PLANNING BLOCKED
|
|
303
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
304
|
+
|
|
305
|
+
**Blocker:** [From planner response]
|
|
306
|
+
|
|
307
|
+
**Options:**
|
|
308
|
+
1. Provide more context → continue planning
|
|
309
|
+
2. Research the unknown → /goop-research
|
|
310
|
+
3. Abort → /goop-pause
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Use `question` tool to get user choice.
|
|
314
|
+
|
|
315
|
+
**On `## PLANNING PARTIAL`:**
|
|
316
|
+
|
|
317
|
+
Present what was created, explain gaps, offer to continue or restart.
|
|
318
|
+
|
|
319
|
+
### Phase 5: Memory Persistence
|
|
320
|
+
|
|
321
|
+
After successful planning, persist key context:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
memory_save({
|
|
325
|
+
type: "note",
|
|
326
|
+
title: "Project: [Feature Name]",
|
|
327
|
+
content: "Building [summary]. Key decisions: [list]. Success = [criteria].",
|
|
328
|
+
concepts: ["project", "planning", "[domain]"],
|
|
329
|
+
importance: 0.8
|
|
330
|
+
})
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## Output
|
|
334
|
+
|
|
335
|
+
| File | Purpose |
|
|
336
|
+
|------|---------|
|
|
337
|
+
| `.goopspec/SPEC.md` | Requirements specification (Draft) |
|
|
338
|
+
| `.goopspec/BLUEPRINT.md` | Wave-based execution plan |
|
|
339
|
+
| `.goopspec/CHRONICLE.md` | Progress tracking |
|
|
340
|
+
| `.goopspec/state.json` | Workflow state |
|
|
341
|
+
|
|
342
|
+
## Transitions
|
|
343
|
+
|
|
344
|
+
| Outcome | Next Step |
|
|
345
|
+
|---------|-----------|
|
|
346
|
+
| Planning complete | `/goop-specify` to lock the specification |
|
|
347
|
+
| Unknowns remain | `/goop-research` to investigate |
|
|
348
|
+
| Need to pause | `/goop-pause` to save checkpoint |
|
|
349
|
+
| Existing project | `/goop-status` to see current state |
|
|
350
|
+
|
|
351
|
+
## Examples
|
|
352
|
+
|
|
353
|
+
**Simple Feature:**
|
|
354
|
+
```
|
|
355
|
+
User: /goop-plan add a dark mode toggle
|
|
356
|
+
|
|
357
|
+
Orchestrator: "Dark mode toggle. A few questions:
|
|
358
|
+
|
|
359
|
+
1. Should it persist to localStorage across sessions?
|
|
360
|
+
2. Auto-detect system preference (prefers-color-scheme)?
|
|
361
|
+
3. Animate the transition, or instant switch?
|
|
362
|
+
|
|
363
|
+
[Uses question tool with options for each]"
|
|
364
|
+
|
|
365
|
+
... gathers answers ...
|
|
366
|
+
|
|
367
|
+
Orchestrator: "Got it. Creating specification..."
|
|
368
|
+
[Spawns goop-planner]
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
**Complex Feature:**
|
|
372
|
+
```
|
|
373
|
+
User: /goop-plan refactor the authentication system
|
|
374
|
+
|
|
375
|
+
Orchestrator: "Auth refactor is significant. Let me understand the scope.
|
|
376
|
+
|
|
377
|
+
I found 3 auth-related modules in the codebase:
|
|
378
|
+
- src/auth/ (main auth logic)
|
|
379
|
+
- src/middleware/auth.ts (route protection)
|
|
380
|
+
- src/utils/jwt.ts (token handling)
|
|
381
|
+
|
|
382
|
+
What's driving this refactor?
|
|
383
|
+
|
|
384
|
+
[Uses question tool]:
|
|
385
|
+
- Security vulnerability found
|
|
386
|
+
- Adding new auth method (OAuth, SSO)
|
|
387
|
+
- Performance issues
|
|
388
|
+
- Technical debt cleanup
|
|
389
|
+
- Other (describe)"
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
**Existing Project Detected:**
|
|
393
|
+
```
|
|
394
|
+
User: /goop-plan new dashboard widgets
|
|
395
|
+
|
|
396
|
+
Orchestrator: "I found existing project documents:
|
|
397
|
+
- SPEC.md: 'User Authentication System'
|
|
398
|
+
- Status: Execute phase, Wave 2 of 3
|
|
399
|
+
|
|
400
|
+
[Uses question tool]:
|
|
401
|
+
- Archive auth project and start fresh on widgets
|
|
402
|
+
- Continue auth project (run /goop-status)
|
|
403
|
+
- Overwrite without archiving"
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
## Success Criteria
|
|
407
|
+
|
|
408
|
+
- [ ] Existing documents detected and handled (archive/continue/overwrite)
|
|
409
|
+
- [ ] Memory searched before asking questions
|
|
410
|
+
- [ ] Interview conducted by orchestrator directly (no agent spawn for conversation)
|
|
411
|
+
- [ ] All context checklist categories gathered
|
|
412
|
+
- [ ] User confirmed strategy (create/research/map/explore)
|
|
413
|
+
- [ ] goop-planner spawned with complete interview context
|
|
414
|
+
- [ ] SPEC.md created with must-haves, nice-to-haves, out-of-scope
|
|
415
|
+
- [ ] BLUEPRINT.md created with waves and tasks
|
|
416
|
+
- [ ] CHRONICLE.md initialized
|
|
417
|
+
- [ ] Key decisions saved to memory
|
|
418
|
+
- [ ] User knows next step is `/goop-specify`
|
|
419
|
+
|
|
420
|
+
## Anti-Patterns
|
|
421
|
+
|
|
422
|
+
**DON'T:**
|
|
423
|
+
- Spawn an agent to conduct the interview
|
|
424
|
+
- Ask questions you found answers to in memory
|
|
425
|
+
- Skip the archive check when existing docs exist
|
|
426
|
+
- Create documents without user confirming strategy
|
|
427
|
+
- Leave user without clear next steps
|
|
428
|
+
- Rush through questioning to get to document creation
|
|
429
|
+
|
|
430
|
+
**DO:**
|
|
431
|
+
- Search memory before every question category
|
|
432
|
+
- Follow conversation threads naturally
|
|
433
|
+
- Challenge vague requirements ("what do you mean by fast?")
|
|
434
|
+
- Save new preferences to memory immediately
|
|
435
|
+
- Present clear "Next Up" section with copy-paste commands
|
|
436
|
+
- Take time to understand - planning is the highest leverage phase
|
package/commands/goop-quick.md
CHANGED
|
@@ -1,165 +1,49 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: goop-quick
|
|
3
|
-
description:
|
|
3
|
+
description: Fast-track a small task
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# /goop-quick
|
|
7
7
|
|
|
8
|
-
Execute small
|
|
8
|
+
**Execute small tasks fast.** Abbreviated workflow for simple changes.
|
|
9
9
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
|
+
```bash
|
|
13
|
+
/goop-quick [task description]
|
|
12
14
|
```
|
|
13
|
-
/goop-quick [brief description]
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Workflow Position
|
|
17
|
-
|
|
18
|
-
Quick mode uses a shortened path:
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
22
|
-
│ PLAN │ ──▶ │ EXECUTE │ ──▶ │ ACCEPT │
|
|
23
|
-
│ (Intent) │ │ (Build) │ │ (Verify) │
|
|
24
|
-
└─────────────┘ └─────────────┘ └─────────────┘
|
|
25
|
-
|
|
26
|
-
Research and Specify phases SKIPPED
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Quick mode skips:
|
|
30
|
-
- Research phase (assumes existing patterns sufficient)
|
|
31
|
-
- Specify phase (intent serves as implicit spec)
|
|
32
|
-
- Formal SPEC.md and BLUEPRINT.md
|
|
33
|
-
- Comprehensive verification
|
|
34
15
|
|
|
35
|
-
##
|
|
16
|
+
## How It Works
|
|
36
17
|
|
|
37
|
-
|
|
38
|
-
- Fix a specific bug
|
|
39
|
-
- Add a small feature
|
|
40
|
-
- Refactor a specific function
|
|
41
|
-
- Update documentation
|
|
42
|
-
- Add a test
|
|
43
|
-
- Configure a tool
|
|
44
|
-
- 15-60 minutes of work
|
|
18
|
+
Quick mode bypasses the formal Plan/Research/Specify phases while maintaining safety guarantees. Ideal for bug fixes, small refactors, or docs.
|
|
45
19
|
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
- Unknown problem domain
|
|
51
|
-
- Anything requiring research
|
|
20
|
+
### 1. Implicit Planning
|
|
21
|
+
- Captures intent in 1 sentence.
|
|
22
|
+
- Defines 1 clear success criterion.
|
|
23
|
+
- Skips formal `SPEC.md`.
|
|
52
24
|
|
|
53
|
-
|
|
25
|
+
### 2. Rapid Execution
|
|
26
|
+
- Creates a simplified 1-Wave Blueprint.
|
|
27
|
+
- Executes immediately.
|
|
28
|
+
- Still performs atomic commits.
|
|
54
29
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- Skip detailed requirements
|
|
30
|
+
### 3. Quick Acceptance
|
|
31
|
+
- Verifies the fix.
|
|
32
|
+
- Asks for confirmation.
|
|
59
33
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
- Less formal tracking
|
|
64
|
-
- Atomic commits still required
|
|
34
|
+
## When to Use
|
|
35
|
+
- **Good:** "Fix the typo in the navbar", "Update dependency X", "Add a unit test".
|
|
36
|
+
- **Bad:** "Add user auth", "Refactor entire API". (Use `/goop-plan` for these).
|
|
65
37
|
|
|
66
|
-
|
|
67
|
-
- Quick verification
|
|
68
|
-
- No formal report
|
|
69
|
-
- Simple confirmation prompt
|
|
38
|
+
## Output
|
|
70
39
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
- `.goopspec/quick/NNN-slug/PLAN.md` - Brief task plan
|
|
74
|
-
- `.goopspec/quick/NNN-slug/SUMMARY.md` - Completion summary
|
|
75
|
-
- Git commits (atomic, per task)
|
|
76
|
-
- STATE.md updated with quick task entry
|
|
77
|
-
|
|
78
|
-
## Task Size Guide
|
|
79
|
-
|
|
80
|
-
| Duration | Appropriate? |
|
|
81
|
-
|----------|--------------|
|
|
82
|
-
| < 15 min | Yes (might be too simple) |
|
|
83
|
-
| 15-30 min | Ideal |
|
|
84
|
-
| 30-60 min | Good |
|
|
85
|
-
| 1-2 hours | Borderline |
|
|
86
|
-
| > 2 hours | Use standard workflow |
|
|
40
|
+
- Atomic commits.
|
|
41
|
+
- `.goopspec/quick/` logs (for history).
|
|
87
42
|
|
|
88
43
|
## Example
|
|
89
44
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
1. Captures intent: "Update login button to use design system styles"
|
|
96
|
-
2. Success criterion: "Button matches design system colors and spacing"
|
|
97
|
-
3. Executes: Modify button component, update styles
|
|
98
|
-
4. Commits: `fix(quick): update login button to match design system`
|
|
99
|
-
5. Verifies: Visual check, no errors
|
|
100
|
-
6. Presents for acceptance
|
|
101
|
-
|
|
102
|
-
## Good Quick Task Examples
|
|
103
|
-
|
|
104
|
-
**GOOD:**
|
|
105
|
-
- "Fix the login button styling"
|
|
106
|
-
- "Add validation to the email field"
|
|
107
|
-
- "Update the README with new setup steps"
|
|
108
|
-
- "Refactor the auth utility to use async/await"
|
|
109
|
-
- "Add unit test for user validation"
|
|
110
|
-
|
|
111
|
-
**TOO BIG:**
|
|
112
|
-
- "Implement user authentication" (use standard workflow)
|
|
113
|
-
- "Add payment processing" (use standard workflow)
|
|
114
|
-
- "Refactor the entire codebase" (use milestone)
|
|
115
|
-
|
|
116
|
-
## Quick Mode Guarantees
|
|
117
|
-
|
|
118
|
-
Even in quick mode, you still get:
|
|
119
|
-
- Atomic commits
|
|
120
|
-
- Deviation rule enforcement
|
|
121
|
-
- Memory integration
|
|
122
|
-
- Verification before acceptance
|
|
123
|
-
- User confirmation gate
|
|
124
|
-
|
|
125
|
-
What you skip:
|
|
126
|
-
- Formal research
|
|
127
|
-
- Locked specification
|
|
128
|
-
- Wave-based planning
|
|
129
|
-
- Comprehensive verification report
|
|
130
|
-
|
|
131
|
-
## Next Steps
|
|
132
|
-
|
|
133
|
-
After quick task:
|
|
134
|
-
- `/goop-quick [next]` - Another quick task
|
|
135
|
-
- `/goop-plan [feature]` - Start standard workflow
|
|
136
|
-
- `/goop-status` - Check overall progress
|
|
137
|
-
|
|
138
|
-
## Completion Prompt
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
142
|
-
│ │
|
|
143
|
-
│ ⚡ QUICK TASK COMPLETE │
|
|
144
|
-
│ │
|
|
145
|
-
│ Task: Fix login button styling │
|
|
146
|
-
│ │
|
|
147
|
-
│ Duration: 12 minutes │
|
|
148
|
-
│ Files: 1 modified │
|
|
149
|
-
│ Commits: 1 │
|
|
150
|
-
│ │
|
|
151
|
-
│ VERIFICATION: │
|
|
152
|
-
│ ☑ Button matches design system │
|
|
153
|
-
│ ☑ No console errors │
|
|
154
|
-
│ ☑ Tests passing │
|
|
155
|
-
│ │
|
|
156
|
-
│ ───────────────────────────────────────────── │
|
|
157
|
-
│ Type "accept" to confirm. │
|
|
158
|
-
│ Type "issues: [description]" for fixes. │
|
|
159
|
-
│ │
|
|
160
|
-
╰────────────────────────────────────────────────────╯
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
**GoopSpec**: Quick tasks, same guarantees.
|
|
45
|
+
> **User:** `/goop-quick Fix the z-index on the modal`
|
|
46
|
+
> **Agent:** "Plan: Adjust z-index in `Modal.css`. Success: Modal appears above overlay.
|
|
47
|
+
> Executing...
|
|
48
|
+
> Done (commit: x9y8z7). Modal z-index set to 1000.
|
|
49
|
+
> Verified. Type 'accept' to close."
|