gsd-opencode 1.10.2 → 1.20.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.
Files changed (164) hide show
  1. package/agents/gsd-codebase-mapper.md +29 -3
  2. package/agents/gsd-debugger.md +19 -21
  3. package/agents/gsd-executor.md +213 -528
  4. package/agents/gsd-integration-checker.md +20 -0
  5. package/agents/gsd-phase-researcher.md +189 -267
  6. package/agents/gsd-plan-checker.md +278 -279
  7. package/agents/gsd-planner.md +299 -490
  8. package/agents/gsd-project-researcher.md +103 -345
  9. package/agents/gsd-research-synthesizer.md +5 -22
  10. package/agents/gsd-roadmapper.md +43 -6
  11. package/agents/gsd-verifier.md +158 -377
  12. package/{lib → bin/dm/lib}/constants.js +10 -3
  13. package/{src → bin/dm/src}/commands/install.js +5 -4
  14. package/{src → bin/dm/src}/commands/uninstall.js +3 -1
  15. package/{src → bin/dm/src}/services/backup-manager.js +1 -1
  16. package/{src → bin/dm/src}/services/config.js +1 -1
  17. package/{src → bin/dm/src}/services/file-ops.js +20 -4
  18. package/{src → bin/dm/src}/services/health-checker.js +3 -1
  19. package/{src → bin/dm/src}/services/repair-service.js +3 -1
  20. package/{src → bin/dm/src}/services/settings.js +1 -1
  21. package/{src → bin/dm/src}/services/update-service.js +2 -2
  22. package/bin/gsd-install.js +0 -0
  23. package/bin/gsd.js +9 -9
  24. package/commands/gsd/gsd-add-phase.md +43 -0
  25. package/commands/gsd/gsd-add-todo.md +47 -0
  26. package/commands/gsd/gsd-audit-milestone.md +36 -0
  27. package/commands/gsd/gsd-check-todos.md +45 -0
  28. package/commands/gsd/gsd-cleanup.md +18 -0
  29. package/commands/gsd/{complete-milestone.md → gsd-complete-milestone.md} +1 -1
  30. package/commands/gsd/{debug.md → gsd-debug.md} +16 -21
  31. package/commands/gsd/{discuss-phase.md → gsd-discuss-phase.md} +6 -9
  32. package/commands/gsd/gsd-execute-phase.md +41 -0
  33. package/commands/gsd/gsd-health.md +22 -0
  34. package/commands/gsd/gsd-help.md +22 -0
  35. package/commands/gsd/gsd-insert-phase.md +32 -0
  36. package/commands/gsd/gsd-join-discord.md +18 -0
  37. package/commands/gsd/{list-phase-assumptions.md → gsd-list-phase-assumptions.md} +3 -7
  38. package/commands/gsd/{map-codebase.md → gsd-map-codebase.md} +3 -3
  39. package/commands/gsd/gsd-new-milestone.md +44 -0
  40. package/commands/gsd/gsd-new-project.md +42 -0
  41. package/commands/gsd/gsd-pause-work.md +38 -0
  42. package/commands/gsd/gsd-plan-milestone-gaps.md +34 -0
  43. package/commands/gsd/gsd-plan-phase.md +44 -0
  44. package/commands/gsd/gsd-progress.md +24 -0
  45. package/commands/gsd/gsd-quick.md +41 -0
  46. package/commands/gsd/gsd-reapply-patches.md +119 -0
  47. package/commands/gsd/gsd-remove-phase.md +31 -0
  48. package/commands/gsd/{research-phase.md → gsd-research-phase.md} +38 -49
  49. package/commands/gsd/{resume-work.md → gsd-resume-work.md} +2 -2
  50. package/commands/gsd/gsd-set-profile.md +34 -0
  51. package/commands/gsd/gsd-settings.md +36 -0
  52. package/commands/gsd/gsd-update.md +37 -0
  53. package/commands/gsd/gsd-verify-work.md +38 -0
  54. package/get-shit-done/bin/gsd-tools.cjs +553 -0
  55. package/get-shit-done/bin/gsd-tools.test.cjs +2346 -0
  56. package/get-shit-done/bin/lib/commands.cjs +556 -0
  57. package/get-shit-done/bin/lib/config.cjs +162 -0
  58. package/get-shit-done/bin/lib/core.cjs +377 -0
  59. package/get-shit-done/bin/lib/frontmatter.cjs +299 -0
  60. package/get-shit-done/bin/lib/init.cjs +694 -0
  61. package/get-shit-done/bin/lib/milestone.cjs +215 -0
  62. package/get-shit-done/bin/lib/phase.cjs +877 -0
  63. package/get-shit-done/bin/lib/roadmap.cjs +298 -0
  64. package/get-shit-done/bin/lib/state.cjs +490 -0
  65. package/get-shit-done/bin/lib/template.cjs +222 -0
  66. package/get-shit-done/bin/lib/verify.cjs +772 -0
  67. package/get-shit-done/references/checkpoints.md +62 -364
  68. package/get-shit-done/references/decimal-phase-calculation.md +65 -0
  69. package/get-shit-done/references/git-integration.md +10 -16
  70. package/get-shit-done/references/git-planning-commit.md +38 -0
  71. package/get-shit-done/references/model-profile-resolution.md +34 -0
  72. package/get-shit-done/references/model-profiles.md +54 -66
  73. package/get-shit-done/references/phase-argument-parsing.md +61 -0
  74. package/get-shit-done/references/planning-config.md +112 -10
  75. package/get-shit-done/references/questioning.md +4 -0
  76. package/get-shit-done/references/ui-brand.md +1 -1
  77. package/get-shit-done/templates/UAT.md +1 -1
  78. package/get-shit-done/templates/VALIDATION.md +104 -0
  79. package/get-shit-done/templates/codebase/structure.md +6 -6
  80. package/get-shit-done/templates/config.json +37 -0
  81. package/get-shit-done/templates/context.md +2 -10
  82. package/get-shit-done/templates/continue-here.md +6 -6
  83. package/get-shit-done/templates/debug-subagent-prompt.md +2 -2
  84. package/get-shit-done/templates/discovery.md +6 -6
  85. package/get-shit-done/templates/milestone-archive.md +3 -3
  86. package/get-shit-done/templates/phase-prompt.md +9 -7
  87. package/get-shit-done/templates/planner-subagent-prompt.md +6 -6
  88. package/get-shit-done/templates/research-project/ARCHITECTURE.md +1 -1
  89. package/get-shit-done/templates/research.md +29 -6
  90. package/get-shit-done/templates/roadmap.md +1 -1
  91. package/get-shit-done/templates/state.md +0 -30
  92. package/get-shit-done/templates/summary-complex.md +59 -0
  93. package/get-shit-done/templates/summary-minimal.md +41 -0
  94. package/get-shit-done/templates/summary-standard.md +48 -0
  95. package/get-shit-done/templates/summary.md +16 -37
  96. package/get-shit-done/templates/user-setup.md +1 -13
  97. package/get-shit-done/templates/verification-report.md +5 -5
  98. package/get-shit-done/workflows/add-phase.md +111 -0
  99. package/{commands/gsd → get-shit-done/workflows}/add-todo.md +24 -60
  100. package/{commands/gsd → get-shit-done/workflows}/audit-milestone.md +83 -63
  101. package/{commands/gsd → get-shit-done/workflows}/check-todos.md +21 -73
  102. package/get-shit-done/workflows/cleanup.md +152 -0
  103. package/get-shit-done/workflows/complete-milestone.md +251 -312
  104. package/get-shit-done/workflows/diagnose-issues.md +6 -31
  105. package/get-shit-done/workflows/discovery-phase.md +11 -11
  106. package/get-shit-done/workflows/discuss-phase.md +156 -49
  107. package/get-shit-done/workflows/execute-phase.md +238 -396
  108. package/get-shit-done/workflows/execute-plan.md +180 -1609
  109. package/get-shit-done/workflows/health.md +156 -0
  110. package/{commands/gsd → get-shit-done/workflows}/help.md +33 -35
  111. package/get-shit-done/workflows/insert-phase.md +129 -0
  112. package/get-shit-done/workflows/list-phase-assumptions.md +3 -3
  113. package/get-shit-done/workflows/map-codebase.md +73 -80
  114. package/get-shit-done/workflows/new-milestone.md +382 -0
  115. package/{commands/gsd → get-shit-done/workflows}/new-project.md +281 -234
  116. package/get-shit-done/workflows/oc-set-profile.md +320 -0
  117. package/{commands/gsd → get-shit-done/workflows}/pause-work.md +31 -43
  118. package/{commands/gsd → get-shit-done/workflows}/plan-milestone-gaps.md +29 -50
  119. package/get-shit-done/workflows/plan-phase.md +478 -0
  120. package/{commands/gsd → get-shit-done/workflows}/progress.md +64 -47
  121. package/get-shit-done/workflows/quick.md +453 -0
  122. package/get-shit-done/workflows/remove-phase.md +154 -0
  123. package/get-shit-done/workflows/research-phase.md +73 -0
  124. package/get-shit-done/workflows/resume-project.md +17 -26
  125. package/get-shit-done/workflows/set-profile.md +80 -0
  126. package/get-shit-done/workflows/settings.md +213 -0
  127. package/get-shit-done/workflows/transition.md +84 -104
  128. package/{commands/gsd → get-shit-done/workflows}/update.md +70 -28
  129. package/get-shit-done/workflows/verify-phase.md +106 -492
  130. package/get-shit-done/workflows/verify-work.md +26 -53
  131. package/package.json +7 -4
  132. package/rules/gsd-oc-work-hard.md +36 -0
  133. package/skills/gsd-oc-select-model/SKILL.md +348 -0
  134. package/skills/gsd-oc-select-model/scripts/select-models.cjs +268 -0
  135. package/agents/gsd-set-model.md +0 -287
  136. package/agents/gsd-set-profile.md +0 -239
  137. package/agents/gsd-settings.md +0 -749
  138. package/bin/install.js +0 -323
  139. package/commands/gsd/add-phase.md +0 -207
  140. package/commands/gsd/execute-phase.md +0 -339
  141. package/commands/gsd/insert-phase.md +0 -227
  142. package/commands/gsd/new-milestone.md +0 -721
  143. package/commands/gsd/plan-phase.md +0 -525
  144. package/commands/gsd/quick.md +0 -309
  145. package/commands/gsd/remove-phase.md +0 -349
  146. package/commands/gsd/set-model.md +0 -77
  147. package/commands/gsd/set-profile.md +0 -46
  148. package/commands/gsd/settings.md +0 -33
  149. package/commands/gsd/verify-work.md +0 -219
  150. package/commands/gsd/whats-new.md +0 -124
  151. /package/{src → bin/dm/src}/commands/check.js +0 -0
  152. /package/{src → bin/dm/src}/commands/config.js +0 -0
  153. /package/{src → bin/dm/src}/commands/list.js +0 -0
  154. /package/{src → bin/dm/src}/commands/repair.js +0 -0
  155. /package/{src → bin/dm/src}/commands/update.js +0 -0
  156. /package/{src → bin/dm/src}/services/manifest-manager.js +0 -0
  157. /package/{src → bin/dm/src}/services/migration-service.js +0 -0
  158. /package/{src → bin/dm/src}/services/scope-manager.js +0 -0
  159. /package/{src → bin/dm/src}/services/structure-detector.js +0 -0
  160. /package/{src → bin/dm/src}/utils/hash.js +0 -0
  161. /package/{src → bin/dm/src}/utils/interactive.js +0 -0
  162. /package/{src → bin/dm/src}/utils/logger.js +0 -0
  163. /package/{src → bin/dm/src}/utils/npm-registry.js +0 -0
  164. /package/{src → bin/dm/src}/utils/path-resolver.js +0 -0
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: gsd-help
3
+ description: Show available GSD commands and usage guide
4
+ ---
5
+ <objective>
6
+ Display the complete GSD command reference.
7
+
8
+ Output ONLY the reference content below. Do NOT add:
9
+ - Project-specific analysis
10
+ - Git status or file context
11
+ - Next-step suggestions
12
+ - Any commentary beyond the reference
13
+ </objective>
14
+
15
+ <execution_context>
16
+ @~/.config/opencode/get-shit-done/workflows/help.md
17
+ </execution_context>
18
+
19
+ <process>
20
+ Output the complete GSD command reference from @~/.config/opencode/get-shit-done/workflows/help.md.
21
+ Display the reference content directly — no additions or modifications.
22
+ </process>
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: gsd-insert-phase
3
+ description: Insert urgent work as decimal phase (e.g., 72.1) between existing phases
4
+ argument-hint: <after> <description>
5
+ allowed-tools:
6
+ - read
7
+ - write
8
+ - bash
9
+ ---
10
+
11
+ <objective>
12
+ Insert a decimal phase for urgent work discovered mid-milestone that must be completed between existing integer phases.
13
+
14
+ Uses decimal numbering (72.1, 72.2, etc.) to preserve the logical sequence of planned phases while accommodating urgent insertions.
15
+
16
+ Purpose: Handle urgent work discovered during execution without renumbering entire roadmap.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ @~/.config/opencode/get-shit-done/workflows/insert-phase.md
21
+ </execution_context>
22
+
23
+ <context>
24
+ Arguments: $ARGUMENTS (format: <after-phase-number> <description>)
25
+
26
+ Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
27
+ </context>
28
+
29
+ <process>
30
+ Execute the insert-phase workflow from @~/.config/opencode/get-shit-done/workflows/insert-phase.md end-to-end.
31
+ Preserve all validation gates (argument parsing, phase verification, decimal calculation, roadmap updates).
32
+ </process>
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: gsd-join-discord
3
+ description: Join the GSD Discord community
4
+ ---
5
+
6
+ <objective>
7
+ Display the Discord invite link for the GSD community server.
8
+ </objective>
9
+
10
+ <output>
11
+ # Join the GSD Discord
12
+
13
+ Connect with other GSD users, get help, share what you're building, and stay updated.
14
+
15
+ **Invite link:** https://discord.gg/5JJgD5svVS
16
+
17
+ Click the link or paste it into your browser to join.
18
+ </output>
@@ -2,7 +2,7 @@
2
2
  name: gsd-list-phase-assumptions
