gsd-opencode 1.3.32 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/command/gsd/add-phase.md +4 -4
- package/command/gsd/add-todo.md +182 -0
- package/command/gsd/check-todos.md +217 -0
- package/command/gsd/complete-milestone.md +6 -5
- package/command/gsd/consider-issues.md +5 -5
- package/command/gsd/create-roadmap.md +7 -7
- package/command/gsd/debug.md +58 -0
- package/command/gsd/discuss-milestone.md +1 -1
- package/command/gsd/discuss-phase.md +5 -6
- package/command/gsd/execute-phase.md +137 -0
- package/command/gsd/execute-plan.md +70 -95
- package/command/gsd/help.md +83 -6
- package/command/gsd/insert-phase.md +16 -16
- package/command/gsd/list-phase-assumptions.md +9 -9
- package/command/gsd/map-codebase.md +19 -19
- package/command/gsd/new-milestone.md +3 -3
- package/command/gsd/new-project.md +31 -12
- package/command/gsd/pause-work.md +4 -3
- package/command/gsd/plan-fix.md +11 -11
- package/command/gsd/plan-phase.md +15 -15
- package/command/gsd/progress.md +20 -11
- package/command/gsd/remove-phase.md +15 -15
- package/command/gsd/research-phase.md +13 -13
- package/command/gsd/resume-work.md +6 -7
- package/command/gsd/status.md +127 -0
- package/command/gsd/verify-work.md +10 -10
- package/get-shit-done/references/continuation-format.md +8 -8
- package/get-shit-done/references/debugging/debugging-mindset.md +253 -0
- package/get-shit-done/references/debugging/hypothesis-testing.md +373 -0
- package/get-shit-done/references/debugging/investigation-techniques.md +337 -0
- package/get-shit-done/references/debugging/verification-patterns.md +425 -0
- package/get-shit-done/references/debugging/when-to-research.md +361 -0
- package/get-shit-done/references/plan-format.md +68 -21
- package/get-shit-done/references/questioning.md +12 -12
- package/get-shit-done/references/research-pitfalls.md +2 -2
- package/get-shit-done/references/scope-estimation.md +95 -11
- package/get-shit-done/templates/DEBUG.md +159 -0
- package/get-shit-done/templates/agent-history.md +263 -0
- package/get-shit-done/templates/checkpoint-return.md +204 -0
- package/get-shit-done/templates/codebase/architecture.md +4 -4
- package/get-shit-done/templates/codebase/concerns.md +1 -1
- package/get-shit-done/templates/codebase/structure.md +11 -11
- package/get-shit-done/templates/config.json +8 -0
- package/get-shit-done/templates/context.md +0 -21
- package/get-shit-done/templates/continuation-prompt.md +235 -0
- package/get-shit-done/templates/milestone-archive.md +1 -1
- package/get-shit-done/templates/phase-prompt.md +289 -129
- package/get-shit-done/templates/roadmap.md +1 -1
- package/get-shit-done/templates/state.md +11 -0
- package/get-shit-done/templates/subagent-task-prompt.md +95 -0
- package/get-shit-done/templates/summary.md +2 -2
- package/get-shit-done/workflows/_archive/execute-phase.md +899 -0
- package/get-shit-done/workflows/complete-milestone.md +1 -1
- package/get-shit-done/workflows/create-milestone.md +1 -1
- package/get-shit-done/workflows/create-roadmap.md +2 -2
- package/get-shit-done/workflows/debug.md +426 -0
- package/get-shit-done/workflows/discovery-phase.md +1 -1
- package/get-shit-done/workflows/discuss-milestone.md +6 -6
- package/get-shit-done/workflows/discuss-phase.md +12 -22
- package/get-shit-done/workflows/execute-phase.md +272 -1504
- package/get-shit-done/workflows/execute-plan.md +1813 -0
- package/get-shit-done/workflows/map-codebase.md +9 -9
- package/get-shit-done/workflows/plan-phase.md +262 -49
- package/get-shit-done/workflows/resume-project.md +28 -2
- package/get-shit-done/workflows/transition.md +4 -4
- package/get-shit-done/workflows/verify-work.md +4 -4
- package/package.json +1 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Lex Christopherson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/command/gsd/add-phase.md
CHANGED
|
@@ -3,9 +3,9 @@ name: gsd:add-phase
|
|
|
3
3
|
description: Add phase to end of current milestone in roadmap
|
|
4
4
|
argument-hint: <description>
|
|
5
5
|
allowed-tools:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
6
|
+
- read
|
|
7
|
+
- write
|
|
8
|
+
- bash
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
<objective>
|
|
@@ -25,7 +25,7 @@ Purpose: Add planned work discovered during execution that belongs at the end of
|
|
|
25
25
|
|
|
26
26
|
<step name="parse_arguments">
|
|
27
27
|
Parse the command arguments:
|
|
28
|
-
- All arguments become the phase description
|
|
28
|
+
- All arguments ($ARGUMENTS) become the phase description
|
|
29
29
|
- Example: `/gsd:add-phase Add authentication` → description = "Add authentication"
|
|
30
30
|
- Example: `/gsd:add-phase Fix critical performance issues` → description = "Fix critical performance issues"
|
|
31
31
|
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:add-todo
|
|
3
|
+
description: Capture idea or task as todo from current conversation context
|
|
4
|
+
argument-hint: [optional description]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read
|
|
7
|
+
- write
|
|
8
|
+
- bash
|
|
9
|
+
- glob
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Capture an idea, task, or issue that surfaces during a GSD session as a structured todo for later work.
|
|
14
|
+
|
|
15
|
+
Enables "thought → capture → continue" flow without losing context or derailing current work.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
@.planning/STATE.md
|
|
20
|
+
</context>
|
|
21
|
+
|
|
22
|
+
<process>
|
|
23
|
+
|
|
24
|
+
<step name="ensure_directory">
|
|
25
|
+
```bash
|
|
26
|
+
mkdir -p .planning/todos/pending .planning/todos/done
|
|
27
|
+
```
|
|
28
|
+
</step>
|
|
29
|
+
|
|
30
|
+
<step name="check_existing_areas">
|
|
31
|
+
```bash
|
|
32
|
+
ls .planning/todos/pending/*.md 2>/dev/null | xargs -I {} grep "^area:" {} 2>/dev/null | cut -d' ' -f2 | sort -u
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Note existing areas for consistency in infer_area step.
|
|
36
|
+
</step>
|
|
37
|
+
|
|
38
|
+
<step name="extract_content">
|
|
39
|
+
**With arguments:** Use ($ARGUMENTS) as the title/focus.
|
|
40
|
+
- `/gsd:add-todo Add auth token refresh` → title = "Add auth token refresh"
|
|
41
|
+
|
|
42
|
+
**Without arguments:** Analyze recent conversation to extract:
|
|
43
|
+
- The specific problem, idea, or task discussed
|
|
44
|
+
- Relevant file paths mentioned
|
|
45
|
+
- Technical details (error messages, line numbers, constraints)
|
|
46
|
+
|
|
47
|
+
Formulate:
|
|
48
|
+
- `title`: 3-10 word descriptive title (action verb preferred)
|
|
49
|
+
- `problem`: What's wrong or why this is needed
|
|
50
|
+
- `solution`: Approach hints or "TBD" if just an idea
|
|
51
|
+
- `files`: Relevant paths with line numbers from conversation
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
<step name="infer_area">
|
|
55
|
+
Infer area from file paths:
|
|
56
|
+
|
|
57
|
+
| Path pattern | Area |
|
|
58
|
+
|--------------|------|
|
|
59
|
+
| `src/api/*`, `api/*` | `api` |
|
|
60
|
+
| `src/components/*`, `src/ui/*` | `ui` |
|
|
61
|
+
| `src/auth/*`, `auth/*` | `auth` |
|
|
62
|
+
| `src/db/*`, `database/*` | `database` |
|
|
63
|
+
| `tests/*`, `__tests__/*` | `testing` |
|
|
64
|
+
| `docs/*` | `docs` |
|
|
65
|
+
| `.planning/*` | `planning` |
|
|
66
|
+
| `scripts/*`, `bin/*` | `tooling` |
|
|
67
|
+
| No files or unclear | `general` |
|
|
68
|
+
|
|
69
|
+
Use existing area from step 2 if similar match exists.
|
|
70
|
+
</step>
|
|
71
|
+
|
|
72
|
+
<step name="check_duplicates">
|
|
73
|
+
```bash
|
|
74
|
+
grep -l -i "[key words from title]" .planning/todos/pending/*.md 2>/dev/null
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
If potential duplicate found:
|
|
78
|
+
1. Read the existing todo
|
|
79
|
+
2. Compare scope
|
|
80
|
+
|
|
81
|
+
If overlapping, use question:
|
|
82
|
+
- header: "Duplicate?"
|
|
83
|
+
- question: "Similar todo exists: [title]. What would you like to do?"
|
|
84
|
+
- options:
|
|
85
|
+
- "Skip" — keep existing todo
|
|
86
|
+
- "Replace" — update existing with new context
|
|
87
|
+
- "Add anyway" — create as separate todo
|
|
88
|
+
</step>
|
|
89
|
+
|
|
90
|
+
<step name="create_file">
|
|
91
|
+
```bash
|
|
92
|
+
timestamp=$(date "+%Y-%m-%dT%H:%M")
|
|
93
|
+
date_prefix=$(date "+%Y-%m-%d")
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Generate slug from title (lowercase, hyphens, no special chars).
|
|
97
|
+
|
|
98
|
+
Write to `.planning/todos/pending/${date_prefix}-${slug}.md`:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
---
|
|
102
|
+
created: [timestamp]
|
|
103
|
+
title: [title]
|
|
104
|
+
area: [area]
|
|
105
|
+
files:
|
|
106
|
+
- [file:lines]
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Problem
|
|
110
|
+
|
|
111
|
+
[problem description - enough context for future Claude to understand weeks later]
|
|
112
|
+
|
|
113
|
+
## Solution
|
|
114
|
+
|
|
115
|
+
[approach hints or "TBD"]
|
|
116
|
+
```
|
|
117
|
+
</step>
|
|
118
|
+
|
|
119
|
+
<step name="update_state">
|
|
120
|
+
If `.planning/STATE.md` exists:
|
|
121
|
+
|
|
122
|
+
1. Count todos: `ls .planning/todos/pending/*.md 2>/dev/null | wc -l`
|
|
123
|
+
2. Update "### Pending Todos" under "## Accumulated Context"
|
|
124
|
+
</step>
|
|
125
|
+
|
|
126
|
+
<step name="git_commit">
|
|
127
|
+
Commit the todo and any updated state:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
git add .planning/todos/pending/[filename]
|
|
131
|
+
[ -f .planning/STATE.md ] && git add .planning/STATE.md
|
|
132
|
+
git commit -m "$(cat <<'EOF'
|
|
133
|
+
docs: capture todo - [title]
|
|
134
|
+
|
|
135
|
+
Area: [area]
|
|
136
|
+
EOF
|
|
137
|
+
)"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Confirm: "Committed: docs: capture todo - [title]"
|
|
141
|
+
</step>
|
|
142
|
+
|
|
143
|
+
<step name="confirm">
|
|
144
|
+
```
|
|
145
|
+
Todo saved: .planning/todos/pending/[filename]
|
|
146
|
+
|
|
147
|
+
[title]
|
|
148
|
+
Area: [area]
|
|
149
|
+
Files: [count] referenced
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
Would you like to:
|
|
154
|
+
|
|
155
|
+
1. Continue with current work
|
|
156
|
+
2. Add another todo
|
|
157
|
+
3. View all todos (/gsd:check-todos)
|
|
158
|
+
```
|
|
159
|
+
</step>
|
|
160
|
+
|
|
161
|
+
</process>
|
|
162
|
+
|
|
163
|
+
<output>
|
|
164
|
+
- `.planning/todos/pending/[date]-[slug].md`
|
|
165
|
+
- Updated `.planning/STATE.md` (if exists)
|
|
166
|
+
</output>
|
|
167
|
+
|
|
168
|
+
<anti_patterns>
|
|
169
|
+
- Don't create todos for work in current plan (that's deviation rule territory)
|
|
170
|
+
- Don't create elaborate solution sections — captures ideas, not plans
|
|
171
|
+
- Don't block on missing information — "TBD" is fine
|
|
172
|
+
</anti_patterns>
|
|
173
|
+
|
|
174
|
+
<success_criteria>
|
|
175
|
+
- [ ] Directory structure exists
|
|
176
|
+
- [ ] Todo file created with valid frontmatter
|
|
177
|
+
- [ ] Problem section has enough context for future Claude
|
|
178
|
+
- [ ] No duplicates (checked and resolved)
|
|
179
|
+
- [ ] Area consistent with existing todos
|
|
180
|
+
- [ ] STATE.md updated if exists
|
|
181
|
+
- [ ] Todo and state committed to git
|
|
182
|
+
</success_criteria>
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:check-todos
|
|
3
|
+
description: List pending todos and select one to work on
|
|
4
|
+
argument-hint: [area filter]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read
|
|
7
|
+
- write
|
|
8
|
+
- bash
|
|
9
|
+
- glob
|
|
10
|
+
- question
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
|
|
15
|
+
|
|
16
|
+
Enables reviewing captured ideas and deciding what to work on next.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<context>
|
|
20
|
+
@.planning/STATE.md
|
|
21
|
+
@.planning/ROADMAP.md
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<process>
|
|
25
|
+
|
|
26
|
+
<step name="check_exist">
|
|
27
|
+
```bash
|
|
28
|
+
TODO_COUNT=$(ls .planning/todos/pending/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
29
|
+
echo "Pending todos: $TODO_COUNT"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If count is 0:
|
|
33
|
+
```
|
|
34
|
+
No pending todos.
|
|
35
|
+
|
|
36
|
+
Todos are captured during work sessions with /gsd:add-todo.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
Would you like to:
|
|
41
|
+
|
|
42
|
+
1. Continue with current phase (/gsd:progress)
|
|
43
|
+
2. Add a todo now (/gsd:add-todo)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Exit.
|
|
47
|
+
</step>
|
|
48
|
+
|
|
49
|
+
<step name="parse_filter">
|
|
50
|
+
Check for area filter in arguments:
|
|
51
|
+
- `/gsd:check-todos` → show all
|
|
52
|
+
- `/gsd:check-todos api` → filter to area:api only
|
|
53
|
+
</step>
|
|
54
|
+
|
|
55
|
+
<step name="list_todos">
|
|
56
|
+
```bash
|
|
57
|
+
for file in .planning/todos/pending/*.md; do
|
|
58
|
+
created=$(grep "^created:" "$file" | cut -d' ' -f2)
|
|
59
|
+
title=$(grep "^title:" "$file" | cut -d':' -f2- | xargs)
|
|
60
|
+
area=$(grep "^area:" "$file" | cut -d' ' -f2)
|
|
61
|
+
echo "$created|$title|$area|$file"
|
|
62
|
+
done | sort
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Apply area filter if specified. Display as numbered list:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
Pending Todos:
|
|
69
|
+
|
|
70
|
+
1. Add auth token refresh (api, 2d ago)
|
|
71
|
+
2. Fix modal z-index issue (ui, 1d ago)
|
|
72
|
+
3. Refactor database connection pool (database, 5h ago)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
Reply with a number to view details, or:
|
|
77
|
+
- `/gsd:check-todos [area]` to filter by area
|
|
78
|
+
- `q` to exit
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Format age as relative time.
|
|
82
|
+
</step>
|
|
83
|
+
|
|
84
|
+
<step name="handle_selection">
|
|
85
|
+
Wait for user to reply with a number.
|
|
86
|
+
|
|
87
|
+
If valid: load selected todo, proceed.
|
|
88
|
+
If invalid: "Invalid selection. Reply with a number (1-[N]) or `q` to exit."
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="load_context">
|
|
92
|
+
Read the todo file completely. Display:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
## [title]
|
|
96
|
+
|
|
97
|
+
**Area:** [area]
|
|
98
|
+
**Created:** [date] ([relative time] ago)
|
|
99
|
+
**Files:** [list or "None"]
|
|
100
|
+
|
|
101
|
+
### Problem
|
|
102
|
+
[problem section content]
|
|
103
|
+
|
|
104
|
+
### Solution
|
|
105
|
+
[solution section content]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If `files` field has entries, read and briefly summarize each.
|
|
109
|
+
</step>
|
|
110
|
+
|
|
111
|
+
<step name="check_roadmap">
|
|
112
|
+
```bash
|
|
113
|
+
ls .planning/ROADMAP.md 2>/dev/null && echo "Roadmap exists"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If roadmap exists:
|
|
117
|
+
1. Check if todo's area matches an upcoming phase
|
|
118
|
+
2. Check if todo's files overlap with a phase's scope
|
|
119
|
+
3. Note any match for action options
|
|
120
|
+
</step>
|
|
121
|
+
|
|
122
|
+
<step name="offer_actions">
|
|
123
|
+
**If todo maps to a roadmap phase:**
|
|
124
|
+
|
|
125
|
+
Use question:
|
|
126
|
+
- header: "Action"
|
|
127
|
+
- question: "This todo relates to Phase [N]: [name]. What would you like to do?"
|
|
128
|
+
- options:
|
|
129
|
+
- "Work on it now" — move to done, start working
|
|
130
|
+
- "Add to phase plan" — include when planning Phase [N]
|
|
131
|
+
- "Brainstorm approach" — think through before deciding
|
|
132
|
+
- "Put it back" — return to list
|
|
133
|
+
|
|
134
|
+
**If no roadmap match:**
|
|
135
|
+
|
|
136
|
+
Use question:
|
|
137
|
+
- header: "Action"
|
|
138
|
+
- question: "What would you like to do with this todo?"
|
|
139
|
+
- options:
|
|
140
|
+
- "Work on it now" — move to done, start working
|
|
141
|
+
- "Create a phase" — /gsd:add-phase with this scope
|
|
142
|
+
- "Brainstorm approach" — think through before deciding
|
|
143
|
+
- "Put it back" — return to list
|
|
144
|
+
</step>
|
|
145
|
+
|
|
146
|
+
<step name="execute_action">
|
|
147
|
+
**Work on it now:**
|
|
148
|
+
```bash
|
|
149
|
+
mv ".planning/todos/pending/[filename]" ".planning/todos/done/"
|
|
150
|
+
```
|
|
151
|
+
Update STATE.md todo count. Present problem/solution context. Begin work or ask how to proceed.
|
|
152
|
+
|
|
153
|
+
**Add to phase plan:**
|
|
154
|
+
Note todo reference in phase planning notes. Keep in pending. Return to list or exit.
|
|
155
|
+
|
|
156
|
+
**Create a phase:**
|
|
157
|
+
Display: `/gsd:add-phase [description from todo]`
|
|
158
|
+
Keep in pending. User runs command in fresh context.
|
|
159
|
+
|
|
160
|
+
**Brainstorm approach:**
|
|
161
|
+
Keep in pending. Start discussion about problem and approaches.
|
|
162
|
+
|
|
163
|
+
**Put it back:**
|
|
164
|
+
Return to list_todos step.
|
|
165
|
+
</step>
|
|
166
|
+
|
|
167
|
+
<step name="update_state">
|
|
168
|
+
After any action that changes todo count:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
ls .planning/todos/pending/*.md 2>/dev/null | wc -l
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Update STATE.md "### Pending Todos" section if exists.
|
|
175
|
+
</step>
|
|
176
|
+
|
|
177
|
+
<step name="git_commit">
|
|
178
|
+
If todo was moved to done/, commit the change:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
git add .planning/todos/done/[filename]
|
|
182
|
+
git rm --cached .planning/todos/pending/[filename] 2>/dev/null || true
|
|
183
|
+
[ -f .planning/STATE.md ] && git add .planning/STATE.md
|
|
184
|
+
git commit -m "$(cat <<'EOF'
|
|
185
|
+
docs: start work on todo - [title]
|
|
186
|
+
|
|
187
|
+
Moved to done/, beginning implementation.
|
|
188
|
+
EOF
|
|
189
|
+
)"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Confirm: "Committed: docs: start work on todo - [title]"
|
|
193
|
+
</step>
|
|
194
|
+
|
|
195
|
+
</process>
|
|
196
|
+
|
|
197
|
+
<output>
|
|
198
|
+
- Moved todo to `.planning/todos/done/` (if "Work on it now")
|
|
199
|
+
- Updated `.planning/STATE.md` (if todo count changed)
|
|
200
|
+
</output>
|
|
201
|
+
|
|
202
|
+
<anti_patterns>
|
|
203
|
+
- Don't delete todos — move to done/ when work begins
|
|
204
|
+
- Don't start work without moving to done/ first
|
|
205
|
+
- Don't create plans from this command — route to /gsd:plan-phase or /gsd:add-phase
|
|
206
|
+
</anti_patterns>
|
|
207
|
+
|
|
208
|
+
<success_criteria>
|
|
209
|
+
- [ ] All pending todos listed with title, area, age
|
|
210
|
+
- [ ] Area filter applied if specified
|
|
211
|
+
- [ ] Selected todo's full context loaded
|
|
212
|
+
- [ ] Roadmap context checked for phase match
|
|
213
|
+
- [ ] Appropriate actions offered
|
|
214
|
+
- [ ] Selected action executed
|
|
215
|
+
- [ ] STATE.md updated if todo count changed
|
|
216
|
+
- [ ] Changes committed to git (if todo moved to done/)
|
|
217
|
+
</success_criteria>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: prompt
|
|
2
3
|
name: gsd:complete-milestone
|
|
3
4
|
description: Archive completed milestone and prepare for next version
|
|
4
5
|
argument-hint: <version>
|
|
5
6
|
allowed-tools:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- read
|
|
8
|
+
- write
|
|
9
|
+
- bash
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
<objective>
|
|
@@ -18,8 +19,8 @@ Output: Milestone archived, roadmap reorganized, git tagged.
|
|
|
18
19
|
<execution_context>
|
|
19
20
|
**Load these files NOW (before proceeding):**
|
|
20
21
|
|
|
21
|
-
- @~/.config/opencode/
|
|
22
|
-
- @~/.config/opencode/
|
|
22
|
+
- @~/.config/opencode/gsd-opencode/workflows/complete-milestone.md (main workflow)
|
|
23
|
+
- @~/.config/opencode/gsd-opencode/templates/milestone-archive.md (archive template)
|
|
23
24
|
</execution_context>
|
|
24
25
|
|
|
25
26
|
<context>
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: gsd:consider-issues
|
|
3
3
|
description: Review deferred issues with codebase context, close resolved ones, identify urgent ones
|
|
4
4
|
allowed-tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
5
|
+
- read
|
|
6
|
+
- bash
|
|
7
|
+
- grep
|
|
8
|
+
- glob
|
|
9
|
+
- edit
|
|
10
10
|
- question
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: gsd:create-roadmap
|
|
3
3
|
description: Create roadmap with phases for the project
|
|
4
4
|
allowed-tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- read
|
|
6
|
+
- write
|
|
7
|
+
- bash
|
|
8
8
|
- question
|
|
9
|
-
-
|
|
9
|
+
- glob
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<objective>
|
|
@@ -16,9 +16,9 @@ Roadmaps define what work happens in what order. Run after /gsd:new-project.
|
|
|
16
16
|
</objective>
|
|
17
17
|
|
|
18
18
|
<execution_context>
|
|
19
|
-
@~/.config/opencode/
|
|
20
|
-
@~/.config/opencode/
|
|
21
|
-
@~/.config/opencode/
|
|
19
|
+
@~/.config/opencode/gsd-opencode/workflows/create-roadmap.md
|
|
20
|
+
@~/.config/opencode/gsd-opencode/templates/roadmap.md
|
|
21
|
+
@~/.config/opencode/gsd-opencode/templates/state.md
|
|
22
22
|
</execution_context>
|
|
23
23
|
|
|
24
24
|
<context>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:debug
|
|
3
|
+
description: Systematic debugging with persistent state across context resets
|
|
4
|
+
argument-hint: [issue description]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read
|
|
7
|
+
- write
|
|
8
|
+
- edit
|
|
9
|
+
- bash
|
|
10
|
+
- grep
|
|
11
|
+
- glob
|
|
12
|
+
- question
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Debug issues using scientific method with a persistent debug document that survives `/clear`.
|
|
17
|
+
|
|
18
|
+
If resuming (no arguments and active session exists): pick up where you left off.
|
|
19
|
+
If starting new: gather symptoms, then investigate autonomously.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<execution_context>
|
|
23
|
+
@~/.config/opencode/gsd-opencode/workflows/debug.md
|
|
24
|
+
@~/.config/opencode/gsd-opencode/templates/DEBUG.md
|
|
25
|
+
</execution_context>
|
|
26
|
+
|
|
27
|
+
<context>
|
|
28
|
+
User's issue: ($ARGUMENTS)
|
|
29
|
+
|
|
30
|
+
Check for active debug sessions:
|
|
31
|
+
```bash
|
|
32
|
+
ls .planning/debug/*.md 2>/dev/null | head -5
|
|
33
|
+
```
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<process>
|
|
37
|
+
Follow the workflow in @~/.config/opencode/gsd-opencode/workflows/debug.md
|
|
38
|
+
|
|
39
|
+
**Quick reference:**
|
|
40
|
+
|
|
41
|
+
1. **Check for active sessions** - Offer to resume or start new
|
|
42
|
+
2. **Gather symptoms** - What happened? What should happen? Errors? When?
|
|
43
|
+
3. **Create DEBUG.md** - Document symptoms in `.planning/debug/[slug].md`
|
|
44
|
+
4. **Investigate** - Evidence → Hypothesis → Test → Eliminate or Confirm
|
|
45
|
+
5. **Fix and verify** - Minimal fix, verify against original symptoms
|
|
46
|
+
6. **Archive** - Move to `.planning/debug/resolved/`
|
|
47
|
+
|
|
48
|
+
**Key principle:** The DEBUG.md is your memory. Update it constantly. It survives `/clear`.
|
|
49
|
+
</process>
|
|
50
|
+
|
|
51
|
+
<success_criteria>
|
|
52
|
+
- [ ] Active sessions checked before starting new
|
|
53
|
+
- [ ] Symptoms gathered through question (not inline questions)
|
|
54
|
+
- [ ] DEBUG.md tracks all investigation state
|
|
55
|
+
- [ ] Scientific method followed (not random fixes)
|
|
56
|
+
- [ ] Root cause confirmed with evidence before fixing
|
|
57
|
+
- [ ] Fix verified and session archived
|
|
58
|
+
</success_criteria>
|
|
@@ -11,7 +11,7 @@ Output: Context gathered, then routes to /gsd:new-milestone
|
|
|
11
11
|
</objective>
|
|
12
12
|
|
|
13
13
|
<execution_context>
|
|
14
|
-
@~/.config/opencode/
|
|
14
|
+
@~/.config/opencode/gsd-opencode/workflows/discuss-milestone.md
|
|
15
15
|
</execution_context>
|
|
16
16
|
|
|
17
17
|
<context>
|
|
@@ -7,18 +7,18 @@ argument-hint: "[phase]"
|
|
|
7
7
|
<objective>
|
|
8
8
|
Help the user articulate their vision for a phase through collaborative thinking.
|
|
9
9
|
|
|
10
|
-
Purpose: Understand HOW the user imagines this phase working — what it looks like, what's essential
|
|
10
|
+
Purpose: Understand HOW the user imagines this phase working — what it looks like, what's essential. You're a thinking partner helping them crystallize their vision, not an interviewer gathering technical requirements.
|
|
11
11
|
|
|
12
12
|
Output: {phase}-CONTEXT.md capturing the user's vision for the phase
|
|
13
13
|
</objective>
|
|
14
14
|
|
|
15
15
|
<execution_context>
|
|
16
|
-
@~/.config/opencode/
|
|
17
|
-
@~/.config/opencode/
|
|
16
|
+
@~/.config/opencode/gsd-opencode/workflows/discuss-phase.md
|
|
17
|
+
@~/.config/opencode/gsd-opencode/templates/context.md
|
|
18
18
|
</execution_context>
|
|
19
19
|
|
|
20
20
|
<context>
|
|
21
|
-
Phase number: $ARGUMENTS (required)
|
|
21
|
+
Phase number: ($ARGUMENTS) (required)
|
|
22
22
|
|
|
23
23
|
**Load project state first:**
|
|
24
24
|
@.planning/STATE.md
|
|
@@ -36,7 +36,6 @@ Phase number: $ARGUMENTS (required)
|
|
|
36
36
|
- Use question: "How do you imagine this working?" with interpretation options
|
|
37
37
|
- Use question to follow their thread — probe what excites them
|
|
38
38
|
- Use question to sharpen the core — what's essential for THIS phase
|
|
39
|
-
- Use question to find boundaries — what's explicitly out of scope
|
|
40
39
|
- Use question for decision gate (ready / ask more / let me add context)
|
|
41
40
|
- Create CONTEXT.md capturing their vision
|
|
42
41
|
5. Offer next steps (research or plan the phase)
|
|
@@ -55,6 +54,6 @@ User is the visionary, you are the builder:
|
|
|
55
54
|
|
|
56
55
|
- Phase validated against roadmap
|
|
57
56
|
- Vision gathered through collaborative thinking (not interrogation)
|
|
58
|
-
- CONTEXT.md captures: how it works, what's essential
|
|
57
|
+
- CONTEXT.md captures: how it works, what's essential
|
|
59
58
|
- User knows next steps (research or plan the phase)
|
|
60
59
|
</success_criteria>
|