opencode-goopspec 0.1.0
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/LICENSE +21 -0
- package/README.md +650 -0
- package/agents/goop-debugger.md +265 -0
- package/agents/goop-designer.md +244 -0
- package/agents/goop-executor.md +217 -0
- package/agents/goop-explorer.md +252 -0
- package/agents/goop-librarian.md +197 -0
- package/agents/goop-orchestrator.md +224 -0
- package/agents/goop-planner.md +231 -0
- package/agents/goop-researcher.md +246 -0
- package/agents/goop-tester.md +245 -0
- package/agents/goop-verifier.md +266 -0
- package/agents/goop-writer.md +293 -0
- package/agents/memory-distiller.md +226 -0
- package/commands/goop-accept.md +183 -0
- package/commands/goop-amend.md +175 -0
- package/commands/goop-complete.md +206 -0
- package/commands/goop-debug.md +318 -0
- package/commands/goop-discuss.md +138 -0
- package/commands/goop-execute.md +137 -0
- package/commands/goop-help.md +82 -0
- package/commands/goop-map-codebase.md +501 -0
- package/commands/goop-memory.md +66 -0
- package/commands/goop-milestone.md +213 -0
- package/commands/goop-pause.md +61 -0
- package/commands/goop-plan.md +78 -0
- package/commands/goop-quick.md +165 -0
- package/commands/goop-recall.md +48 -0
- package/commands/goop-remember.md +71 -0
- package/commands/goop-research.md +98 -0
- package/commands/goop-resume.md +57 -0
- package/commands/goop-setup.md +208 -0
- package/commands/goop-specify.md +145 -0
- package/commands/goop-status.md +153 -0
- package/dist/index.js +31017 -0
- package/dist/memory/index.js +48752 -0
- package/package.json +73 -0
- package/references/agent-patterns.md +334 -0
- package/references/boundary-system.md +141 -0
- package/references/deviation-rules.md +80 -0
- package/references/dispatch-patterns.md +176 -0
- package/references/model-profiles.md +109 -0
- package/references/orchestrator-philosophy.md +280 -0
- package/references/security-checklist.md +163 -0
- package/references/subagent-protocol.md +393 -0
- package/references/tdd.md +231 -0
- package/references/ui-brand.md +261 -0
- package/references/workflow-accept.md +325 -0
- package/references/workflow-execute.md +315 -0
- package/references/workflow-plan.md +179 -0
- package/references/workflow-research.md +234 -0
- package/references/workflow-specify.md +278 -0
- package/skills/README.md +362 -0
- package/skills/accessibility/skill.md +41 -0
- package/skills/accessibility-testing/skill.md +47 -0
- package/skills/api-docs/skill.md +50 -0
- package/skills/architecture-design/skill.md +168 -0
- package/skills/atomic-commits/skill.md +53 -0
- package/skills/code-review/skill.md +59 -0
- package/skills/codebase-mapping/skill.md +54 -0
- package/skills/convention-detection/skill.md +68 -0
- package/skills/debugging/skill.md +59 -0
- package/skills/deviation-handling/skill.md +187 -0
- package/skills/documentation/skill.md +213 -0
- package/skills/goop-core/skill.md +383 -0
- package/skills/memory-usage/skill.md +208 -0
- package/skills/parallel-planning/skill.md +170 -0
- package/skills/pattern-extraction/skill.md +73 -0
- package/skills/performance-optimization/skill.md +188 -0
- package/skills/playwright/skill.md +69 -0
- package/skills/playwright-testing/skill.md +93 -0
- package/skills/progress-tracking/skill.md +155 -0
- package/skills/readme-generation/skill.md +87 -0
- package/skills/research/skill.md +161 -0
- package/skills/responsive-design/skill.md +76 -0
- package/skills/scientific-method/skill.md +67 -0
- package/skills/security-audit/skill.md +152 -0
- package/skills/task-decomposition/skill.md +153 -0
- package/skills/task-delegation/skill.md +127 -0
- package/skills/technical-writing/skill.md +69 -0
- package/skills/testing/skill.md +202 -0
- package/skills/ui-design/skill.md +73 -0
- package/skills/ux-patterns/skill.md +82 -0
- package/skills/verification/skill.md +178 -0
- package/skills/visual-regression/skill.md +86 -0
- package/templates/blueprint.md +141 -0
- package/templates/chronicle.md +156 -0
- package/templates/milestone.md +131 -0
- package/templates/research.md +117 -0
- package/templates/retrospective.md +188 -0
- package/templates/spec.md +103 -0
- package/templates/summary.md +202 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goop-complete
|
|
3
|
+
description: Complete and archive a milestone
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GoopSpec Complete
|
|
7
|
+
|
|
8
|
+
Complete and archive a milestone, extracting learnings and preparing for the next phase.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/goop-complete
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
Use `/goop-complete` when:
|
|
19
|
+
- A major milestone is finished
|
|
20
|
+
- Multiple features are complete
|
|
21
|
+
- Ready to close a development cycle
|
|
22
|
+
- Want to extract learnings before next phase
|
|
23
|
+
|
|
24
|
+
**Note:** For individual features, `/goop-accept` is sufficient. Use `/goop-complete` for larger milestones.
|
|
25
|
+
|
|
26
|
+
## What Happens
|
|
27
|
+
|
|
28
|
+
1. **Verify Completion** - Confirm all milestone features accepted
|
|
29
|
+
2. **Generate RETROSPECTIVE.md** - Reflect on what worked/didn't
|
|
30
|
+
3. **Extract LEARNINGS.md** - Document patterns, decisions, insights
|
|
31
|
+
4. **Archive Files** - Move to `archive/milestone-N/`:
|
|
32
|
+
- SPEC.md
|
|
33
|
+
- BLUEPRINT.md
|
|
34
|
+
- CHRONICLE.md
|
|
35
|
+
- RESEARCH.md
|
|
36
|
+
- RETROSPECTIVE.md
|
|
37
|
+
- LEARNINGS.md
|
|
38
|
+
5. **Persist to Memory** - Save key learnings for future reference
|
|
39
|
+
6. **Tag Git** - Create version tag (e.g., `v1.0.0`)
|
|
40
|
+
7. **Clean Workspace** - Clear active workflow state
|
|
41
|
+
8. **Celebrate** - Acknowledge completion
|
|
42
|
+
|
|
43
|
+
## RETROSPECTIVE.md
|
|
44
|
+
|
|
45
|
+
Generated retrospective includes:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
# Retrospective: [Milestone Name]
|
|
49
|
+
|
|
50
|
+
**Completed:** [Date]
|
|
51
|
+
**Duration:** [Time period]
|
|
52
|
+
**Features Delivered:** [Count]
|
|
53
|
+
|
|
54
|
+
## What Went Well
|
|
55
|
+
|
|
56
|
+
- [Success 1]
|
|
57
|
+
- [Success 2]
|
|
58
|
+
|
|
59
|
+
## What Could Improve
|
|
60
|
+
|
|
61
|
+
- [Challenge 1]
|
|
62
|
+
- [Challenge 2]
|
|
63
|
+
|
|
64
|
+
## Key Decisions
|
|
65
|
+
|
|
66
|
+
- [Decision 1]: [Rationale]
|
|
67
|
+
- [Decision 2]: [Rationale]
|
|
68
|
+
|
|
69
|
+
## Metrics
|
|
70
|
+
|
|
71
|
+
- Tasks completed: [N]
|
|
72
|
+
- Commits: [N]
|
|
73
|
+
- Tests added: [N]
|
|
74
|
+
- Files modified: [N]
|
|
75
|
+
- Deviations: [N]
|
|
76
|
+
|
|
77
|
+
## Team Feedback
|
|
78
|
+
|
|
79
|
+
[User observations and feedback]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## LEARNINGS.md
|
|
83
|
+
|
|
84
|
+
Extracted learnings include:
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
# Learnings: [Milestone Name]
|
|
88
|
+
|
|
89
|
+
## Technical Patterns
|
|
90
|
+
|
|
91
|
+
### Pattern 1: [Name]
|
|
92
|
+
**Context:** [When to use]
|
|
93
|
+
**Implementation:** [How it works]
|
|
94
|
+
**Benefits:** [Why it's good]
|
|
95
|
+
**Files:** [Where it's used]
|
|
96
|
+
|
|
97
|
+
## Architectural Decisions
|
|
98
|
+
|
|
99
|
+
### Decision 1: [Name]
|
|
100
|
+
**Problem:** [What we needed to solve]
|
|
101
|
+
**Solution:** [What we chose]
|
|
102
|
+
**Alternatives:** [What we didn't choose]
|
|
103
|
+
**Rationale:** [Why this was best]
|
|
104
|
+
|
|
105
|
+
## Gotchas Discovered
|
|
106
|
+
|
|
107
|
+
- [Gotcha 1]: [How to avoid]
|
|
108
|
+
- [Gotcha 2]: [How to avoid]
|
|
109
|
+
|
|
110
|
+
## Reusable Components
|
|
111
|
+
|
|
112
|
+
- [Component 1]: [Purpose and location]
|
|
113
|
+
- [Component 2]: [Purpose and location]
|
|
114
|
+
|
|
115
|
+
## Future Recommendations
|
|
116
|
+
|
|
117
|
+
- [Recommendation 1]
|
|
118
|
+
- [Recommendation 2]
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Archive Structure
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
archive/
|
|
125
|
+
└── milestone-1-auth-system/
|
|
126
|
+
├── SPEC.md
|
|
127
|
+
├── BLUEPRINT.md
|
|
128
|
+
├── CHRONICLE.md
|
|
129
|
+
├── RESEARCH.md
|
|
130
|
+
├── RETROSPECTIVE.md
|
|
131
|
+
└── LEARNINGS.md
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Memory Persistence
|
|
135
|
+
|
|
136
|
+
Key information saved to memory:
|
|
137
|
+
- Architectural decisions
|
|
138
|
+
- Reusable patterns discovered
|
|
139
|
+
- Gotchas and how to avoid them
|
|
140
|
+
- Performance insights
|
|
141
|
+
- Security considerations
|
|
142
|
+
|
|
143
|
+
## Git Tagging
|
|
144
|
+
|
|
145
|
+
Milestone tagged in git:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
git tag -a v1.0.0 -m "Milestone 1: Authentication System"
|
|
149
|
+
git push origin v1.0.0
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Completion Prompt
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
156
|
+
│ │
|
|
157
|
+
│ 🎯 MILESTONE COMPLETE │
|
|
158
|
+
│ │
|
|
159
|
+
│ Milestone: Authentication System │
|
|
160
|
+
│ │
|
|
161
|
+
│ DELIVERED: │
|
|
162
|
+
│ • User login/logout │
|
|
163
|
+
│ • Session management │
|
|
164
|
+
│ • Password reset │
|
|
165
|
+
│ • OAuth integration │
|
|
166
|
+
│ │
|
|
167
|
+
│ METRICS: │
|
|
168
|
+
│ • Duration: 3 days │
|
|
169
|
+
│ • Tasks: 24 completed │
|
|
170
|
+
│ • Commits: 24 │
|
|
171
|
+
│ • Tests: 87% coverage │
|
|
172
|
+
│ │
|
|
173
|
+
│ ARCHIVED: │
|
|
174
|
+
│ • Specifications │
|
|
175
|
+
│ • Research findings │
|
|
176
|
+
│ • Learnings extracted │
|
|
177
|
+
│ • Git tagged: v1.0.0 │
|
|
178
|
+
│ │
|
|
179
|
+
╰────────────────────────────────────────────────────╯
|
|
180
|
+
|
|
181
|
+
What's next?
|
|
182
|
+
• /goop-milestone [name] - Start next milestone
|
|
183
|
+
• /goop-plan [feature] - Plan next feature
|
|
184
|
+
• /goop-status - Check project status
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Example
|
|
188
|
+
|
|
189
|
+
After completing authentication system milestone:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
/goop-complete
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Agent generates retrospective, extracts learnings, archives files, tags git, and prepares for next milestone.
|
|
196
|
+
|
|
197
|
+
## Next Steps
|
|
198
|
+
|
|
199
|
+
After completion:
|
|
200
|
+
- `/goop-milestone [name]` - Start new milestone
|
|
201
|
+
- `/goop-plan [feature]` - Plan next feature
|
|
202
|
+
- Review LEARNINGS.md for insights
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
**GoopSpec**: Complete with reflection, start fresh with wisdom.
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goop-debug
|
|
3
|
+
description: Systematic debugging using scientific method - investigate bugs with hypothesis testing
|
|
4
|
+
tools:
|
|
5
|
+
read: true
|
|
6
|
+
write: true
|
|
7
|
+
edit: true
|
|
8
|
+
bash: true
|
|
9
|
+
grep: true
|
|
10
|
+
glob: true
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Systematic debugging using the scientific method.
|
|
15
|
+
|
|
16
|
+
Investigates bugs through hypothesis testing, manages persistent debug sessions, and handles checkpoints when user input is needed.
|
|
17
|
+
|
|
18
|
+
**Key principles:**
|
|
19
|
+
- User = Reporter (knows symptoms), Claude = Investigator (finds cause)
|
|
20
|
+
- Hypothesis testing with falsifiable predictions
|
|
21
|
+
- Change one variable at a time
|
|
22
|
+
- Document everything in DEBUG.md
|
|
23
|
+
|
|
24
|
+
**Creates:**
|
|
25
|
+
- `.goopspec/debug/DEBUG-{id}.md` - Debug session record
|
|
26
|
+
</objective>
|
|
27
|
+
|
|
28
|
+
<execution_context>
|
|
29
|
+
<!-- Debug template is embedded in the process section above -->
|
|
30
|
+
</execution_context>
|
|
31
|
+
|
|
32
|
+
<context>
|
|
33
|
+
@.goopspec/PROJECT.md
|
|
34
|
+
@.goopspec/STATE.md
|
|
35
|
+
</context>
|
|
36
|
+
|
|
37
|
+
<process>
|
|
38
|
+
## Phase 1: Gather Evidence
|
|
39
|
+
|
|
40
|
+
**Opening questions:**
|
|
41
|
+
|
|
42
|
+
"Tell me about the bug. What did you expect to happen, and what actually happened?"
|
|
43
|
+
|
|
44
|
+
Listen for:
|
|
45
|
+
- Expected behavior
|
|
46
|
+
- Actual behavior
|
|
47
|
+
- Error messages
|
|
48
|
+
- When it started
|
|
49
|
+
- Reproduction steps
|
|
50
|
+
- Environment details
|
|
51
|
+
|
|
52
|
+
**Do NOT ask:**
|
|
53
|
+
- "What's causing it?" (User doesn't know)
|
|
54
|
+
- "Which file has the bug?" (That's your job)
|
|
55
|
+
- "How should we fix it?" (Investigate first)
|
|
56
|
+
|
|
57
|
+
**DO ask about:**
|
|
58
|
+
- "What were you doing when it happened?"
|
|
59
|
+
- "Does it happen every time?"
|
|
60
|
+
- "When did you first notice it?"
|
|
61
|
+
- "What error messages did you see?"
|
|
62
|
+
|
|
63
|
+
## Phase 2: Initialize Debug Session
|
|
64
|
+
|
|
65
|
+
Create debug session file:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
DEBUG_ID=$(date +%Y%m%d-%H%M%S)
|
|
69
|
+
mkdir -p .goopspec/debug
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Create `.goopspec/debug/DEBUG-$DEBUG_ID.md`:
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
# Debug Session: $DEBUG_ID
|
|
76
|
+
|
|
77
|
+
**Started:** [Timestamp]
|
|
78
|
+
**Status:** In Progress
|
|
79
|
+
**Severity:** [Critical/Major/Minor]
|
|
80
|
+
|
|
81
|
+
## Problem Statement
|
|
82
|
+
|
|
83
|
+
**Expected:** [What should happen]
|
|
84
|
+
**Actual:** [What actually happens]
|
|
85
|
+
**Impact:** [Who/what is affected]
|
|
86
|
+
|
|
87
|
+
## Evidence Gathered
|
|
88
|
+
|
|
89
|
+
### Error Messages
|
|
90
|
+
```
|
|
91
|
+
[Paste error messages]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Reproduction Steps
|
|
95
|
+
1. [Step 1]
|
|
96
|
+
2. [Step 2]
|
|
97
|
+
3. [Step 3]
|
|
98
|
+
|
|
99
|
+
### Environment
|
|
100
|
+
- [OS/Version]
|
|
101
|
+
- [Runtime version]
|
|
102
|
+
- [Relevant env vars]
|
|
103
|
+
|
|
104
|
+
## Investigation Log
|
|
105
|
+
|
|
106
|
+
### Hypothesis 1: [Brief description]
|
|
107
|
+
**Prediction:** If true, [observable outcome]
|
|
108
|
+
**Test:** [What to do]
|
|
109
|
+
**Result:** [Pending/Confirmed/Refuted]
|
|
110
|
+
**Conclusion:** [What we learned]
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Current Status
|
|
115
|
+
|
|
116
|
+
**Active Hypothesis:** [Which one we're testing]
|
|
117
|
+
**Next Step:** [What to do next]
|
|
118
|
+
|
|
119
|
+
## Resolution
|
|
120
|
+
|
|
121
|
+
**Root Cause:** [What was actually wrong]
|
|
122
|
+
**Fix Applied:** [What was changed]
|
|
123
|
+
**Verification:** [How we confirmed it's fixed]
|
|
124
|
+
**Committed:** [Commit hash]
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
*Debug session following scientific method*
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Phase 3: Form Hypotheses
|
|
131
|
+
|
|
132
|
+
Based on evidence, generate 3+ independent hypotheses:
|
|
133
|
+
|
|
134
|
+
**Good hypotheses (falsifiable):**
|
|
135
|
+
- "User state resets because component remounts on route change"
|
|
136
|
+
- "API returns 404 because URL construction is wrong"
|
|
137
|
+
- "Race condition between async operations"
|
|
138
|
+
|
|
139
|
+
**Bad hypotheses (unfalsifiable):**
|
|
140
|
+
- "Something is wrong with the state"
|
|
141
|
+
- "The timing is off"
|
|
142
|
+
- "There's a bug somewhere"
|
|
143
|
+
|
|
144
|
+
For each hypothesis, design an experiment:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
### Hypothesis N: [Description]
|
|
148
|
+
**Prediction:** If this hypothesis is true, I will observe [specific outcome]
|
|
149
|
+
**Test:** [Exact steps to test]
|
|
150
|
+
**Measurement:** [What to measure]
|
|
151
|
+
**Success criteria:** [What confirms/refutes]
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Phase 4: Test Hypotheses
|
|
155
|
+
|
|
156
|
+
**Rule: Change ONE variable at a time**
|
|
157
|
+
|
|
158
|
+
For each hypothesis:
|
|
159
|
+
1. Run the test
|
|
160
|
+
2. Record the exact outcome
|
|
161
|
+
3. Compare to prediction
|
|
162
|
+
4. Document in DEBUG.md
|
|
163
|
+
|
|
164
|
+
**If hypothesis confirmed:**
|
|
165
|
+
- Move to Phase 5 (Action)
|
|
166
|
+
- Update DEBUG.md with conclusion
|
|
167
|
+
|
|
168
|
+
**If hypothesis refuted:**
|
|
169
|
+
- Document what we learned (rules something out)
|
|
170
|
+
- Form new hypothesis based on new information
|
|
171
|
+
- Continue testing
|
|
172
|
+
|
|
173
|
+
## Phase 5: Take Action
|
|
174
|
+
|
|
175
|
+
**Only act when ALL are true:**
|
|
176
|
+
1. Understand the mechanism (not just "what fails" but "why")
|
|
177
|
+
2. Can reproduce reliably
|
|
178
|
+
3. Have evidence, not just theory
|
|
179
|
+
4. Ruled out alternatives
|
|
180
|
+
|
|
181
|
+
**Action types:**
|
|
182
|
+
|
|
183
|
+
### Fix the bug
|
|
184
|
+
- Make minimal, targeted change
|
|
185
|
+
- Update tests to prevent regression
|
|
186
|
+
- Verify fix works
|
|
187
|
+
- Document in DEBUG.md
|
|
188
|
+
|
|
189
|
+
### Checkpoint (if blocked)
|
|
190
|
+
If you need user input:
|
|
191
|
+
```
|
|
192
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
193
|
+
<decision>[What needs deciding]</decision>
|
|
194
|
+
<context>[Why this matters]</context>
|
|
195
|
+
<options>[Available options]</options>
|
|
196
|
+
</task>
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Phase 6: Document Resolution
|
|
200
|
+
|
|
201
|
+
Update DEBUG.md:
|
|
202
|
+
|
|
203
|
+
```markdown
|
|
204
|
+
## Resolution
|
|
205
|
+
|
|
206
|
+
**Root Cause:** [Clear explanation]
|
|
207
|
+
**Fix Applied:** [What was changed]
|
|
208
|
+
```diff
|
|
209
|
+
- [Old code]
|
|
210
|
+
+ [New code]
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Verification:** [How confirmed]
|
|
214
|
+
- [ ] Test passes
|
|
215
|
+
- [ ] Manual verification
|
|
216
|
+
- [ ] No regressions
|
|
217
|
+
|
|
218
|
+
**Committed:** [Hash]
|
|
219
|
+
**Duration:** [How long it took]
|
|
220
|
+
**Status:** RESOLVED
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Phase 7: Offer Next Steps
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
227
|
+
GOOPSPEC > DEBUG COMPLETE
|
|
228
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
229
|
+
|
|
230
|
+
**Bug Resolved**
|
|
231
|
+
|
|
232
|
+
Root Cause: [Brief description]
|
|
233
|
+
Fix: [What was changed]
|
|
234
|
+
Commit: [Hash]
|
|
235
|
+
|
|
236
|
+
Debug record: .goopspec/debug/DEBUG-{id}.md
|
|
237
|
+
|
|
238
|
+
───────────────────────────────────────────────────────────────
|
|
239
|
+
|
|
240
|
+
## Lessons Learned
|
|
241
|
+
|
|
242
|
+
[Key insight from this debug session]
|
|
243
|
+
|
|
244
|
+
───────────────────────────────────────────────────────────────
|
|
245
|
+
|
|
246
|
+
**Next steps:**
|
|
247
|
+
- Continue with current work
|
|
248
|
+
- /goop-status - Check overall progress
|
|
249
|
+
- /goop-pause - Save checkpoint
|
|
250
|
+
|
|
251
|
+
───────────────────────────────────────────────────────────────
|
|
252
|
+
```
|
|
253
|
+
</process>
|
|
254
|
+
|
|
255
|
+
<methodology>
|
|
256
|
+
**Scientific Method Steps:**
|
|
257
|
+
|
|
258
|
+
1. **Observe precisely**
|
|
259
|
+
- Not "it's broken" but "counter shows 3 when clicking once, should show 1"
|
|
260
|
+
|
|
261
|
+
2. **Form falsifiable hypotheses**
|
|
262
|
+
- Must be provable wrong
|
|
263
|
+
- Make specific, testable claims
|
|
264
|
+
|
|
265
|
+
3. **Design experiments**
|
|
266
|
+
- One variable at a time
|
|
267
|
+
- Clear prediction
|
|
268
|
+
- Unambiguous outcome
|
|
269
|
+
|
|
270
|
+
4. **Run experiments**
|
|
271
|
+
- Document exact results
|
|
272
|
+
- No interpretation yet
|
|
273
|
+
|
|
274
|
+
5. **Conclude based on evidence**
|
|
275
|
+
- Update mental model
|
|
276
|
+
- Form new hypotheses if needed
|
|
277
|
+
|
|
278
|
+
**Cognitive Biases to Avoid:**
|
|
279
|
+
|
|
280
|
+
| Bias | Trap | Antidote |
|
|
281
|
+
|------|------|----------|
|
|
282
|
+
| Confirmation | Only look for supporting evidence | Actively seek disproof |
|
|
283
|
+
| Anchoring | First explanation becomes anchor | Generate 3+ hypotheses |
|
|
284
|
+
| Availability | Recent bugs -> similar cause | Treat each bug as novel |
|
|
285
|
+
| Sunk Cost | Keep going despite evidence | "If I started fresh...?" |
|
|
286
|
+
|
|
287
|
+
**When to Restart:**
|
|
288
|
+
- 2+ hours with no progress
|
|
289
|
+
- 3+ "fixes" that didn't work
|
|
290
|
+
- Can't explain current behavior
|
|
291
|
+
- Debugging the debugger
|
|
292
|
+
|
|
293
|
+
**Restart protocol:**
|
|
294
|
+
1. Close all files
|
|
295
|
+
2. Write what you know for certain
|
|
296
|
+
3. Write what you've ruled out
|
|
297
|
+
4. List new hypotheses
|
|
298
|
+
5. Begin again
|
|
299
|
+
</methodology>
|
|
300
|
+
|
|
301
|
+
<checkpoint_types>
|
|
302
|
+
**When to use checkpoints in debugging:**
|
|
303
|
+
|
|
304
|
+
**checkpoint:human-verify**
|
|
305
|
+
- After implementing fix, need user to test
|
|
306
|
+
- Can't reproduce in your environment
|
|
307
|
+
- Needs specific hardware/data
|
|
308
|
+
|
|
309
|
+
**checkpoint:decision**
|
|
310
|
+
- Multiple possible fixes, user must choose
|
|
311
|
+
- Fix has tradeoffs (performance vs simplicity)
|
|
312
|
+
- Requires architectural change
|
|
313
|
+
|
|
314
|
+
**checkpoint:human-action**
|
|
315
|
+
- Needs user to provide data/credentials
|
|
316
|
+
- Requires access to external system
|
|
317
|
+
- Needs deployment to test environment
|
|
318
|
+
</checkpoint_types>
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goop-discuss
|
|
3
|
+
description: Capture user vision before planning - the discovery conversation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GoopSpec Discuss
|
|
7
|
+
|
|
8
|
+
Capture user vision and gather requirements through structured conversation before formal planning.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/goop-discuss [brief description]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Workflow Position
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
20
|
+
│ DISCUSS │ ──▶ │ PLAN │ ──▶ │ RESEARCH │
|
|
21
|
+
│ (Vision) │ │ (Intent) │ │ (Explore) │
|
|
22
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
23
|
+
↑
|
|
24
|
+
(You are here)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The Discuss phase answers: **What does the user really want?**
|
|
28
|
+
|
|
29
|
+
## What Happens
|
|
30
|
+
|
|
31
|
+
1. **Vision Capture** - Understand the high-level goal
|
|
32
|
+
2. **Requirements Gathering** - Ask clarifying questions to understand:
|
|
33
|
+
- Functional requirements (what it should do)
|
|
34
|
+
- Non-functional requirements (performance, security, accessibility)
|
|
35
|
+
- Constraints (time, technology, compatibility)
|
|
36
|
+
- Success criteria (how to know it's done)
|
|
37
|
+
3. **Scope Definition** - Identify boundaries
|
|
38
|
+
4. **Priority Clarification** - Understand what matters most
|
|
39
|
+
5. **Memory Search** - Check for relevant past context
|
|
40
|
+
|
|
41
|
+
## Discussion Techniques
|
|
42
|
+
|
|
43
|
+
**Ask Open-Ended Questions:**
|
|
44
|
+
```
|
|
45
|
+
"Can you walk me through how a user would interact with this?"
|
|
46
|
+
"What happens if [edge case]?"
|
|
47
|
+
"Are there any existing patterns in the codebase we should follow?"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Validate Understanding:**
|
|
51
|
+
```
|
|
52
|
+
"Let me make sure I understand correctly:
|
|
53
|
+
- The feature should [summary]
|
|
54
|
+
- It needs to handle [edge cases]
|
|
55
|
+
- Success looks like [acceptance criteria]
|
|
56
|
+
|
|
57
|
+
Is that accurate?"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Challenge Assumptions:**
|
|
61
|
+
```
|
|
62
|
+
"I notice you mentioned X. Have you considered Y as an alternative?
|
|
63
|
+
It might be simpler because [reason]."
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## What to Gather
|
|
67
|
+
|
|
68
|
+
### Functional Requirements
|
|
69
|
+
- What should the feature DO?
|
|
70
|
+
- What are the inputs and outputs?
|
|
71
|
+
- What are the edge cases?
|
|
72
|
+
- What happens on errors?
|
|
73
|
+
|
|
74
|
+
### Non-Functional Requirements
|
|
75
|
+
- Performance expectations?
|
|
76
|
+
- Security considerations?
|
|
77
|
+
- Accessibility needs?
|
|
78
|
+
- Compatibility requirements?
|
|
79
|
+
|
|
80
|
+
### Context & Constraints
|
|
81
|
+
- Why is this needed? What problem does it solve?
|
|
82
|
+
- What existing code/patterns should be followed?
|
|
83
|
+
- Any technical constraints or limitations?
|
|
84
|
+
- Timeline or priority considerations?
|
|
85
|
+
|
|
86
|
+
### Acceptance Criteria
|
|
87
|
+
- How will we know it's "done"?
|
|
88
|
+
- What tests should pass?
|
|
89
|
+
- What should the user experience be?
|
|
90
|
+
|
|
91
|
+
## Artifacts Created
|
|
92
|
+
|
|
93
|
+
- Understanding of requirements (informal)
|
|
94
|
+
- Identified edge cases
|
|
95
|
+
- Agreement on acceptance criteria
|
|
96
|
+
- Technical research notes (if needed)
|
|
97
|
+
|
|
98
|
+
## Example
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
/goop-discuss Add user authentication
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Agent asks:
|
|
105
|
+
- "What authentication methods? Email/password? OAuth?"
|
|
106
|
+
- "Should sessions persist across browser closes?"
|
|
107
|
+
- "Any specific security requirements?"
|
|
108
|
+
- "How should errors be displayed?"
|
|
109
|
+
|
|
110
|
+
After discussion, agent summarizes understanding and asks for confirmation.
|
|
111
|
+
|
|
112
|
+
## Transition to Plan
|
|
113
|
+
|
|
114
|
+
When requirements are clear:
|
|
115
|
+
```
|
|
116
|
+
"I have a clear picture of what we need:
|
|
117
|
+
[Summary of requirements]
|
|
118
|
+
|
|
119
|
+
Ready to move to planning? I'll capture the formal intent
|
|
120
|
+
and requirements in the Plan phase."
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Next Steps
|
|
124
|
+
|
|
125
|
+
After discussion:
|
|
126
|
+
- `/goop-plan [description]` - Capture formal intent and requirements
|
|
127
|
+
|
|
128
|
+
## Tips
|
|
129
|
+
|
|
130
|
+
- Don't rush to planning - thorough discussion prevents rework
|
|
131
|
+
- Ask about edge cases early
|
|
132
|
+
- Validate understanding frequently
|
|
133
|
+
- Challenge assumptions respectfully
|
|
134
|
+
- Search memory for relevant past context
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
**GoopSpec**: Understand deeply, build correctly.
|