3
3
  description: Surface OpenCode's assumptions about a phase approach before planning
4
4
  argument-hint: "[phase]"
5
- tools:
5
+ allowed-tools:
6
6
  - read
7
7
  - bash
8
8
  - grep
@@ -21,13 +21,9 @@ 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
- **Load project state first:**
27
- @.planning/STATE.md
28
-
29
- **Load roadmap:**
30
- @.planning/ROADMAP.md
26
+ Project state and roadmap are loaded in-workflow using targeted reads.
31
27
  </context>
32
28
 
33
29
  <process>
@@ -2,13 +2,13 @@
2
2
  name: gsd-map-codebase
3
3
  description: Analyze codebase with parallel mapper agents to produce .planning/codebase/ documents
4
4
  argument-hint: "[optional: specific area to map, e.g., 'api' or 'auth']"
5
- tools:
5
+ allowed-tools:
6
6
  - read
7
7
  - bash
8
8
  - glob
9
9
  - grep
10
10
  - write
11
-
11
+ - task
12
12
  ---
13
13
 
14
14
  <objective>
@@ -24,7 +24,7 @@ Output: .planning/codebase/ folder with 7 structured documents about the codebas
24
24
  </execution_context>
25
25
 
26
26
  <context>
27
- Focus area: `$ARGUMENTS` (optional - if provided, tells agents to focus on specific subsystem)
27
+ Focus area: $ARGUMENTS (optional - if provided, tells agents to focus on specific subsystem)
28
28
 
