gsd-opencode 1.33.3 → 1.35.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 (118) hide show
  1. package/agents/gsd-advisor-researcher.md +23 -0
  2. package/agents/gsd-ai-researcher.md +142 -0
  3. package/agents/gsd-code-fixer.md +523 -0
  4. package/agents/gsd-code-reviewer.md +361 -0
  5. package/agents/gsd-debugger.md +14 -1
  6. package/agents/gsd-domain-researcher.md +162 -0
  7. package/agents/gsd-eval-auditor.md +170 -0
  8. package/agents/gsd-eval-planner.md +161 -0
  9. package/agents/gsd-executor.md +70 -7
  10. package/agents/gsd-framework-selector.md +167 -0
  11. package/agents/gsd-intel-updater.md +320 -0
  12. package/agents/gsd-phase-researcher.md +26 -0
  13. package/agents/gsd-plan-checker.md +12 -0
  14. package/agents/gsd-planner.md +16 -6
  15. package/agents/gsd-project-researcher.md +23 -0
  16. package/agents/gsd-ui-researcher.md +23 -0
  17. package/agents/gsd-verifier.md +55 -1
  18. package/commands/gsd/gsd-ai-integration-phase.md +36 -0
  19. package/commands/gsd/gsd-audit-fix.md +33 -0
  20. package/commands/gsd/gsd-autonomous.md +1 -0
  21. package/commands/gsd/gsd-code-review-fix.md +52 -0
  22. package/commands/gsd/gsd-code-review.md +55 -0
  23. package/commands/gsd/gsd-eval-review.md +32 -0
  24. package/commands/gsd/gsd-explore.md +27 -0
  25. package/commands/gsd/gsd-from-gsd2.md +45 -0
  26. package/commands/gsd/gsd-import.md +36 -0
  27. package/commands/gsd/gsd-intel.md +183 -0
  28. package/commands/gsd/gsd-next.md +2 -0
  29. package/commands/gsd/gsd-reapply-patches.md +58 -3
  30. package/commands/gsd/gsd-review.md +4 -2
  31. package/commands/gsd/gsd-scan.md +26 -0
  32. package/commands/gsd/gsd-undo.md +34 -0
  33. package/commands/gsd/gsd-workstreams.md +6 -6
  34. package/get-shit-done/bin/gsd-tools.cjs +143 -5
  35. package/get-shit-done/bin/lib/commands.cjs +10 -2
  36. package/get-shit-done/bin/lib/config.cjs +71 -37
  37. package/get-shit-done/bin/lib/core.cjs +70 -8
  38. package/get-shit-done/bin/lib/gsd2-import.cjs +511 -0
  39. package/get-shit-done/bin/lib/init.cjs +20 -6
  40. package/get-shit-done/bin/lib/intel.cjs +660 -0
  41. package/get-shit-done/bin/lib/learnings.cjs +378 -0
  42. package/get-shit-done/bin/lib/milestone.cjs +25 -15
  43. package/get-shit-done/bin/lib/model-profiles.cjs +17 -17
  44. package/get-shit-done/bin/lib/phase.cjs +148 -112
  45. package/get-shit-done/bin/lib/roadmap.cjs +12 -5
  46. package/get-shit-done/bin/lib/security.cjs +119 -0
  47. package/get-shit-done/bin/lib/state.cjs +283 -221
  48. package/get-shit-done/bin/lib/template.cjs +8 -4
  49. package/get-shit-done/bin/lib/verify.cjs +42 -5
  50. package/get-shit-done/references/ai-evals.md +156 -0
  51. package/get-shit-done/references/ai-frameworks.md +186 -0
  52. package/get-shit-done/references/common-bug-patterns.md +114 -0
  53. package/get-shit-done/references/few-shot-examples/plan-checker.md +73 -0
  54. package/get-shit-done/references/few-shot-examples/verifier.md +109 -0
  55. package/get-shit-done/references/gates.md +70 -0
  56. package/get-shit-done/references/ios-scaffold.md +123 -0
  57. package/get-shit-done/references/model-profile-resolution.md +6 -7
  58. package/get-shit-done/references/model-profiles.md +20 -14
  59. package/get-shit-done/references/planning-config.md +237 -0
  60. package/get-shit-done/references/thinking-models-debug.md +44 -0
  61. package/get-shit-done/references/thinking-models-execution.md +50 -0
  62. package/get-shit-done/references/thinking-models-planning.md +62 -0
  63. package/get-shit-done/references/thinking-models-research.md +50 -0
  64. package/get-shit-done/references/thinking-models-verification.md +55 -0
  65. package/get-shit-done/references/thinking-partner.md +96 -0
  66. package/get-shit-done/references/universal-anti-patterns.md +6 -1
  67. package/get-shit-done/references/verification-overrides.md +227 -0
  68. package/get-shit-done/templates/AI-SPEC.md +246 -0
  69. package/get-shit-done/workflows/add-tests.md +3 -0
  70. package/get-shit-done/workflows/add-todo.md +2 -0
  71. package/get-shit-done/workflows/ai-integration-phase.md +284 -0
  72. package/get-shit-done/workflows/audit-fix.md +154 -0
  73. package/get-shit-done/workflows/autonomous.md +33 -2
  74. package/get-shit-done/workflows/check-todos.md +2 -0
  75. package/get-shit-done/workflows/cleanup.md +2 -0
  76. package/get-shit-done/workflows/code-review-fix.md +497 -0
  77. package/get-shit-done/workflows/code-review.md +515 -0
  78. package/get-shit-done/workflows/complete-milestone.md +40 -15
  79. package/get-shit-done/workflows/diagnose-issues.md +1 -1
  80. package/get-shit-done/workflows/discovery-phase.md +3 -1
  81. package/get-shit-done/workflows/discuss-phase-assumptions.md +1 -1
  82. package/get-shit-done/workflows/discuss-phase.md +21 -7
  83. package/get-shit-done/workflows/do.md +2 -0
  84. package/get-shit-done/workflows/docs-update.md +2 -0
  85. package/get-shit-done/workflows/eval-review.md +155 -0
  86. package/get-shit-done/workflows/execute-phase.md +307 -57
  87. package/get-shit-done/workflows/execute-plan.md +64 -93
  88. package/get-shit-done/workflows/explore.md +136 -0
  89. package/get-shit-done/workflows/help.md +1 -1
  90. package/get-shit-done/workflows/import.md +273 -0
  91. package/get-shit-done/workflows/inbox.md +387 -0
  92. package/get-shit-done/workflows/manager.md +4 -10
  93. package/get-shit-done/workflows/new-milestone.md +3 -1
  94. package/get-shit-done/workflows/new-project.md +2 -0
  95. package/get-shit-done/workflows/new-workspace.md +2 -0
  96. package/get-shit-done/workflows/next.md +56 -0
  97. package/get-shit-done/workflows/note.md +2 -0
  98. package/get-shit-done/workflows/plan-phase.md +97 -17
  99. package/get-shit-done/workflows/plant-seed.md +3 -0
  100. package/get-shit-done/workflows/pr-branch.md +41 -13
  101. package/get-shit-done/workflows/profile-user.md +4 -2
  102. package/get-shit-done/workflows/quick.md +99 -4
  103. package/get-shit-done/workflows/remove-workspace.md +2 -0
  104. package/get-shit-done/workflows/review.md +53 -6
  105. package/get-shit-done/workflows/scan.md +98 -0
  106. package/get-shit-done/workflows/secure-phase.md +2 -0
  107. package/get-shit-done/workflows/settings.md +18 -3
  108. package/get-shit-done/workflows/ship.md +3 -0
  109. package/get-shit-done/workflows/ui-phase.md +10 -2
  110. package/get-shit-done/workflows/ui-review.md +2 -0
  111. package/get-shit-done/workflows/undo.md +314 -0
  112. package/get-shit-done/workflows/update.md +2 -0
  113. package/get-shit-done/workflows/validate-phase.md +2 -0
  114. package/get-shit-done/workflows/verify-phase.md +83 -0
  115. package/get-shit-done/workflows/verify-work.md +12 -1
  116. package/package.json +1 -1
  117. package/skills/gsd-code-review/SKILL.md +48 -0
  118. package/skills/gsd-code-review-fix/SKILL.md +44 -0
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: gsd-code-review-fix
3
+ description: Auto-fix issues found by code review in REVIEW.md. Spawns fixer agent, commits each fix atomically, produces REVIEW-FIX.md summary.
4
+ argument-hint: "<phase-number> [--all] [--auto]"
5
+ permissions:
6
+ read: true
7
+ bash: true
8
+ glob: true
9
+ grep: true
10
+ write: true
11
+ edit: true
12
+ task: true
13
+ ---
14
+ <objective>
15
+ Auto-fix issues found by code review. Reads REVIEW.md from the specified phase, spawns gsd-code-fixer agent to apply fixes, and produces REVIEW-FIX.md summary.
16
+
17
+ Arguments:
18
+ - Phase number (required) — which phase's REVIEW.md to fix (e.g., "2" or "02")
19
+ - `--all` (optional) — include Info findings in fix scope (default: Critical + Warning only)
20
+ - `--auto` (optional) — enable fix + re-review iteration loop, capped at 3 iterations
21
+
22
+ Output: {padded_phase}-REVIEW-FIX.md in phase directory + inline summary of fixes applied
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @$HOME/.config/opencode/get-shit-done/workflows/code-review-fix.md
27
+ </execution_context>
28
+
29
+ <context>
30
+ Phase: $ARGUMENTS (first positional argument is phase number)
31
+
32
+ Optional flags parsed from $ARGUMENTS:
33
+ - `--all` — Include Info findings in fix scope. Default behavior fixes Critical + Warning only.
34
+ - `--auto` — Enable fix + re-review iteration loop. After applying fixes, re-run code-review at same depth. If new issues found, iterate. Cap at 3 iterations total. Without this flag, single fix pass only.
35
+
36
+ Context files (AGENTS.md, REVIEW.md, phase state) are resolved inside the workflow via `gsd-tools init phase-op` and delegated to agent via config blocks.
37
+ </context>
38
+
39
+ <process>
40
+ This command is a thin dispatch layer. It parses arguments and delegates to the workflow.
41
+
42
+ Execute the code-review-fix workflow from @$HOME/.config/opencode/get-shit-done/workflows/code-review-fix.md end-to-end.
43
+
44
+ The workflow (not this command) enforces these gates:
45
+ - Phase validation (before config gate)
46
+ - Config gate check (workflow.code_review)
47
+ - REVIEW.md existence check (error if missing)
48
+ - REVIEW.md status check (skip if clean/skipped)
49
+ - Agent spawning (gsd-code-fixer)
50
+ - Iteration loop (if --auto, capped at 3 iterations)
51
+ - Result presentation (inline summary + next steps)
52
+ </process>
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: gsd-code-review
3
+ description: Review source files changed during a phase for bugs, security issues, and code quality problems
4
+ argument-hint: "<phase-number> [--depth=quick|standard|deep] [--files file1,file2,...]"
5
+ permissions:
6
+ read: true
7
+ bash: true
8
+ glob: true
9
+ grep: true
10
+ write: true
11
+ task: true
12
+ ---
13
+ <objective>
14
+ Review source files changed during a phase for bugs, security vulnerabilities, and code quality problems.
15
+
16
+ Spawns the gsd-code-reviewer agent to analyze code at the specified depth level. Produces REVIEW.md artifact in the phase directory with severity-classified findings.
17
+
18
+ Arguments:
19
+ - Phase number (required) — which phase's changes to review (e.g., "2" or "02")
20
+ - `--depth=quick|standard|deep` (optional) — review depth level, overrides workflow.code_review_depth config
21
+ - quick: Pattern-matching only (~2 min)
22
+ - standard: Per-file analysis with language-specific checks (~5-15 min, default)
23
+ - deep: Cross-file analysis including import graphs and call chains (~15-30 min)
24
+ - `--files file1,file2,...` (optional) — explicit comma-separated file list, skips SUMMARY/git scoping (highest precedence for scoping)
25
+
26
+ Output: {padded_phase}-REVIEW.md in phase directory + inline summary of findings
27
+ </objective>
28
+
29
+ <execution_context>
30
+ @$HOME/.config/opencode/get-shit-done/workflows/code-review.md
31
+ </execution_context>
32
+
33
+ <context>
34
+ Phase: $ARGUMENTS (first positional argument is phase number)
35
+
36
+ Optional flags parsed from $ARGUMENTS:
37
+ - `--depth=VALUE` — Depth override (quick|standard|deep). If provided, overrides workflow.code_review_depth config.
38
+ - `--files=file1,file2,...` — Explicit file list override. Has highest precedence for file scoping per D-08. When provided, workflow skips SUMMARY.md extraction and git diff fallback entirely.
39
+
40
+ Context files (AGENTS.md, SUMMARY.md, phase state) are resolved inside the workflow via `gsd-tools init phase-op` and delegated to agent via `<files_to_read>` blocks.
41
+ </context>
42
+
43
+ <process>
44
+ This command is a thin dispatch layer. It parses arguments and delegates to the workflow.
45
+
46
+ Execute the code-review workflow from @$HOME/.config/opencode/get-shit-done/workflows/code-review.md end-to-end.
47
+
48
+ The workflow (not this command) enforces these gates:
49
+ - Phase validation (before config gate)
50
+ - Config gate check (workflow.code_review)
51
+ - File scoping (--files override > SUMMARY.md > git diff fallback)
52
+ - Empty scope check (skip if no files)
53
+ - Agent spawning (gsd-code-reviewer)
54
+ - Result presentation (inline summary + next steps)
55
+ </process>
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: gsd-eval-review
3
+ description: Retroactively audit an executed AI phase's evaluation coverage — scores each eval dimension as COVERED/PARTIAL/MISSING and produces an actionable EVAL-REVIEW.md with remediation plan
4
+ argument-hint: "[phase number]"
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ bash: true
9
+ glob: true
10
+ grep: true
11
+ task: true
12
+ question: true
13
+ ---
14
+ <objective>
15
+ Conduct a retroactive evaluation coverage audit of a completed AI phase.
16
+ Checks whether the evaluation strategy from AI-SPEC.md was implemented.
17
+ Produces EVAL-REVIEW.md with score, verdict, gaps, and remediation plan.
18
+ </objective>
19
+
20
+ <execution_context>
21
+ @$HOME/.config/opencode/get-shit-done/workflows/eval-review.md
22
+ @$HOME/.config/opencode/get-shit-done/references/ai-evals.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ Phase: $ARGUMENTS — optional, defaults to last completed phase.
27
+ </context>
28
+
29
+ <process>
30
+ Execute @$HOME/.config/opencode/get-shit-done/workflows/eval-review.md end-to-end.
31
+ Preserve all workflow gates.
32
+ </process>
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: gsd-explore
3
+ description: Socratic ideation and idea routing — think through ideas before committing to plans
4
+ permissions:
5
+ read: true
6
+ write: true
7
+ bash: true
8
+ grep: true
9
+ glob: true
10
+ task: true
11
+ question: true
12
+ ---
13
+ <objective>
14
+ Open-ended Socratic ideation session. Guides the developer through exploring an idea via
15
+ probing questions, optionally spawns research, then routes outputs to the appropriate GSD
16
+ artifacts (notes, todos, seeds, research questions, requirements, or new phases).
17
+
18
+ Accepts an optional topic argument: `/gsd-explore authentication strategy`
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @$HOME/.config/opencode/get-shit-done/workflows/explore.md
23
+ </execution_context>
24
+
25
+ <process>
26
+ Execute the explore workflow from @$HOME/.config/opencode/get-shit-done/workflows/explore.md end-to-end.
27
+ </process>
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: gsd-from-gsd2
3
+ description: Import a GSD-2 (.gsd/) project back to GSD v1 (.planning/) format
4
+ argument-hint: "[--path <dir>] [--force]"
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ bash: true
9
+ type: prompt
10
+ ---
11
+
12
+ <objective>
13
+ Reverse-migrate a GSD-2 project (`.gsd/` directory) back to GSD v1 (`.planning/`) format.
14
+
15
+ Maps the GSD-2 hierarchy (Milestone → Slice → task) to the GSD v1 hierarchy (Milestone sections in ROADMAP.md → Phase → Plan), preserving completion state, research files, and summaries.
16
+ </objective>
17
+
18
+ <process>
19
+
20
+ 1. **Locate the .gsd/ directory** — check the current working directory (or `--path` argument):
21
+ ```bash
22
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" from-gsd2 --dry-run
23
+ ```
24
+ If no `.gsd/` is found, report the error and stop.
25
+
26
+ 2. **Show the dry-run preview** — present the full file list and migration statistics to the user. Ask for confirmation before writing anything.
27
+
28
+ 3. **Run the migration** after confirmation:
29
+ ```bash
30
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" from-gsd2
31
+ ```
32
+ Use `--force` if `.planning/` already exists and the user has confirmed overwrite.
33
+
34
+ 4. **Report the result** — show the `filesWritten` count, `planningDir` path, and the preview summary.
35
+
36
+ </process>
37
+
38
+ <notes>
39
+ - The migration is non-destructive: `.gsd/` is never modified or removed.
40
+ - Pass `--path <dir>` to migrate a project at a different path than the current directory.
41
+ - Slices are numbered sequentially across all milestones (M001/S01 → phase 01, M001/S02 → phase 02, M002/S01 → phase 03, etc.).
42
+ - Tasks within each slice become plans (T01 → plan 01, T02 → plan 02, etc.).
43
+ - Completed slices and tasks carry their done state into ROADMAP.md checkboxes and SUMMARY.md files.
44
+ - GSD-2 cost/token ledger, database state, and VS Code extension state cannot be migrated.
45
+ </notes>
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: gsd-import
3
+ description: Ingest external plans with conflict detection against project decisions before writing anything.
4
+ argument-hint: "--from <filepath>"
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ edit: true
9
+ bash: true
10
+ glob: true
11
+ grep: true
12
+ question: true
13
+ task: true
14
+ ---
15
+
16
+ <objective>
17
+ Import external plan files into the GSD planning system with conflict detection against PROJECT.md decisions.
18
+
19
+ - **--from**: Import an external plan file, detect conflicts, write as GSD PLAN.md, validate via gsd-plan-checker.
20
+
21
+ Future: `--prd` mode for PRD extraction is planned for a follow-up PR.
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @$HOME/.config/opencode/get-shit-done/workflows/import.md
26
+ @$HOME/.config/opencode/get-shit-done/references/ui-brand.md
27
+ @$HOME/.config/opencode/get-shit-done/references/gate-prompts.md
28
+ </execution_context>
29
+
30
+ <context>
31
+ $ARGUMENTS
32
+ </context>
33
+
34
+ <process>
35
+ Execute the import workflow end-to-end.
36
+ </process>
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: gsd-intel
3
+ description: "Query, inspect, or refresh codebase intelligence files in .planning/intel/"
4
+ argument-hint: "[query <term>|status|diff|refresh]"
5
+ permissions:
6
+ read: true
7
+ bash: true
8
+ task: true
9
+ ---
10
+
11
+ <objective>
12
+ Query, inspect, or refresh codebase intelligence files in .planning/intel/
13
+ </objective>
14
+
15
+ <process>
16
+
17
+ **STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by OpenCode's command system. Using the read tool on this file wastes tokens. Begin executing Step 0 immediately.**
18
+
19
+ ## Step 0 -- Banner
20
+
21
+ **Before ANY tool calls**, display this banner:
22
+
23
+ ```
24
+ GSD > INTEL
25
+ ```
26
+
27
+ Then proceed to Step 1.
28
+
29
+ ## Step 1 -- Config Gate
30
+
31
+ Check if intel is enabled by reading `.planning/config.json` directly using the read tool.
32
+
33
+ **DO NOT use the gsd-tools config get-value command** -- it hard-exits on missing keys.
34
+
35
+ 1. read `.planning/config.json` using the read tool
36
+ 2. If the file does not exist: display the disabled message below and **STOP**
37
+ 3. Parse the JSON content. Check if `config.intel && config.intel.enabled === true`
38
+ 4. If `intel.enabled` is NOT explicitly `true`: display the disabled message below and **STOP**
39
+ 5. If `intel.enabled` is `true`: proceed to Step 2
40
+
41
+ **Disabled message:**
42
+
43
+ ```
44
+ GSD > INTEL
45
+
46
+ Intel system is disabled. To activate:
47
+
48
+ node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs config-set intel.enabled true
49
+
50
+ Then run /gsd-intel refresh to build the initial index.
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Step 2 -- Parse Argument
56
+
57
+ Parse `$ARGUMENTS` to determine the operation mode:
58
+
59
+ | Argument | Action |
60
+ |----------|--------|
61
+ | `query <term>` | Run inline query (Step 2a) |
62
+ | `status` | Run inline status check (Step 2b) |
63
+ | `diff` | Run inline diff check (Step 2c) |
64
+ | `refresh` | Spawn intel-updater agent (Step 3) |
65
+ | No argument or unknown | Show usage message |
66
+
67
+ **Usage message** (shown when no argument or unrecognized argument):
68
+
69
+ ```
70
+ GSD > INTEL
71
+
72
+ Usage: /gsd-intel <mode>
73
+
74
+ Modes:
75
+ query <term> Search intel files for a term
76
+ status Show intel file freshness and staleness
77
+ diff Show changes since last snapshot
78
+ refresh Rebuild all intel files from codebase analysis
79
+ ```
80
+
81
+ ### Step 2a -- Query
82
+
83
+ Run:
84
+
85
+ ```bash
86
+ node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel query <term>
87
+ ```
88
+
89
+ Parse the JSON output and display results:
90
+ - If the output contains `"disabled": true`, display the disabled message from Step 1 and **STOP**
91
+ - If no matches found, display: `No intel matches for '<term>'. Try /gsd-intel refresh to build the index.`
92
+ - Otherwise, display matching entries grouped by intel file
93
+
94
+ **STOP** after displaying results. Do not spawn an agent.
95
+
96
+ ### Step 2b -- Status
97
+
98
+ Run:
99
+
100
+ ```bash
101
+ node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel status
102
+ ```
103
+
104
+ Parse the JSON output and display each intel file with:
105
+ - File name
106
+ - Last `updated_at` timestamp
107
+ - STALE or FRESH status (stale if older than 24 hours or missing)
108
+
109
+ **STOP** after displaying status. Do not spawn an agent.
110
+
111
+ ### Step 2c -- Diff
112
+
113
+ Run:
114
+
115
+ ```bash
116
+ node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel diff
117
+ ```
118
+
119
+ Parse the JSON output and display:
120
+ - Added entries since last snapshot
121
+ - Removed entries since last snapshot
122
+ - Changed entries since last snapshot
123
+
124
+ If no snapshot exists, suggest running `refresh` first.
125
+
126
+ **STOP** after displaying diff. Do not spawn an agent.
127
+
128
+ ---
129
+
130
+ ## Step 3 -- Refresh (Agent Spawn)
131
+
132
+ Display before spawning:
133
+
134
+ ```
135
+ GSD > Spawning intel-updater agent to analyze codebase...
136
+ ```
137
+
138
+ Spawn a task:
139
+
140
+ ```
141
+ @gsd-intel-updater "You are the gsd-intel-updater agent. Your job is to analyze this codebase and write/update intelligence files in .planning/intel/.
142
+
143
+ Project root: ${CWD}
144
+ gsd-tools path: $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs
145
+
146
+ Instructions:
147
+ 1. Analyze the codebase structure, dependencies, APIs, and architecture
148
+ 2. write JSON intel files to .planning/intel/ (stack.json, api-map.json, dependency-graph.json, file-roles.json, arch-decisions.json)
149
+ 3. Each file must have a _meta object with updated_at timestamp
150
+ 4. Use gsd-tools intel extract-exports <file> to analyze source files
151
+ 5. Use gsd-tools intel patch-meta <file> to update timestamps after writing
152
+ 6. Use gsd-tools intel validate to check your output
153
+
154
+ When complete, output: ## INTEL UPDATE COMPLETE
155
+ If something fails, output: ## INTEL UPDATE FAILED with details."
156
+ ```
157
+
158
+ Wait for the agent to complete.
159
+
160
+ ---
161
+
162
+ ## Step 4 -- Post-Refresh Summary
163
+
164
+ After the agent completes, run:
165
+
166
+ ```bash
167
+ node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel status
168
+ ```
169
+
170
+ Display a summary showing:
171
+ - Which intel files were written or updated
172
+ - Last update timestamps
173
+ - Overall health of the intel index
174
+
175
+ ---
176
+
177
+ ## Anti-Patterns
178
+
179
+ 1. DO NOT spawn an agent for query/status/diff operations -- these are inline CLI calls
180
+ 2. DO NOT modify intel files directly -- the agent handles writes during refresh
181
+ 3. DO NOT skip the config gate check
182
+ 4. DO NOT use the gsd-tools config get-value CLI for the config gate -- it exits on missing keys
183
+ </process>
@@ -13,6 +13,8 @@ Detect the current project state and automatically invoke the next logical GSD w
13
13
  No arguments needed — reads STATE.md, ROADMAP.md, and phase directories to determine what comes next.
14
14
 
15
15
  Designed for rapid multi-project workflows where remembering which phase/step you're on is overhead.
16
+
17
+ Supports `--force` flag to bypass safety gates (checkpoint, error state, verification failures).
16
18
  </objective>
17
19
 
18
20
  <execution_context>
@@ -224,20 +224,74 @@ git -C "$CONFIG_DIR" log --oneline --no-merges -- "{file_path}" | grep -v "gsd:u
224
224
  Each matching commit represents an intentional user modification. Use the commit messages and diffs to understand what was changed and why.
225
225
 
226
226
  4. **write merged result** to the installed location
227
- 5. **Report status per file:**
227
+
228
+ ### Post-merge verification
229
+
230
+ After writing each merged file, verify that user modifications survived the merge:
231
+
232
+ 1. **Line-count check:** Count lines in the backup and the merged result. If the merged result has fewer lines than the backup minus the expected upstream removals, flag for review.
233
+ 2. **Hunk presence check:** For each user-added section identified during diff analysis, search the merged output for at least the first significant line (non-blank, non-comment) of each addition. Missing signature lines indicate a dropped hunk.
234
+ 3. **Report warnings inline** (do not block):
235
+ ```
236
+ ⚠ Potential dropped content in {file_path}:
237
+ - Missing hunk near line {N}: "{first_line_preview}..." ({line_count} lines)
238
+ - Backup available: {patches_dir}/{file_path}
239
+ ```
240
+ 4. **Produce a Hunk Verification Table** — one row per hunk per file. This table is **mandatory output** and must be produced before Step 5 can proceed. Format:
241
+
242
+ | file | hunk_id | signature_line | line_count | verified |
243
+ |------|---------|----------------|------------|----------|
244
+ | {file_path} | {N} | {first_significant_line} | {count} | yes |
245
+ | {file_path} | {N} | {first_significant_line} | {count} | no |
246
+
247
+ - `hunk_id` — sequential integer per file (1, 2, 3…)
248
+ - `signature_line` — first non-blank, non-comment line of the user-added section
249
+ - `line_count` — total lines in the hunk
250
+ - `verified` — `yes` if the signature_line is present in the merged output, `no` otherwise
251
+
252
+ 5. **Track verification status** — add to per-file report: `Merged (verified)` vs `Merged (⚠ {N} hunks may be missing)`
253
+
254
+ 6. **Report status per file:**
228
255
  - `Merged` — user modifications applied cleanly (show summary of what was preserved)
229
256
  - `Conflict` — user reviewed and chose resolution
230
257
  - `Incorporated` — user's modification was already adopted upstream (only valid when pristine baseline confirms this)
231
258
 
232
259
  **Never report `Skipped — no custom content`.** If a file is in the backup, it has custom content.
233
260
 
234
- ## Step 5: Cleanup option
261
+ ## Step 5: Hunk Verification Gate
262
+
263
+ Before proceeding to cleanup, evaluate the Hunk Verification Table produced in Step 4.
264
+
265
+ **If the Hunk Verification Table is absent** (Step 4 did not produce it), STOP immediately and report to the user:
266
+ ```
267
+ ERROR: Hunk Verification Table is missing. Post-merge verification was not completed.
268
+ Rerun /gsd-reapply-patches to retry with full verification.
269
+ ```
270
+
271
+ **If any row in the Hunk Verification Table shows `verified: no`**, STOP and report to the user:
272
+ ```
273
+ ERROR: {N} hunk(s) failed verification — content may have been dropped during merge.
274
+
275
+ Unverified hunks:
276
+ {file} hunk {hunk_id}: signature line "{signature_line}" not found in merged output
277
+
278
+ The backup is preserved at: {patches_dir}/{file}
279
+ Review the merged file manually, then either:
280
+ (a) Re-merge the missing content by hand, or
281
+ (b) Restore from backup: cp {patches_dir}/{file} {installed_path}
282
+ ```
283
+
284
+ Do not proceed to cleanup until the user confirms they have resolved all unverified hunks.
285
+
286
+ **Only when all rows show `verified: yes`** (or when all files had zero user-added hunks) may execution continue to Step 6.
287
+
288
+ ## Step 6: Cleanup option
235
289
 
236
290
  Ask user:
237
291
  - "Keep patch backups for reference?" → preserve `gsd-local-patches/`
238
292
  - "Clean up patch backups?" → remove `gsd-local-patches/` directory
239
293
 
240
- ## Step 6: Report
294
+ ## Step 7: Report
241
295
 
242
296
  ```
