gsd-opencode 1.3.33 → 1.4.2
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 +3 -3
- package/command/gsd/add-todo.md +182 -0
- package/command/gsd/check-todos.md +217 -0
- package/command/gsd/complete-milestone.md +4 -3
- package/command/gsd/consider-issues.md +5 -5
- package/command/gsd/create-roadmap.md +4 -4
- package/command/gsd/debug.md +58 -0
- package/command/gsd/discuss-phase.md +3 -4
- 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 +8 -8
- package/command/gsd/map-codebase.md +11 -11
- package/command/gsd/new-milestone.md +1 -1
- package/command/gsd/new-project.md +26 -7
- package/command/gsd/pause-work.md +4 -3
- package/command/gsd/plan-fix.md +8 -8
- package/command/gsd/plan-phase.md +9 -9
- package/command/gsd/progress.md +20 -11
- package/command/gsd/remove-phase.md +15 -15
- package/command/gsd/research-phase.md +10 -10
- package/command/gsd/resume-work.md +4 -5
- package/command/gsd/status.md +127 -0
- package/command/gsd/verify-work.md +8 -8
- 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
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:execute-phase
|
|
3
|
+
description: Execute all plans in a phase with wave-based parallelization
|
|
4
|
+
argument-hint: "<phase-number>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- read
|
|
7
|
+
- write
|
|
8
|
+
- edit
|
|
9
|
+
- glob
|
|
10
|
+
- grep
|
|
11
|
+
- bash
|
|
12
|
+
- task
|
|
13
|
+
- todowrite
|
|
14
|
+
- question
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<objective>
|
|
18
|
+
Execute all plans in a phase using wave-based parallel execution.
|
|
19
|
+
|
|
20
|
+
Orchestrator stays lean: discover plans, analyze dependencies, group into waves, spawn subagents, collect results. Each subagent loads the full execute-plan context and handles its own plan.
|
|
21
|
+
|
|
22
|
+
Context budget: ~15% orchestrator, 100% fresh per subagent.
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@~/.config/opencode/get-shit-done/workflows/execute-phase.md
|
|
27
|
+
@~/.config/opencode/get-shit-done/templates/subagent-task-prompt.md
|
|
28
|
+
</execution_context>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
Phase: ($ARGUMENTS)
|
|
32
|
+
|
|
33
|
+
@.planning/ROADMAP.md
|
|
34
|
+
@.planning/STATE.md
|
|
35
|
+
</context>
|
|
36
|
+
|
|
37
|
+
<process>
|
|
38
|
+
1. **Validate phase exists**
|
|
39
|
+
- Find phase directory matching argument
|
|
40
|
+
- Count PLAN.md files
|
|
41
|
+
- Error if no plans found
|
|
42
|
+
|
|
43
|
+
2. **Discover plans**
|
|
44
|
+
- List all *-PLAN.md files in phase directory
|
|
45
|
+
- Check which have *-SUMMARY.md (already complete)
|
|
46
|
+
- Build list of incomplete plans
|
|
47
|
+
|
|
48
|
+
3. **Group by wave**
|
|
49
|
+
- Read `wave` from each plan's frontmatter
|
|
50
|
+
- Group plans by wave number
|
|
51
|
+
- Report wave structure to user
|
|
52
|
+
|
|
53
|
+
4. **Execute waves**
|
|
54
|
+
For each wave in order:
|
|
55
|
+
- Fill subagent-task-prompt template for each plan
|
|
56
|
+
- Spawn all agents in wave simultaneously (parallel task calls)
|
|
57
|
+
- Wait for completion (task blocks)
|
|
58
|
+
- Verify SUMMARYs created
|
|
59
|
+
- Proceed to next wave
|
|
60
|
+
|
|
61
|
+
5. **Aggregate results**
|
|
62
|
+
- Collect summaries from all plans
|
|
63
|
+
- Report phase completion status
|
|
64
|
+
- Update ROADMAP.md
|
|
65
|
+
|
|
66
|
+
6. **Offer next steps**
|
|
67
|
+
- More phases → `/gsd:plan-phase {next}`
|
|
68
|
+
- Milestone complete → `/gsd:complete-milestone`
|
|
69
|
+
</process>
|
|
70
|
+
|
|
71
|
+
<wave_execution>
|
|
72
|
+
**Parallel spawning:**
|
|
73
|
+
|
|
74
|
+
Spawn all plans in a wave with a single message containing multiple task calls:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
task(prompt=filled_template_for_plan_01, subagent_type="general")
|
|
78
|
+
task(prompt=filled_template_for_plan_02, subagent_type="general")
|
|
79
|
+
task(prompt=filled_template_for_plan_03, subagent_type="general")
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
All three run in parallel. task tool blocks until all complete.
|
|
83
|
+
|
|
84
|
+
**No polling.** No background agents.
|
|
85
|
+
</wave_execution>
|
|
86
|
+
|
|
87
|
+
<checkpoint_handling>
|
|
88
|
+
Plans with `autonomous: false` in frontmatter have checkpoints:
|
|
89
|
+
- Run in their assigned wave (can be parallel with other plans)
|
|
90
|
+
- Pause at checkpoint, return to orchestrator
|
|
91
|
+
- Orchestrator presents checkpoint to user
|
|
92
|
+
- User responds, orchestrator resumes agent
|
|
93
|
+
</checkpoint_handling>
|
|
94
|
+
|
|
95
|
+
<deviation_rules>
|
|
96
|
+
During execution, handle discoveries automatically:
|
|
97
|
+
|
|
98
|
+
1. **Auto-fix bugs** - Fix immediately, document in Summary
|
|
99
|
+
2. **Auto-add critical** - Security/correctness gaps, add and document
|
|
100
|
+
3. **Auto-fix blockers** - Can't proceed without fix, do it and document
|
|
101
|
+
4. **Ask about architectural** - Major structural changes, stop and ask user
|
|
102
|
+
5. **Log enhancements** - Nice-to-haves, log to ISSUES.md, continue
|
|
103
|
+
|
|
104
|
+
Only rule 4 requires user intervention.
|
|
105
|
+
</deviation_rules>
|
|
106
|
+
|
|
107
|
+
<commit_rules>
|
|
108
|
+
**Per-Task Commits:**
|
|
109
|
+
|
|
110
|
+
After each task completes:
|
|
111
|
+
1. Stage only files modified by that task
|
|
112
|
+
2. Commit with format: `{type}({phase}-{plan}): {task-name}`
|
|
113
|
+
3. Types: feat, fix, test, refactor, perf, chore
|
|
114
|
+
4. Record commit hash for SUMMARY.md
|
|
115
|
+
|
|
116
|
+
**Plan Metadata Commit:**
|
|
117
|
+
|
|
118
|
+
After all tasks complete:
|
|
119
|
+
1. Stage planning artifacts only: PLAN.md, SUMMARY.md, STATE.md, ROADMAP.md
|
|
120
|
+
2. Commit with format: `docs({phase}-{plan}): complete [plan-name] plan`
|
|
121
|
+
3. NO code files (already committed per-task)
|
|
122
|
+
|
|
123
|
+
**NEVER use:**
|
|
124
|
+
- `git add .`
|
|
125
|
+
- `git add -A`
|
|
126
|
+
- `git add src/` or any broad directory
|
|
127
|
+
|
|
128
|
+
**Always stage files individually.**
|
|
129
|
+
</commit_rules>
|
|
130
|
+
|
|
131
|
+
<success_criteria>
|
|
132
|
+
- [ ] All incomplete plans in phase executed
|
|
133
|
+
- [ ] Each plan has SUMMARY.md
|
|
134
|
+
- [ ] STATE.md reflects phase completion
|
|
135
|
+
- [ ] ROADMAP.md updated
|
|
136
|
+
- [ ] User informed of next steps
|
|
137
|
+
</success_criteria>
|
|
@@ -3,126 +3,101 @@ name: gsd:execute-plan
|
|
|
3
3
|
description: Execute a PLAN.md file
|
|
4
4
|
argument-hint: "[path-to-PLAN.md]"
|
|
5
5
|
allowed-tools:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- Task
|
|
6
|
+
- read
|
|
7
|
+
- glob
|
|
8
|
+
- grep
|
|
9
|
+
- bash
|
|
10
|
+
- task
|
|
11
|
+
- todowrite
|
|
13
12
|
- question
|
|
14
13
|
---
|
|
15
14
|
|
|
16
15
|
<objective>
|
|
17
|
-
Execute a PLAN.md file
|
|
16
|
+
Execute a single PLAN.md file by spawning a subagent.
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- Each task → 1 commit immediately after completion (feat/fix/test/refactor)
|
|
21
|
-
- Plan completion → 1 metadata commit (docs: SUMMARY + STATE + ROADMAP)
|
|
18
|
+
Orchestrator stays lean: validate plan, spawn subagent, handle checkpoints, report completion. Subagent loads full execute-plan workflow and handles all execution details.
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- Plans with verify checkpoints → segment execution, pause at checkpoints
|
|
26
|
-
- Plans with decision checkpoints → execute in main context
|
|
27
|
-
</objective>
|
|
20
|
+
Context budget: ~15% orchestrator, 100% fresh for subagent.
|
|
21
|
+
</objective>
|
|
28
22
|
|
|
29
23
|
<execution_context>
|
|
30
|
-
@~/.config/opencode/get-shit-done/
|
|
31
|
-
@~/.config/opencode/get-shit-done/templates/summary.md
|
|
32
|
-
@~/.config/opencode/get-shit-done/references/checkpoints.md
|
|
33
|
-
@~/.config/opencode/get-shit-done/references/tdd.md
|
|
24
|
+
@~/.config/opencode/get-shit-done/templates/subagent-task-prompt.md
|
|
34
25
|
</execution_context>
|
|
35
26
|
|
|
36
27
|
<context>
|
|
37
|
-
Plan path: $ARGUMENTS
|
|
28
|
+
Plan path: ($ARGUMENTS)
|
|
38
29
|
|
|
39
|
-
**Load project state first:**
|
|
40
30
|
@.planning/STATE.md
|
|
41
|
-
|
|
42
|
-
**Load workflow config:**
|
|
43
|
-
@.planning/config.json
|
|
31
|
+
@.planning/config.json (if exists)
|
|
44
32
|
</context>
|
|
45
33
|
|
|
46
34
|
<process>
|
|
47
|
-
1.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
35
|
+
1. **Validate plan exists**
|
|
36
|
+
- Confirm file at ($ARGUMENTS) exists
|
|
37
|
+
- Error if not found: "Plan not found: {path}"
|
|
38
|
+
|
|
39
|
+
2. **Check if already executed**
|
|
40
|
+
- Derive SUMMARY path from plan path (replace PLAN.md with SUMMARY.md)
|
|
41
|
+
- If SUMMARY exists: "Plan already executed. SUMMARY: {path}"
|
|
42
|
+
- Offer: re-execute or exit
|
|
43
|
+
|
|
44
|
+
3. **Parse plan identifiers**
|
|
45
|
+
Extract from path like `.planning/phases/03-auth/03-02-PLAN.md`:
|
|
46
|
+
- phase_number: `03`
|
|
47
|
+
- phase_name: `auth`
|
|
48
|
+
- plan_number: `02`
|
|
49
|
+
- plan_path: full path
|
|
50
|
+
|
|
51
|
+
4. **Fill and spawn subagent**
|
|
52
|
+
- Fill subagent-task-prompt template with extracted values
|
|
53
|
+
- Spawn: `task(prompt=filled_template, subagent_type="general")`
|
|
54
|
+
|
|
55
|
+
5. **Handle subagent return**
|
|
56
|
+
- If contains "## CHECKPOINT REACHED": Execute checkpoint_handling
|
|
57
|
+
- If contains "## PLAN COMPLETE": Verify SUMMARY exists, report success
|
|
58
|
+
|
|
59
|
+
6. **Report completion**
|
|
60
|
+
- Show SUMMARY path
|
|
61
|
+
- Show commits from subagent return
|
|
62
|
+
- Offer next steps
|
|
58
63
|
</process>
|
|
59
64
|
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
- Spawn subagent to execute entire plan
|
|
64
|
-
- Subagent creates SUMMARY.md and commits
|
|
65
|
-
- Main context: orchestration only (~5% usage)
|
|
66
|
-
|
|
67
|
-
**Strategy B: Segmented** (has verify-only checkpoints)
|
|
68
|
-
|
|
69
|
-
- Execute in segments between checkpoints
|
|
70
|
-
- Subagent for autonomous segments
|
|
71
|
-
- Main context for checkpoints
|
|
72
|
-
- Aggregate results → SUMMARY → commit
|
|
73
|
-
|
|
74
|
-
**Strategy C: Decision-Dependent** (has decision checkpoints)
|
|
65
|
+
<checkpoint_handling>
|
|
66
|
+
When subagent returns with checkpoint:
|
|
75
67
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
</execution_strategies>
|
|
68
|
+
**1. Parse return:**
|
|
69
|
+
```
|
|
70
|
+
## CHECKPOINT REACHED
|
|
80
71
|
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
**Type:** [human-verify | decision | human-action]
|
|
73
|
+
**Plan:** {phase}-{plan}
|
|
74
|
+
**Progress:** {completed}/{total} tasks complete
|
|
83
75
|
|
|
84
|
-
|
|
85
|
-
2. **Auto-add critical** - Security/correctness gaps, add and document
|
|
86
|
-
3. **Auto-fix blockers** - Can't proceed without fix, do it and document
|
|
87
|
-
4. **Ask about architectural** - Major structural changes, stop and ask user
|
|
88
|
-
5. **Log enhancements** - Nice-to-haves, log to ISSUES.md, continue
|
|
76
|
+
[Checkpoint content]
|
|
89
77
|
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
**Awaiting:** [Resume signal]
|
|
79
|
+
```
|
|
92
80
|
|
|
93
|
-
|
|
94
|
-
|
|
81
|
+
**2. Present to user:**
|
|
82
|
+
Display the checkpoint content exactly as returned by subagent.
|
|
95
83
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
84
|
+
**3. Collect response:**
|
|
85
|
+
Wait for user input:
|
|
86
|
+
- human-verify: "approved" or description of issues
|
|
87
|
+
- decision: option selection
|
|
88
|
+
- human-action: "done" when complete
|
|
101
89
|
|
|
102
|
-
**
|
|
90
|
+
**4. Resume subagent:**
|
|
91
|
+
```
|
|
92
|
+
task(resume="{agent_id}", prompt="User response: {user_input}")
|
|
93
|
+
```
|
|
103
94
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
3. NO code files (already committed per-task)
|
|
108
|
-
|
|
109
|
-
**NEVER use:**
|
|
110
|
-
- `git add .`
|
|
111
|
-
- `git add -A`
|
|
112
|
-
- `git add src/` or any broad directory
|
|
113
|
-
|
|
114
|
-
**Always stage files individually.**
|
|
115
|
-
|
|
116
|
-
See ~/.config/opencode/get-shit-done/references/git-integration.md for full commit strategy.
|
|
117
|
-
</commit_rules>
|
|
95
|
+
**5. Repeat:**
|
|
96
|
+
Continue handling returns until "## PLAN COMPLETE" or user stops.
|
|
97
|
+
</checkpoint_handling>
|
|
118
98
|
|
|
119
99
|
<success_criteria>
|
|
120
|
-
|
|
121
|
-
- [ ] All
|
|
122
|
-
- [ ]
|
|
123
|
-
|
|
124
|
-
- [ ] STATE.md updated (position, decisions, issues, session)
|
|
125
|
-
- [ ] ROADMAP updated (plan count, phase status)
|
|
126
|
-
- [ ] Metadata committed with docs({phase}-{plan}): complete [plan-name] plan
|
|
127
|
-
- [ ] User informed of next steps
|
|
128
|
-
</success_criteria>
|
|
100
|
+
- [ ] Plan executed (SUMMARY.md created)
|
|
101
|
+
- [ ] All checkpoints handled
|
|
102
|
+
- [ ] User informed of completion and next steps
|
|
103
|
+
</success_criteria>
|
package/command/gsd/help.md
CHANGED
|
@@ -56,7 +56,7 @@ Usage: `/gsd:create-roadmap`
|
|
|
56
56
|
**`/gsd:map-codebase`**
|
|
57
57
|
Map an existing codebase for brownfield projects.
|
|
58
58
|
|
|
59
|
-
- Analyzes codebase with parallel
|
|
59
|
+
- Analyzes codebase with parallel explore agents
|
|
60
60
|
- Creates `.planning/codebase/` with 7 focused documents
|
|
61
61
|
- Covers stack, architecture, structure, conventions, testing, integrations, concerns
|
|
62
62
|
- Use before `/gsd:new-project` on existing codebases
|
|
@@ -85,10 +85,10 @@ Comprehensive ecosystem research for niche/complex domains.
|
|
|
85
85
|
Usage: `/gsd:research-phase 3`
|
|
86
86
|
|
|
87
87
|
**`/gsd:list-phase-assumptions <number>`**
|
|
88
|
-
See what
|
|
88
|
+
See what OpenCode is planning to do before it starts.
|
|
89
89
|
|
|
90
|
-
- Shows
|
|
91
|
-
- Lets you course-correct if
|
|
90
|
+
- Shows OpenCode's intended approach for a phase
|
|
91
|
+
- Lets you course-correct if OpenCode misunderstood your vision
|
|
92
92
|
- No files created - conversational output only
|
|
93
93
|
|
|
94
94
|
Usage: `/gsd:list-phase-assumptions 3`
|
|
@@ -107,15 +107,29 @@ Result: Creates `.planning/phases/01-foundation/01-01-PLAN.md`
|
|
|
107
107
|
### Execution
|
|
108
108
|
|
|
109
109
|
**`/gsd:execute-plan <path>`**
|
|
110
|
-
Execute a PLAN.md file
|
|
110
|
+
Execute a single PLAN.md file.
|
|
111
111
|
|
|
112
112
|
- Runs plan tasks sequentially
|
|
113
113
|
- Creates SUMMARY.md after completion
|
|
114
114
|
- Updates STATE.md with accumulated context
|
|
115
|
-
-
|
|
115
|
+
- Use for interactive execution with checkpoints
|
|
116
116
|
|
|
117
117
|
Usage: `/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md`
|
|
118
118
|
|
|
119
|
+
**`/gsd:execute-phase <phase-number>`**
|
|
120
|
+
Execute all unexecuted plans in a phase with parallel agents.
|
|
121
|
+
|
|
122
|
+
- Analyzes plan dependencies and spawns independent plans concurrently
|
|
123
|
+
- Use when phase has 2+ plans and you want "walk away" execution
|
|
124
|
+
- Respects max_concurrent_agents from config.json
|
|
125
|
+
|
|
126
|
+
Usage: `/gsd:execute-phase 5`
|
|
127
|
+
|
|
128
|
+
Options (via `.planning/config.json` parallelization section):
|
|
129
|
+
- `max_concurrent_agents`: Limit parallel agents (default: 3)
|
|
130
|
+
- `skip_checkpoints`: Skip human checkpoints in background (default: true)
|
|
131
|
+
- `min_plans_for_parallel`: Minimum plans to trigger parallelization (default: 2)
|
|
132
|
+
|
|
119
133
|
### Roadmap Management
|
|
120
134
|
|
|
121
135
|
**`/gsd:add-phase <description>`**
|
|
@@ -225,6 +239,46 @@ Review deferred issues with codebase context.
|
|
|
225
239
|
|
|
226
240
|
Usage: `/gsd:consider-issues`
|
|
227
241
|
|
|
242
|
+
### Debugging
|
|
243
|
+
|
|
244
|
+
**`/gsd:debug [issue description]`**
|
|
245
|
+
Systematic debugging with persistent state across context resets.
|
|
246
|
+
|
|
247
|
+
- Gathers symptoms through adaptive questioning
|
|
248
|
+
- Creates `.planning/debug/[slug].md` to track investigation
|
|
249
|
+
- Investigates using scientific method (evidence → hypothesis → test)
|
|
250
|
+
- Survives `/clear` — run `/gsd:debug` with no args to resume
|
|
251
|
+
- Archives resolved issues to `.planning/debug/resolved/`
|
|
252
|
+
|
|
253
|
+
Usage: `/gsd:debug "login button doesn't work"`
|
|
254
|
+
Usage: `/gsd:debug` (resume active session)
|
|
255
|
+
|
|
256
|
+
### Todo Management
|
|
257
|
+
|
|
258
|
+
**`/gsd:add-todo [description]`**
|
|
259
|
+
Capture idea or task as todo from current conversation.
|
|
260
|
+
|
|
261
|
+
- Extracts context from conversation (or uses provided description)
|
|
262
|
+
- Creates structured todo file in `.planning/todos/pending/`
|
|
263
|
+
- Infers area from file paths for grouping
|
|
264
|
+
- Checks for duplicates before creating
|
|
265
|
+
- Updates STATE.md todo count
|
|
266
|
+
|
|
267
|
+
Usage: `/gsd:add-todo` (infers from conversation)
|
|
268
|
+
Usage: `/gsd:add-todo Add auth token refresh`
|
|
269
|
+
|
|
270
|
+
**`/gsd:check-todos [area]`**
|
|
271
|
+
List pending todos and select one to work on.
|
|
272
|
+
|
|
273
|
+
- Lists all pending todos with title, area, age
|
|
274
|
+
- Optional area filter (e.g., `/gsd:check-todos api`)
|
|
275
|
+
- Loads full context for selected todo
|
|
276
|
+
- Routes to appropriate action (work now, add to phase, brainstorm)
|
|
277
|
+
- Moves todo to done/ when work begins
|
|
278
|
+
|
|
279
|
+
Usage: `/gsd:check-todos`
|
|
280
|
+
Usage: `/gsd:check-todos api`
|
|
281
|
+
|
|
228
282
|
### Utility Commands
|
|
229
283
|
|
|
230
284
|
**`/gsd:help`**
|
|
@@ -239,6 +293,11 @@ Show this command reference.
|
|
|
239
293
|
├── STATE.md # Project memory & context
|
|
240
294
|
├── ISSUES.md # Deferred enhancements (created when needed)
|
|
241
295
|
├── config.json # Workflow mode & gates
|
|
296
|
+
├── todos/ # Captured ideas and tasks
|
|
297
|
+
│ ├── pending/ # Todos waiting to be worked on
|
|
298
|
+
│ └── done/ # Completed todos
|
|
299
|
+
├── debug/ # Active debug sessions
|
|
300
|
+
│ └── resolved/ # Archived resolved issues
|
|
242
301
|
├── codebase/ # Codebase map (brownfield projects)
|
|
243
302
|
│ ├── STACK.md # Languages, frameworks, dependencies
|
|
244
303
|
│ ├── ARCHITECTURE.md # Patterns, layers, data flow
|
|
@@ -306,6 +365,24 @@ Change anytime by editing `.planning/config.json`
|
|
|
306
365
|
/gsd:new-project # Start next milestone
|
|
307
366
|
```
|
|
308
367
|
|
|
368
|
+
**Capturing ideas during work:**
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
/gsd:add-todo # Capture from conversation context
|
|
372
|
+
/gsd:add-todo Fix modal z-index # Capture with explicit description
|
|
373
|
+
/gsd:check-todos # Review and work on todos
|
|
374
|
+
/gsd:check-todos api # Filter by area
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
**Debugging an issue:**
|
|
378
|
+
|
|
379
|
+
```
|
|
380
|
+
/gsd:debug "form submission fails silently" # Start debug session
|
|
381
|
+
# ... investigation happens, context fills up ...
|
|
382
|
+
/clear
|
|
383
|
+
/gsd:debug # Resume from where you left off
|
|
384
|
+
```
|
|
385
|
+
|
|
309
386
|
## Getting Help
|
|
310
387
|
|
|
311
388
|
- Read `.planning/PROJECT.md` for project vision
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd:insert-phase
|
|
3
|
-
description: Insert urgent work as decimal phase (e.g.,
|
|
3
|
+
description: Insert urgent work as decimal phase (e.g., 72.1) between existing phases
|
|
4
4
|
argument-hint: <after> <description>
|
|
5
5
|
allowed-tools:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
6
|
+
- read
|
|
7
|
+
- write
|
|
8
|
+
- bash
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
<objective>
|
|
12
12
|
Insert a decimal phase for urgent work discovered mid-milestone that must be completed between existing integer phases.
|
|
13
13
|
|
|
14
|
-
Uses decimal numbering (
|
|
14
|
+
Uses decimal numbering (72.1, 72.2, etc.) to preserve the logical sequence of planned phases while accommodating urgent insertions.
|
|
15
15
|
|
|
16
16
|
Purpose: Handle urgent work discovered during execution without renumbering entire roadmap.
|
|
17
17
|
</objective>
|
|
@@ -25,11 +25,11 @@ Purpose: Handle urgent work discovered during execution without renumbering enti
|
|
|
25
25
|
|
|
26
26
|
<step name="parse_arguments">
|
|
27
27
|
Parse the command arguments:
|
|
28
|
-
- First argument ($1)
|
|
29
|
-
- Remaining arguments ($2 $3 $4 $5 $6 $7 $8 $9 $10 $11): phase description
|
|
28
|
+
- First argument ($1): integer phase number to insert after
|
|
29
|
+
- Remaining arguments ($2 $3 $4 $5 $6 $7 $8 $9 $10 $11 #12 ...): phase description
|
|
30
30
|
|
|
31
|
-
Example: `/gsd:insert-phase
|
|
32
|
-
→ after =
|
|
31
|
+
Example: `/gsd:insert-phase 72 Fix critical auth bug`
|
|
32
|
+
→ after = 72
|
|
33
33
|
→ description = "Fix critical auth bug"
|
|
34
34
|
|
|
35
35
|
Validation:
|
|
@@ -38,7 +38,7 @@ Validation:
|
|
|
38
38
|
if [ $# -lt 2 ]; then
|
|
39
39
|
echo "ERROR: Both phase number and description required"
|
|
40
40
|
echo "Usage: /gsd:insert-phase <after> <description>"
|
|
41
|
-
echo "Example: /gsd:insert-phase
|
|
41
|
+
echo "Example: /gsd:insert-phase 72 Fix critical auth bug"
|
|
42
42
|
exit 1
|
|
43
43
|
fi
|
|
44
44
|
```
|
|
@@ -94,17 +94,17 @@ Verify that the target phase exists in the roadmap:
|
|
|
94
94
|
Find existing decimal phases after the target phase:
|
|
95
95
|
|
|
96
96
|
1. Search for all "### Phase {after_phase}.N:" headings
|
|
97
|
-
2. Extract decimal suffixes (e.g., for Phase
|
|
97
|
+
2. Extract decimal suffixes (e.g., for Phase 72: find 72.1, 72.2, 72.3)
|
|
98
98
|
3. Find the highest decimal suffix
|
|
99
99
|
4. Calculate next decimal: max + 1
|
|
100
100
|
|
|
101
101
|
Examples:
|
|
102
102
|
|
|
103
|
-
- Phase
|
|
104
|
-
- Phase
|
|
105
|
-
- Phase
|
|
103
|
+
- Phase 72 with no decimals → next is 72.1
|
|
104
|
+
- Phase 72 with 72.1 → next is 72.2
|
|
105
|
+
- Phase 72 with 72.1, 72.2 → next is 72.3
|
|
106
106
|
|
|
107
|
-
Store as: `decimal_phase="$
|
|
107
|
+
Store as: `decimal_phase="$(printf "%02d" $after_phase).${next_decimal}"`
|
|
108
108
|
</step>
|
|
109
109
|
|
|
110
110
|
<step name="generate_slug">
|
|
@@ -115,7 +115,7 @@ slug=$(echo "$description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g'
|
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
Phase directory name: `{decimal-phase}-{slug}`
|
|
118
|
-
Example: `
|
|
118
|
+
Example: `06.1-fix-critical-auth-bug` (phase 6 insertion)
|
|
119
119
|
</step>
|
|
120
120
|
|
|
121
121
|
<step name="create_phase_directory">
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd:list-phase-assumptions
|
|
3
|
-
description: Surface
|
|
3
|
+
description: Surface OpenCode's assumptions about a phase approach before planning
|
|
4
4
|
argument-hint: "[phase]"
|
|
5
5
|
allowed-tools:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
6
|
+
- read
|
|
7
|
+
- bash
|
|
8
|
+
- grep
|
|
9
|
+
- glob
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<objective>
|
|
13
|
-
Analyze a phase and present
|
|
13
|
+
Analyze a phase and present OpenCode's assumptions about technical approach, implementation order, scope boundaries, risk areas, and dependencies.
|
|
14
14
|
|
|
15
|
-
Purpose: Help users see what
|
|
15
|
+
Purpose: Help users see what OpenCode thinks BEFORE planning begins - enabling course correction early when assumptions are wrong.
|
|
16
16
|
Output: Conversational output only (no file creation) - ends with "What do you think?" prompt
|
|
17
17
|
</objective>
|
|
18
18
|
|
|
@@ -21,7 +21,7 @@ Output: Conversational output only (no file creation) - ends with "What do you t
|
|
|
21
21
|
</execution_context>
|
|
22
22
|
|
|
23
23
|
<context>
|
|
24
|
-
Phase number: $ARGUMENTS (required)
|
|
24
|
+
Phase number: ($ARGUMENTS) (required)
|
|
25
25
|
|
|
26
26
|
**Load project state first:**
|
|
27
27
|
@.planning/STATE.md
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd:map-codebase
|
|
3
|
-
description: Analyze codebase with parallel
|
|
3
|
+
description: Analyze codebase with parallel explore agents to produce .planning/codebase/ documents
|
|
4
4
|
argument-hint: "[optional: specific area to map, e.g., 'api' or 'auth']"
|
|
5
5
|
allowed-tools:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
6
|
+
- read
|
|
7
|
+
- bash
|
|
8
|
+
- glob
|
|
9
|
+
- grep
|
|
10
|
+
- write
|
|
11
|
+
- task
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<objective>
|
|
15
|
-
Analyze existing codebase using parallel
|
|
15
|
+
Analyze existing codebase using parallel explore agents to produce structured codebase documents.
|
|
16
16
|
|
|
17
|
-
This command spawns multiple
|
|
17
|
+
This command spawns multiple explore agents to analyze different aspects of the codebase in parallel, each with fresh context.
|
|
18
18
|
|
|
19
19
|
Output: .planning/codebase/ folder with 7 structured documents about the codebase state.
|
|
20
20
|
</objective>
|
|
@@ -31,7 +31,7 @@ Output: .planning/codebase/ folder with 7 structured documents about the codebas
|
|
|
31
31
|
</execution_context>
|
|
32
32
|
|
|
33
33
|
<context>
|
|
34
|
-
Focus area: $ARGUMENTS (optional - if provided, tells agents to focus on specific subsystem)
|
|
34
|
+
Focus area: ($ARGUMENTS) (optional - if provided, tells agents to focus on specific subsystem)
|
|
35
35
|
|
|
36
36
|
**Load project state if exists:**
|
|
37
37
|
Check for .planning/STATE.md - loads context if project already initialized
|
|
@@ -58,7 +58,7 @@ Check for .planning/STATE.md - loads context if project already initialized
|
|
|
58
58
|
<process>
|
|
59
59
|
1. Check if .planning/codebase/ already exists (offer to refresh or skip)
|
|
60
60
|
2. Create .planning/codebase/ directory structure
|
|
61
|
-
3. Spawn 4 parallel
|
|
61
|
+
3. Spawn 4 parallel explore agents to analyze codebase:
|
|
62
62
|
- Agent 1: Stack + Integrations (technology focus)
|
|
63
63
|
- Agent 2: Architecture + Structure (organization focus)
|
|
64
64
|
- Agent 3: Conventions + Testing (quality focus)
|
|
@@ -17,7 +17,7 @@ Output: New milestone in ROADMAP.md, updated STATE.md, phase directories created
|
|
|
17
17
|
</execution_context>
|
|
18
18
|
|
|
19
19
|
<context>
|
|
20
|
-
Milestone name: $ARGUMENTS (optional - will prompt if not provided)
|
|
20
|
+
Milestone name: ($ARGUMENTS) (optional - will prompt if not provided)
|
|
21
21
|
|
|
22
22
|
**Load project state first:**
|
|
23
23
|
@.planning/STATE.md
|