29
29
  **Load project state if exists:**
30
30
  Check for .planning/STATE.md - loads context if project already initialized
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: gsd-new-milestone
3
+ description: Start a new milestone cycle — update PROJECT.md and route to requirements
4
+ argument-hint: "[milestone name, e.g., 'v1.1 Notifications']"
5
+ allowed-tools:
6
+ - read
7
+ - write
8
+ - bash
9
+ - task
10
+ - question
11
+ ---
12
+ <objective>
13
+ Start a new milestone: questioning → research (optional) → requirements → roadmap.
14
+
15
+ Brownfield equivalent of new-project. Project exists, PROJECT.md has history. Gathers "what's next", updates PROJECT.md, then runs requirements → roadmap cycle.
16
+
17
+ **Creates/Updates:**
18
+ - `.planning/PROJECT.md` — updated with new milestone goals
19
+ - `.planning/research/` — domain research (optional, NEW features only)
20
+ - `.planning/REQUIREMENTS.md` — scoped requirements for this milestone
21
+ - `.planning/ROADMAP.md` — phase structure (continues numbering)
22
+ - `.planning/STATE.md` — reset for new milestone
23
+
24
+ **After:** `/gsd-plan-phase [N]` to start execution.
25
+ </objective>
26
+
27
+ <execution_context>
28
+ @~/.config/opencode/get-shit-done/workflows/new-milestone.md
29
+ @~/.config/opencode/get-shit-done/references/questioning.md
30
+ @~/.config/opencode/get-shit-done/references/ui-brand.md
31
+ @~/.config/opencode/get-shit-done/templates/project.md
32
+ @~/.config/opencode/get-shit-done/templates/requirements.md
33
+ </execution_context>
34
+
35
+ <context>
36
+ Milestone name: $ARGUMENTS (optional - will prompt if not provided)
37
+
38
+ Project and milestone context files are resolved inside the workflow (`init new-milestone`) and delegated via `<files_to_read>` blocks where subagents are used.
39
+ </context>
40
+
41
+ <process>
42
+ Execute the new-milestone workflow from @~/.config/opencode/get-shit-done/workflows/new-milestone.md end-to-end.
43
+ Preserve all workflow gates (validation, questioning, research, requirements, roadmap approval, commits).
44
+ </process>
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: gsd-new-project
3
+ description: Initialize a new project with deep context gathering and PROJECT.md
4
+ argument-hint: "[--auto]"
5
+ allowed-tools:
6
+ - read
7
+ - bash
8
+ - write
9
+ - task
10
+ - question
11
+ ---
12
+ <context>
13
+ **Flags:**
14
+ - `--auto` — Automatic mode. After config questions, runs research → requirements → roadmap without further interaction. Expects idea document via @ reference.
15
+ </context>
16
+
17
+ <objective>
18
+ Initialize a new project through unified flow: questioning → research (optional) → requirements → roadmap.
19
+
20
+ **Creates:**
21
+ - `.planning/PROJECT.md` — project context
22
+ - `.planning/config.json` — workflow preferences
23
+ - `.planning/research/` — domain research (optional)
24
+ - `.planning/REQUIREMENTS.md` — scoped requirements
25
+ - `.planning/ROADMAP.md` — phase structure
26
+ - `.planning/STATE.md` — project memory
27
+
28
+ **After this command:** Run `/gsd-plan-phase 1` to start execution.
29
+ </objective>
30
+
31
+ <execution_context>
32
+ @~/.config/opencode/get-shit-done/workflows/new-project.md
33
+ @~/.config/opencode/get-shit-done/references/questioning.md
34
+ @~/.config/opencode/get-shit-done/references/ui-brand.md
35
+ @~/.config/opencode/get-shit-done/templates/project.md
36
+ @~/.config/opencode/get-shit-done/templates/requirements.md
37
+ </execution_context>
38
+
39
+ <process>
40
+ Execute the new-project workflow from @~/.config/opencode/get-shit-done/workflows/new-project.md end-to-end.
41
+ Preserve all workflow gates (validation, approvals, commits, routing).
42
+ </process>
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: gsd-pause-work
3
+ description: Create context handoff when pausing work mid-phase
4
+ allowed-tools:
5
+ - read
6
+ - write
7
+ - bash
8
+ ---
9
+
10
+ <objective>
11
+ Create `.continue-here.md` handoff file to preserve complete work state across sessions.
12
+
13
+ Routes to the pause-work workflow which handles:
14
+ - Current phase detection from recent files
15
+ - Complete state gathering (position, completed work, remaining work, decisions, blockers)
16
+ - Handoff file creation with all context sections
17
+ - Git commit as WIP
18
+ - Resume instructions
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.config/opencode/get-shit-done/workflows/pause-work.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ State and phase progress are gathered in-workflow with targeted reads.
27
+ </context>
28
+
29
+ <process>
30
+ **Follow the pause-work workflow** from `@~/.config/opencode/get-shit-done/workflows/pause-work.md`.
31
+
32
+ The workflow handles all logic including:
33
+ 1. Phase directory detection
34
+ 2. State gathering with user clarifications
35
+ 3. Handoff file writing with timestamp
36
+ 4. Git commit
37
+ 5. Confirmation with resume instructions
38
+ </process>
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: gsd-plan-milestone-gaps
3
+ description: Create phases to close all gaps identified by milestone audit
4
+ allowed-tools:
5
+ - read
6
+ - write
7
+ - bash
8
+ - glob
9
+ - grep
10
+ - question
11
+ ---
12
+ <objective>
13
+ Create all phases necessary to close gaps identified by `/gsd-audit-milestone`.
14
+
15
+ Reads MILESTONE-AUDIT.md, groups gaps into logical phases, creates phase entries in ROADMAP.md, and offers to plan each phase.
16
+
17
+ One command creates all fix phases — no manual `/gsd-add-phase` per gap.
18
+ </objective>
19
+
20
+ <execution_context>
21
+ @~/.config/opencode/get-shit-done/workflows/plan-milestone-gaps.md
22
+ </execution_context>
23
+
24
+ <context>
25
+ **Audit results:**
26
+ glob: .planning/v*-MILESTONE-AUDIT.md (use most recent)
27
+
28
+ Original intent and current planning state are loaded on demand inside the workflow.
29
+ </context>
30
+
31
+ <process>
32
+ Execute the plan-milestone-gaps workflow from @~/.config/opencode/get-shit-done/workflows/plan-milestone-gaps.md end-to-end.
33
+ Preserve all workflow gates (audit loading, prioritization, phase grouping, user confirmation, roadmap updates).
34
+ </process>
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: gsd-plan-phase
3
+ description: Create detailed phase plan (PLAN.md) with verification loop
4
+ argument-hint: "[phase] [--auto] [--research] [--skip-research] [--gaps] [--skip-verify]"
5
+ agent: gsd-planner
6
+ allowed-tools:
7
+ - read
8
+ - write
9
+ - bash
10
+ - glob
11
+ - grep
12
+ - task
13
+ - webfetch
14
+ - mcp__context7__*
15
+ ---
16
+ <objective>
17
+ Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification.
18
+
19
+ **Default flow:** Research (if needed) → Plan → Verify → Done
20
+
21
+ **Orchestrator role:** Parse arguments, validate phase, research domain (unless skipped), spawn gsd-planner, verify with gsd-plan-checker, iterate until pass or max iterations, present results.
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @~/.config/opencode/get-shit-done/workflows/plan-phase.md
26
+ @~/.config/opencode/get-shit-done/references/ui-brand.md
27
+ </execution_context>
28
+
29
+ <context>
30
+ Phase number: $ARGUMENTS (optional — auto-detects next unplanned phase if omitted)
31
+
32
+ **Flags:**
33
+ - `--research` — Force re-research even if RESEARCH.md exists
34
+ - `--skip-research` — Skip research, go straight to planning
35
+ - `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
36
+ - `--skip-verify` — Skip verification loop
37
+
38
+ Normalize phase input in step 2 before any directory lookups.
39
+ </context>
40
+
41
+ <process>
42
+ Execute the plan-phase workflow from @~/.config/opencode/get-shit-done/workflows/plan-phase.md end-to-end.
43
+ Preserve all workflow gates (validation, research, planning, verification loop, routing).
44
+ </process>
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: gsd-progress
3
+ description: Check project progress, show context, and route to next action (execute or plan)
4
+ allowed-tools:
5
+ - read
6
+ - bash
7
+ - grep
8
+ - glob
9
+ - command
10
+ ---
11
+ <objective>
12
+ Check project progress, summarize recent work and what's ahead, then intelligently route to the next action - either executing an existing plan or creating the next one.
13
+
14
+ Provides situational awareness before continuing work.
15
+ </objective>
16
+
17
+ <execution_context>
18
+ @~/.config/opencode/get-shit-done/workflows/progress.md
19
+ </execution_context>
20
+
21
+ <process>
22
+ Execute the progress workflow from @~/.config/opencode/get-shit-done/workflows/progress.md end-to-end.
23
+ Preserve all routing logic (Routes A through F) and edge case handling.
24
+ </process>
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsd-quick
3
+ description: Execute a quick task with GSD guarantees (atomic commits, state tracking) but skip optional agents
4
+ argument-hint: "[--full]"
5
+ allowed-tools:
6
+ - read
7
+ - write
8
+ - edit
9
+ - glob
10
+ - grep
11
+ - bash
12
+ - task
13
+ - question
14
+ ---
15
+ <objective>
16
+ Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking).
17
+
18
+ Quick mode is the same system with a shorter path:
19
+ - Spawns gsd-planner (quick mode) + gsd-executor(s)
20
+ - Quick tasks live in `.planning/quick/` separate from planned phases
21
+ - Updates STATE.md "Quick Tasks Completed" table (NOT ROADMAP.md)
22
+
23
+ **Default:** Skips research, plan-checker, verifier. Use when you know exactly what to do.
24
+
25
+ **`--full` flag:** Enables plan-checking (max 2 iterations) and post-execution verification. Use when you want quality guarantees without full milestone ceremony.
26
+ </objective>
27
+
28
+ <execution_context>
29
+ @~/.config/opencode/get-shit-done/workflows/quick.md
30
+ </execution_context>
31
+
32
+ <context>
33
+ $ARGUMENTS
34
+
35
+ Context files are resolved inside the workflow (`init quick`) and delegated via `<files_to_read>` blocks.
36
+ </context>
37
+
38
+ <process>
39
+ Execute the quick workflow from @~/.config/opencode/get-shit-done/workflows/quick.md end-to-end.
40
+ Preserve all workflow gates (validation, task description, planning, execution, state updates, commits).
41
+ </process>
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: gsd-reapply-patches
3
+ description: Reapply local modifications after a GSD update
4
+ allowed-tools: read, write, edit, bash, glob, grep, question
5
+ ---
6
+
7
+ <objective>
8
+ Reapply user's local modifications to GSD files after an update overwrites them.
9
+
10
+ Purpose: After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version using intelligent comparison to handle cases where the upstream file also changed.
11
+
12
+ Output: A report showing which patches were merged, skipped (already upstream), or had conflicts that required user resolution.
13
+ </objective>
14
+
15
+ <purpose>
16
+ After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed.
17
+ </purpose>
18
+
19
+ <process>
20
+
21
+ ## Step 1: Detect backed-up patches
22
+
23
+ Check for local patches directory:
24
+
25
+ ```bash
26
+ # Global install (path templated at install time)
27
+ PATCHES_DIR=~/.config/opencode/gsd-local-patches
28
+ # Local install fallback
29
+ if [ ! -d "$PATCHES_DIR" ]; then
30
+ PATCHES_DIR=./.OpenCode/gsd-local-patches
31
+ fi
32
+ ```
33
+
34
+ read `backup-meta.json` from the patches directory.
35
+
36
+ **If no patches found:**
37
+ ```
38
+ No local patches found. Nothing to reapply.
39
+
40
+ Local patches are automatically saved when you run /gsd-update
41
+ after modifying any GSD workflow, command, or agent files.
42
+ ```
43
+ Exit.
44
+
45
+ ## Step 2: Show patch summary
46
+
47
+ ```
48
+ ## Local Patches to Reapply
49
+
50
+ **Backed up from:** v{from_version}
51
+ **Current version:** {read VERSION file}
52
+ **Files modified:** {count}
53
+
54
+ | # | File | Status |
55
+ |---|------|--------|
56
+ | 1 | {file_path} | Pending |
57
+ | 2 | {file_path} | Pending |
58
+ ```
59
+
60
+ ## Step 3: Merge each file
61
+
62
+ For each file in `backup-meta.json`:
63
+
64
+ 1. **read the backed-up version** (user's modified copy from `gsd-local-patches/`)
65
+ 2. **read the newly installed version** (current file after update)
66
+ 3. **Compare and merge:**
67
+
68
+ - If the new file is identical to the backed-up file: skip (modification was incorporated upstream)
69
+ - If the new file differs: identify the user's modifications and apply them to the new version
70
+
71
+ **Merge strategy:**
72
+ - read both versions fully
73
+ - Identify sections the user added or modified (look for additions, not just differences from path replacement)
74
+ - Apply user's additions/modifications to the new version
75
+ - If a section the user modified was also changed upstream: flag as conflict, show both versions, ask user which to keep
76
+
77
+ 4. **write merged result** to the installed location
78
+ 5. **Report status:**
79
+ - `Merged` — user modifications applied cleanly
80
+ - `Skipped` — modification already in upstream
81
+ - `Conflict` — user chose resolution
82
+
83
+ ## Step 4: Update manifest
84
+
85
+ After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:
86
+
87
+ ```bash
88
+ # The manifest will be regenerated on next /gsd-update
89
+ # For now, just note which files were modified
90
+ ```
91
+
92
+ ## Step 5: Cleanup option
93
+
94
+ Ask user:
95
+ - "Keep patch backups for reference?" → preserve `gsd-local-patches/`
96
+ - "Clean up patch backups?" → remove `gsd-local-patches/` directory
97
+
98
+ ## Step 6: Report
99
+
100
+ ```
101
+ ## Patches Reapplied
102
+
103
+ | # | File | Status |
104
+ |---|------|--------|
105
+ | 1 | {file_path} | ✓ Merged |
106
+ | 2 | {file_path} | ○ Skipped (already upstream) |
107
+ | 3 | {file_path} | ⚠ Conflict resolved |
108
+
109
+ {count} file(s) updated. Your local modifications are active again.
110
+ ```
111
+
112
+ </process>
113
+
114
+ <success_criteria>
115
+ - [ ] All backed-up patches processed
116
+ - [ ] User modifications merged into new version
117
+ - [ ] Conflicts resolved with user input
118
+ - [ ] Status reported for each file
119
+ </success_criteria>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: gsd-remove-phase
3
+ description: Remove a future phase from roadmap and renumber subsequent phases
4
+ argument-hint: <phase-number>
5
+ allowed-tools:
6
+ - read
7
+ - write
8
+ - bash
9
+ - glob
10
+ ---
11
+ <objective>
12
+ Remove an unstarted future phase from the roadmap and renumber all subsequent phases to maintain a clean, linear sequence.
13
+
14
+ Purpose: Clean removal of work you've decided not to do, without polluting context with cancelled/deferred markers.
15
+ Output: Phase deleted, all subsequent phases renumbered, git commit as historical record.
16
+ </objective>
17
+
18
+ <execution_context>
19
+ @~/.config/opencode/get-shit-done/workflows/remove-phase.md
20
+ </execution_context>
21
+
22
+ <context>
23
+ Phase: $ARGUMENTS
24
+
25
+ Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
26
+ </context>
27
+
28
+ <process>
29
+ Execute the remove-phase workflow from @~/.config/opencode/get-shit-done/workflows/remove-phase.md end-to-end.
30
+ Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
31
+ </process>