243
297
  ## Patches Reapplied
@@ -260,4 +314,5 @@ Ask user:
260
314
  - [ ] User modifications identified and merged into new version
261
315
  - [ ] Conflicts surfaced to user with both versions shown
262
316
  - [ ] Status reported for each file with summary of what was preserved
317
+ - [ ] Post-merge verification checks each file for dropped hunks and warns if content appears missing
263
318
  </success_criteria>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: gsd-review
3
3
  description: Request cross-AI peer review of phase plans from external AI CLIs
4
- argument-hint: "--phase N [--gemini] [--OpenCode] [--codex] [--opencode] [--all]"
4
+ argument-hint: "--phase N [--gemini] [--OpenCode] [--codex] [--opencode] [--qwen] [--cursor] [--all]"
5
5
  permissions:
6
6
  read: true
7
7
  write: true
@@ -11,7 +11,7 @@ permissions:
11
11
  ---
12
12
 
13
13
  <objective>
14
- Invoke external AI CLIs (Gemini, OpenCode, Codex, OpenCode) to independently review phase plans.
14
+ Invoke external AI CLIs (Gemini, OpenCode, Codex, OpenCode, Qwen Code, Cursor) to independently review phase plans.
15
15
  Produces a structured REVIEWS.md with per-reviewer feedback that can be fed back into
16
16
  planning via /gsd-plan-phase --reviews.
17
17
 
@@ -30,6 +30,8 @@ Phase number: extracted from $ARGUMENTS (required)
30
30
  - `--OpenCode` — Include OpenCode CLI review (uses separate session)
31
31
  - `--codex` — Include Codex CLI review
32
32
  - `--opencode` — Include OpenCode review (uses model from user's OpenCode config)
33
+ - `--qwen` — Include Qwen Code review (Alibaba Qwen models)
34
+ - `--cursor` — Include Cursor agent review
33
35
  - `--all` — Include all available CLIs
34
36
  </context>
35
37
 
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: gsd-scan
3
+ description: Rapid codebase assessment — lightweight alternative to /gsd-map-codebase
4
+ permissions:
5
+ read: true
6
+ write: true
7
+ bash: true
8
+ grep: true
9
+ glob: true
10
+ - Agent
11
+ question: true
12
+ ---
13
+ <objective>
14
+ Run a focused codebase scan for a single area, producing targeted documents in `.planning/codebase/`.
15
+ Accepts an optional `--focus` flag: `tech`, `arch`, `quality`, `concerns`, or `tech+arch` (default).
16
+
17
+ Lightweight alternative to `/gsd-map-codebase` — spawns one mapper agent instead of four parallel ones.
18
+ </objective>
19
+
20
+ <execution_context>
21
+ @$HOME/.config/opencode/get-shit-done/workflows/scan.md
22
+ </execution_context>
23
+
24
+ <process>
25
+ Execute the scan workflow from @$HOME/.config/opencode/get-shit-done/workflows/scan.md end-to-end.
26
+ </process>
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: gsd-undo
3
+ description: "Safe git revert. Roll back phase or plan commits using the phase manifest with dependency checks."
4
+ argument-hint: "--last N | --phase NN | --plan NN-MM"
5
+ permissions:
6
+ read: true
7
+ bash: true
8
+ glob: true
9
+ grep: true
10
+ question: true
11
+ ---
12
+
13
+ <objective>
14
+ Safe git revert — roll back GSD phase or plan commits using the phase manifest, with dependency checks and a confirmation gate before execution.
15
+
16
+ Three modes:
17
+ - **--last N**: Show recent GSD commits for interactive selection
18
+ - **--phase NN**: Revert all commits for a phase (manifest + git log fallback)
19
+ - **--plan NN-MM**: Revert all commits for a specific plan
20
+ </objective>
21
+
22
+ <execution_context>
23
+ @$HOME/.config/opencode/get-shit-done/workflows/undo.md
24
+ @$HOME/.config/opencode/get-shit-done/references/ui-brand.md
25
+ @$HOME/.config/opencode/get-shit-done/references/gate-prompts.md
26
+ </execution_context>
27
+
28
+ <context>
29
+ $ARGUMENTS
30
+ </context>
31
+
32
+ <process>
33
+ Execute the undo workflow from @$HOME/.config/opencode/get-shit-done/workflows/undo.md end-to-end.
34
+ </process>
@@ -36,30 +36,30 @@ If no subcommand given, default to `list`.
36
36
  ## Step 2: Execute Operation
37
37
 
38
38
  ### list
39
- Run: `node "$GSD_TOOLS" workstream list --raw --cwd "$CWD"`
39
+ Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream list --raw --cwd "$CWD"`
40
40
  Display the workstreams in a table format showing name, status, current phase, and progress.
41
41
 
42
42
  ### create
43
- Run: `node "$GSD_TOOLS" workstream create <name> --raw --cwd "$CWD"`
43
+ Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream create <name> --raw --cwd "$CWD"`
44
44
  After creation, display the new workstream path and suggest next steps:
45
45
  - `/gsd-new-milestone --ws <name>` to set up the milestone
46
46
 
47
47
  ### status
48
- Run: `node "$GSD_TOOLS" workstream status <name> --raw --cwd "$CWD"`
48
+ Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream status <name> --raw --cwd "$CWD"`
49
49
  Display detailed phase breakdown and state information.
50
50
 
51
51
  ### switch
52
- Run: `node "$GSD_TOOLS" workstream set <name> --raw --cwd "$CWD"`
52
+ Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream set <name> --raw --cwd "$CWD"`
53
53
  Also set `GSD_WORKSTREAM` for the current session when the runtime supports it.
54
54
  If the runtime exposes a session identifier, GSD also stores the active workstream
55
55
  session-locally so concurrent sessions do not overwrite each other.
56
56
 
57
57
  ### progress
58
- Run: `node "$GSD_TOOLS" workstream progress --raw --cwd "$CWD"`
58
+ Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream progress --raw --cwd "$CWD"`
59
59
  Display a progress overview across all workstreams.
60
60
 
61
61
  ### complete
62
- Run: `node "$GSD_TOOLS" workstream complete <name> --raw --cwd "$CWD"`
62
+ Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream complete <name> --raw --cwd "$CWD"`
63
63
  Archive the workstream to milestones/.
64
64
 
65
65
  ### resume