gsd-opencode 1.20.4 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/agents/gsd-codebase-mapper.md +10 -1
  2. package/agents/gsd-debugger.md +67 -10
  3. package/agents/gsd-executor.md +37 -16
  4. package/agents/gsd-integration-checker.md +3 -0
  5. package/agents/gsd-nyquist-auditor.md +179 -0
  6. package/agents/gsd-phase-researcher.md +29 -34
  7. package/agents/gsd-plan-checker.md +43 -78
  8. package/agents/gsd-planner.md +140 -24
  9. package/agents/gsd-project-researcher.md +12 -1
  10. package/agents/gsd-research-synthesizer.md +14 -3
  11. package/agents/gsd-roadmapper.md +26 -15
  12. package/agents/gsd-verifier.md +30 -6
  13. package/bin/dm/lib/constants.js +6 -1
  14. package/bin/dm/src/services/file-ops.js +14 -1
  15. package/commands/gsd/gsd-add-phase.md +6 -6
  16. package/commands/gsd/gsd-add-tests.md +41 -0
  17. package/commands/gsd/gsd-add-todo.md +7 -7
  18. package/commands/gsd/gsd-audit-milestone.md +9 -9
  19. package/commands/gsd/gsd-check-profile.md +3 -3
  20. package/commands/gsd/gsd-check-todos.md +7 -7
  21. package/commands/gsd/gsd-cleanup.md +2 -2
  22. package/commands/gsd/gsd-complete-milestone.md +6 -6
  23. package/commands/gsd/gsd-debug.md +11 -7
  24. package/commands/gsd/gsd-discuss-phase.md +26 -19
  25. package/commands/gsd/gsd-execute-phase.md +13 -13
  26. package/commands/gsd/gsd-health.md +7 -7
  27. package/commands/gsd/gsd-help.md +2 -2
  28. package/commands/gsd/gsd-insert-phase.md +6 -6
  29. package/commands/gsd/gsd-join-discord.md +1 -1
  30. package/commands/gsd/gsd-list-phase-assumptions.md +6 -6
  31. package/commands/gsd/gsd-map-codebase.md +8 -8
  32. package/commands/gsd/gsd-new-milestone.md +12 -12
  33. package/commands/gsd/gsd-new-project.md +12 -12
  34. package/commands/gsd/gsd-pause-work.md +6 -6
  35. package/commands/gsd/gsd-plan-milestone-gaps.md +9 -9
  36. package/commands/gsd/gsd-plan-phase.md +14 -13
  37. package/commands/gsd/gsd-progress.md +8 -8
  38. package/commands/gsd/gsd-quick.md +17 -13
  39. package/commands/gsd/gsd-reapply-patches.md +20 -9
  40. package/commands/gsd/gsd-remove-phase.md +7 -7
  41. package/commands/gsd/gsd-research-phase.md +12 -11
  42. package/commands/gsd/gsd-resume-work.md +8 -8
  43. package/commands/gsd/gsd-set-profile.md +6 -6
  44. package/commands/gsd/gsd-settings.md +7 -7
  45. package/commands/gsd/gsd-update.md +5 -5
  46. package/commands/gsd/gsd-validate-phase.md +35 -0
  47. package/commands/gsd/gsd-verify-work.md +11 -11
  48. package/get-shit-done/bin/gsd-tools.cjs +45 -6
  49. package/get-shit-done/bin/lib/commands.cjs +11 -19
  50. package/get-shit-done/bin/lib/config.cjs +8 -1
  51. package/get-shit-done/bin/lib/core.cjs +131 -16
  52. package/get-shit-done/bin/lib/init.cjs +28 -12
  53. package/get-shit-done/bin/lib/milestone.cjs +34 -8
  54. package/get-shit-done/bin/lib/phase.cjs +74 -50
  55. package/get-shit-done/bin/lib/roadmap.cjs +7 -7
  56. package/get-shit-done/bin/lib/state.cjs +294 -63
  57. package/get-shit-done/bin/lib/template.cjs +3 -3
  58. package/get-shit-done/bin/lib/verify.cjs +56 -8
  59. package/get-shit-done/references/checkpoints.md +1 -1
  60. package/get-shit-done/references/decimal-phase-calculation.md +6 -6
  61. package/get-shit-done/references/git-integration.md +3 -3
  62. package/get-shit-done/references/git-planning-commit.md +2 -2
  63. package/get-shit-done/references/model-profile-resolution.md +1 -1
  64. package/get-shit-done/references/model-profiles.md +1 -0
  65. package/get-shit-done/references/phase-argument-parsing.md +4 -4
  66. package/get-shit-done/references/planning-config.md +10 -6
  67. package/get-shit-done/references/questioning.md +17 -0
  68. package/get-shit-done/references/verification-patterns.md +1 -1
  69. package/get-shit-done/templates/DEBUG.md +7 -2
  70. package/get-shit-done/templates/VALIDATION.md +18 -46
  71. package/get-shit-done/templates/codebase/structure.md +3 -3
  72. package/get-shit-done/templates/config.json +2 -2
  73. package/get-shit-done/templates/context.md +14 -0
  74. package/get-shit-done/templates/phase-prompt.md +10 -10
  75. package/get-shit-done/templates/retrospective.md +54 -0
  76. package/get-shit-done/templates/roadmap.md +1 -1
  77. package/get-shit-done/workflows/add-phase.md +3 -2
  78. package/get-shit-done/workflows/add-tests.md +351 -0
  79. package/get-shit-done/workflows/add-todo.md +4 -3
  80. package/get-shit-done/workflows/audit-milestone.md +40 -5
  81. package/get-shit-done/workflows/check-todos.md +3 -2
  82. package/get-shit-done/workflows/cleanup.md +1 -1
  83. package/get-shit-done/workflows/complete-milestone.md +69 -5
  84. package/get-shit-done/workflows/diagnose-issues.md +2 -2
  85. package/get-shit-done/workflows/discovery-phase.md +6 -6
  86. package/get-shit-done/workflows/discuss-phase.md +194 -58
  87. package/get-shit-done/workflows/execute-phase.md +29 -23
  88. package/get-shit-done/workflows/execute-plan.md +22 -18
  89. package/get-shit-done/workflows/health.md +5 -2
  90. package/get-shit-done/workflows/help.md +4 -1
  91. package/get-shit-done/workflows/insert-phase.md +3 -2
  92. package/get-shit-done/workflows/map-codebase.md +3 -2
  93. package/get-shit-done/workflows/new-milestone.md +12 -10
  94. package/get-shit-done/workflows/new-project.md +44 -49
  95. package/get-shit-done/workflows/pause-work.md +2 -2
  96. package/get-shit-done/workflows/plan-milestone-gaps.md +3 -3
  97. package/get-shit-done/workflows/plan-phase.md +155 -73
  98. package/get-shit-done/workflows/progress.md +8 -7
  99. package/get-shit-done/workflows/quick.md +158 -10
  100. package/get-shit-done/workflows/remove-phase.md +5 -4
  101. package/get-shit-done/workflows/research-phase.md +5 -4
  102. package/get-shit-done/workflows/resume-project.md +3 -2
  103. package/get-shit-done/workflows/set-profile.md +3 -2
  104. package/get-shit-done/workflows/settings.md +6 -6
  105. package/get-shit-done/workflows/transition.md +5 -5
  106. package/get-shit-done/workflows/update.md +45 -19
  107. package/get-shit-done/workflows/validate-phase.md +167 -0
  108. package/get-shit-done/workflows/verify-phase.md +10 -9
  109. package/get-shit-done/workflows/verify-work.md +18 -4
  110. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: gsd-roadmapper
3
3
  description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /gsd-new-project orchestrator.
4
+ mode: subagent
4
5
  tools:
5
6
  read: true
6
7
  write: true
@@ -8,6 +9,14 @@ tools:
8
9
  glob: true
9
10
  grep: true
10
11
  color: "#800080"
12
+ skills:
13
+ - gsd-roadmapper-workflow
14
+ # hooks:
15
+ # PostToolUse:
16
+ # - matcher: "write|edit"
17
+ # hooks:
18
+ # - type: command
19
+ # command: "npx eslint --fix $FILE 2>/dev/null || true"
11
20
  ---
12
21
 
13
22
  <role>
@@ -197,17 +206,17 @@ Track coverage as you go.
197
206
  - New milestone: Start at 1
198
207
  - Continuing milestone: Check existing phases, start at last + 1
199
208
 
200
- ## Depth Calibration
209
+ ## Granularity Calibration
201
210
 
202
- read depth from config.json. Depth controls compression tolerance.
211
+ read granularity from config.json. Granularity controls compression tolerance.
203
212
 
204
- | Depth | Typical Phases | What It Means |
205
- |-------|----------------|---------------|
206
- | Quick | 3-5 | Combine aggressively, critical path only |
213
+ | Granularity | Typical Phases | What It Means |
214
+ |-------------|----------------|---------------|
215
+ | Coarse | 3-5 | Combine aggressively, critical path only |
207
216
  | Standard | 5-8 | Balanced grouping |
208
- | Comprehensive | 8-12 | Let natural boundaries stand |
217
+ | Fine | 8-12 | Let natural boundaries stand |
209
218
 
210
- **Key:** Derive phases from work, then apply depth as compression guidance. Don't pad small projects or compress complex ones.
219
+ **Key:** Derive phases from work, then apply granularity as compression guidance. Don't pad small projects or compress complex ones.
211
220
 
212
221
  ## Good Phase Patterns
213
222
 
@@ -333,11 +342,11 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
333
342
  | 2. Name | 0/2 | Not started | - |
334
343
  ```
335
344
 
336
- Reference full template: `~/.config/opencode/get-shit-done/templates/roadmap.md`
345
+ Reference full template: `$HOME/.config/opencode/get-shit-done/templates/roadmap.md`
337
346
 
338
347
  ## STATE.md Structure
339
348
 
340
- Use template from `~/.config/opencode/get-shit-done/templates/state.md`.
349
+ Use template from `$HOME/.config/opencode/get-shit-done/templates/state.md`.
341
350
 
342
351
  Key sections:
343
352
  - Project Reference (core value, current focus)
@@ -354,7 +363,7 @@ When presenting to user for approval:
354
363
  ## ROADMAP DRAFT
355
364
 
356
365
  **Phases:** [N]
357
- **Depth:** [from config]
366
+ **Granularity:** [from config]
358
367
  **Coverage:** [X]/[Y] requirements mapped
359
368
 
360
369
  ### Phase Structure
@@ -398,7 +407,7 @@ Orchestrator provides:
398
407
  - PROJECT.md content (core value, constraints)
399
408
  - REQUIREMENTS.md content (v1 requirements with REQ-IDs)
400
409
  - research/SUMMARY.md content (if exists - phase suggestions)
401
- - config.json (depth setting)
410
+ - config.json (granularity setting)
402
411
 
403
412
  Parse and confirm understanding before proceeding.
404
413
 
@@ -434,7 +443,7 @@ Apply phase identification methodology:
434
443
  1. Group requirements by natural delivery boundaries
435
444
  2. Identify dependencies between groups
436
445
  3. Create phases that complete coherent capabilities
437
- 4. Check depth setting for compression guidance
446
+ 4. Check granularity setting for compression guidance
438
447
 
439
448
  ## Step 5: Derive Success Criteria
440
449
 
@@ -454,7 +463,9 @@ If gaps found, include in draft for user decision.
454
463
 
455
464
  ## Step 7: write Files Immediately
456
465
 
457
- **write files first, then return.** This ensures artifacts persist even if context is lost.
466
+ **ALWAYS use the write tool to create files** never use `bash(cat << 'EOF')` or heredoc commands for file creation.
467
+
468
+ write files first, then return. This ensures artifacts persist even if context is lost.
458
469
 
459
470
  1. **write ROADMAP.md** using output format
460
471
 
@@ -497,7 +508,7 @@ When files are written and returning to orchestrator:
497
508
  ### Summary
498
509
 
499
510
  **Phases:** {N}
500
- **Depth:** {from config}
511
+ **Granularity:** {from config}
501
512
  **Coverage:** {X}/{X} requirements mapped ✓
502
513
 
503
514
  | Phase | Goal | Requirements |
@@ -623,7 +634,7 @@ Roadmap is complete when:
623
634
  - [ ] All v1 requirements extracted with IDs
624
635
  - [ ] Research context loaded (if exists)
625
636
  - [ ] Phases derived from requirements (not imposed)
626
- - [ ] Depth calibration applied
637
+ - [ ] Granularity calibration applied
627
638
  - [ ] Dependencies between phases identified
628
639
  - [ ] Success criteria derived for each phase (2-5 observable behaviors)
629
640
  - [ ] Success criteria cross-checked against requirements (gaps resolved)
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: gsd-verifier
3
3
  description: Verifies phase goal achievement through goal-backward analysis. Checks codebase delivers what phase promised, not just that tasks completed. Creates VERIFICATION.md report.
4
+ mode: subagent
4
5
  tools:
5
6
  read: true
6
7
  write: true
@@ -8,6 +9,14 @@ tools:
8
9
  grep: true
9
10
  glob: true
10
11
  color: "#008000"
12
+ skills:
13
+ - gsd-verifier-workflow
14
+ # hooks:
15
+ # PostToolUse:
16
+ # - matcher: "write|edit"
17
+ # hooks:
18
+ # - type: command
19
+ # command: "npx eslint --fix $FILE 2>/dev/null || true"
11
20
  ---
12
21
 
13
22
  <role>
@@ -21,6 +30,21 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `read` tool t
21
30
  **Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what OpenCode SAID it did. You verify what ACTUALLY exists in the code. These often differ.
22
31
  </role>
23
32
 
33
+ <project_context>
34
+ Before verifying, discover project context:
35
+
36
+ **Project instructions:** read `./AGENTS.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
37
+
38
+ **Project skills:** Check `.OpenCode/skills/` or `.agents/skills/` directory if either exists:
39
+ 1. List available skills (subdirectories)
40
+ 2. read `SKILL.md` for each skill (lightweight index ~130 lines)
41
+ 3. Load specific `rules/*.md` files as needed during verification
42
+ 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
43
+ 5. Apply skill rules when scanning for anti-patterns and verifying quality
44
+
45
+ This ensures project-specific patterns, conventions, and best practices are applied during verification.
46
+ </project_context>
47
+
24
48
  <core_principle>
25
49
  **task completion ≠ Goal achievement**
26
50
 
@@ -62,7 +86,7 @@ Set `is_re_verification = false`, proceed with Step 1.
62
86
  ```bash
63
87
  ls "$PHASE_DIR"/*-PLAN.md 2>/dev/null
64
88
  ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
65
- node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM"
89
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$PHASE_NUM"
66
90
  grep -E "^| $PHASE_NUM" .planning/REQUIREMENTS.md 2>/dev/null
67
91
  ```
68
92
 
@@ -99,7 +123,7 @@ must_haves:
99
123
  If no must_haves in frontmatter, check for Success Criteria:
100
124
 
101
125
  ```bash
102
- PHASE_DATA=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM" --raw)
126
+ PHASE_DATA=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$PHASE_NUM" --raw)
103
127
  ```
104
128
 
105
129
  Parse the `success_criteria` array from the JSON output. If non-empty:
@@ -142,7 +166,7 @@ For each truth:
142
166
  Use gsd-tools for artifact verification against must_haves in PLAN frontmatter:
143
167
 
144
168
  ```bash
145
- ARTIFACT_RESULT=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs verify artifacts "$PLAN_PATH")
169
+ ARTIFACT_RESULT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify artifacts "$PLAN_PATH")
146
170
  ```
147
171
 
148
172
  Parse JSON result: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
@@ -191,7 +215,7 @@ Key links are critical connections. If broken, the goal fails even with all arti
191
215
  Use gsd-tools for key link verification against must_haves in PLAN frontmatter:
192
216
 
193
217
  ```bash
194
- LINKS_RESULT=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs verify key-links "$PLAN_PATH")
218
+ LINKS_RESULT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify key-links "$PLAN_PATH")
195
219
  ```
196
220
 
197
221
  Parse JSON result: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
@@ -273,12 +297,12 @@ Identify files modified in this phase from SUMMARY.md key-files section, or extr
273
297
 
274
298
  ```bash
275
299
  # Option 1: Extract from SUMMARY frontmatter
276
- SUMMARY_FILES=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
300
+ SUMMARY_FILES=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
277
301
 
278
302
  # Option 2: Verify commits exist (if commit hashes documented)
279
303
  COMMIT_HASHES=$(grep -oE "[a-f0-9]{7,40}" "$PHASE_DIR"/*-SUMMARY.md | head -10)
280
304
  if [ -n "$COMMIT_HASHES" ]; then
281
- COMMITS_VALID=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs verify commits $COMMIT_HASHES)
305
+ COMMITS_VALID=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify commits $COMMIT_HASHES)
282
306
  fi
283
307
 
284
308
  # Fallback: grep for files
@@ -58,7 +58,12 @@ export const PATH_PATTERNS = {
58
58
  * These appear in workflow files that call gsd-tools.cjs directly.
59
59
  * Must be replaced for both global and local installs to ensure correct paths.
60
60
  */
61
- tildeConfigReference: /~\/\.config\/opencode\//g
61
+ tildeConfigReference: /~\/\.config\/opencode\//g,
62
+ /**
63
+ * Pattern to match literal $HOME/.config/opencode/ references in markdown files.
64
+ * These are shell-style absolute references that need to be replaced for local installs.
65
+ */
66
+ homeConfigReference: /\$HOME\/\.config\/opencode\//g
62
67
  };
63
68
 
64
69
  /**
@@ -485,8 +485,12 @@ export class FileOperations {
485
485
  if (PATH_PATTERNS.tildeConfigReference) {
486
486
  PATH_PATTERNS.tildeConfigReference.lastIndex = 0; // Reset regex
487
487
  }
488
+ const hasHomeRef = PATH_PATTERNS.homeConfigReference && PATH_PATTERNS.homeConfigReference.test(content);
489
+ if (PATH_PATTERNS.homeConfigReference) {
490
+ PATH_PATTERNS.homeConfigReference.lastIndex = 0; // Reset regex
491
+ }
488
492
 
489
- if (!hasGsdRef && !hasAbsRef && !hasTildeRef) {
493
+ if (!hasGsdRef && !hasAbsRef && !hasTildeRef && !hasHomeRef) {
490
494
  await fs.copyFile(sourcePath, targetPath, fsConstants.COPYFILE_FICLONE);
491
495
  return;
492
496
  }
@@ -520,6 +524,15 @@ export class FileOperations {
520
524
  );
521
525
  }
522
526
 
527
+ // For local installs, replace literal $HOME/.config/opencode/ with local path
528
+ // This handles shell-style references like: node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs
529
+ if (this.scopeManager.scope === 'local' && PATH_PATTERNS.homeConfigReference) {
530
+ content = content.replace(
531
+ PATH_PATTERNS.homeConfigReference,
532
+ () => targetDir + '/'
533
+ );
534
+ }
535
+
523
536
  await fs.writeFile(targetPath, content, 'utf-8');
524
537
  } else {
525
538
  // Copy binary or other files directly
@@ -2,10 +2,10 @@
2
2
  name: gsd-add-phase
3
3
  description: Add phase to end of current milestone in roadmap
4
4
  argument-hint: <description>
5
- allowed-tools:
6
- - read
7
- - write
8
- - bash
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ bash: true
9
9
  ---
10
10
 
11
11
  <objective>
@@ -19,7 +19,7 @@ Routes to the add-phase workflow which handles:
19
19
  </objective>
20
20
 
21
21
  <execution_context>
22
- @~/.config/opencode/get-shit-done/workflows/add-phase.md
22
+ @$HOME/.config/opencode/get-shit-done/workflows/add-phase.md
23
23
  </execution_context>
24
24
 
25
25
  <context>
@@ -29,7 +29,7 @@ Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool
29
29
  </context>
30
30
 
31
31
  <process>
32
- **Follow the add-phase workflow** from `@~/.config/opencode/get-shit-done/workflows/add-phase.md`.
32
+ **Follow the add-phase workflow** from `@$HOME/.config/opencode/get-shit-done/workflows/add-phase.md`.
33
33
 
34
34
  The workflow handles all logic including:
35
35
  1. Argument parsing and validation
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: gsd-add-tests
3
+ description: Generate tests for a completed phase based on UAT criteria and implementation
4
+ argument-hint: "<phase> [additional instructions]"
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ edit: true
9
+ bash: true
10
+ glob: true
11
+ grep: true
12
+ task: true
13
+ question: true
14
+ argument-instructions: |
15
+ Parse the argument as a phase number (integer, decimal, or letter-suffix), plus optional free-text instructions.
16
+ Example: /gsd-add-tests 12
17
+ Example: /gsd-add-tests 12 focus on edge cases in the pricing module
18
+ ---
19
+ <objective>
20
+ Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.
21
+
22
+ Analyzes implementation files, classifies them into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
23
+
24
+ Output: Test files committed with message `test(phase-{N}): add unit and E2E tests from add-tests command`
25
+ </objective>
26
+
27
+ <execution_context>
28
+ @$HOME/.config/opencode/get-shit-done/workflows/add-tests.md
29
+ </execution_context>
30
+
31
+ <context>
32
+ Phase: $ARGUMENTS
33
+
34
+ @.planning/STATE.md
35
+ @.planning/ROADMAP.md
36
+ </context>
37
+
38
+ <process>
39
+ Execute the add-tests workflow from @$HOME/.config/opencode/get-shit-done/workflows/add-tests.md end-to-end.
40
+ Preserve all workflow gates (classification approval, test plan approval, RED-GREEN verification, gap reporting).
41
+ </process>
@@ -2,11 +2,11 @@
2
2
  name: gsd-add-todo
3
3
  description: Capture idea or task as todo from current conversation context
4
4
  argument-hint: [optional description]
5
- allowed-tools:
6
- - read
7
- - write
8
- - bash
9
- - question
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ bash: true
9
+ question: true
10
10
  ---
11
11
 
12
12
  <objective>
@@ -23,7 +23,7 @@ Routes to the add-todo workflow which handles:
23
23
  </objective>
24
24
 
25
25
  <execution_context>
26
- @~/.config/opencode/get-shit-done/workflows/add-todo.md
26
+ @$HOME/.config/opencode/get-shit-done/workflows/add-todo.md
27
27
  </execution_context>
28
28
 
29
29
  <context>
@@ -33,7 +33,7 @@ State is resolved in-workflow via `init todos` and targeted reads.
33
33
  </context>
34
34
 
35
35
  <process>
36
- **Follow the add-todo workflow** from `@~/.config/opencode/get-shit-done/workflows/add-todo.md`.
36
+ **Follow the add-todo workflow** from `@$HOME/.config/opencode/get-shit-done/workflows/add-todo.md`.
37
37
 
38
38
  The workflow handles all logic including:
39
39
  1. Directory ensuring
@@ -2,13 +2,13 @@
2
2
  name: gsd-audit-milestone
3
3
  description: Audit milestone completion against original intent before archiving
4
4
  argument-hint: "[version]"
5
- allowed-tools:
6
- - read
7
- - glob
8
- - grep
9
- - bash
10
- - task
11
- - write
5
+ permissions:
6
+ read: true
7
+ glob: true
8
+ grep: true
9
+ bash: true
10
+ task: true
11
+ write: true
12
12
  ---
13
13
  <objective>
14
14
  Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
@@ -17,7 +17,7 @@ Verify milestone achieved its definition of done. Check requirements coverage, c
17
17
  </objective>
18
18
 
19
19
  <execution_context>
20
- @~/.config/opencode/get-shit-done/workflows/audit-milestone.md
20
+ @$HOME/.config/opencode/get-shit-done/workflows/audit-milestone.md
21
21
  </execution_context>
22
22
 
23
23
  <context>
@@ -31,6 +31,6 @@ glob: .planning/phases/*/*-VERIFICATION.md
31
31
  </context>
32
32
 
33
33
  <process>
34
- Execute the audit-milestone workflow from @~/.config/opencode/get-shit-done/workflows/audit-milestone.md end-to-end.
34
+ Execute the audit-milestone workflow from @$HOME/.config/opencode/get-shit-done/workflows/audit-milestone.md end-to-end.
35
35
  Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
36
36
  </process>
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: gsd-check-profile
3
3
  description: Validate gsd-opencode profile configuration
4
- allowed-tools:
5
- - read
6
- - bash
4
+ permissions:
5
+ read: true
6
+ bash: true
7
7
  ---
8
8
  <objective>
9
9
  Validate gsd-opencode profile configuration across both `opencode.json` and `.planning/oc_config.json`, then report results.
@@ -2,11 +2,11 @@
2
2
  name: gsd-check-todos
3
3
  description: List pending todos and select one to work on
4
4
  argument-hint: [area filter]
5
- allowed-tools:
6
- - read
7
- - write
8
- - bash
9
- - question
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ bash: true
9
+ question: true
10
10
  ---
11
11
 
12
12
  <objective>
@@ -21,7 +21,7 @@ Routes to the check-todos workflow which handles:
21
21
  </objective>
22
22
 
23
23
  <execution_context>
24
- @~/.config/opencode/get-shit-done/workflows/check-todos.md
24
+ @$HOME/.config/opencode/get-shit-done/workflows/check-todos.md
25
25
  </execution_context>
26
26
 
27
27
  <context>
@@ -31,7 +31,7 @@ Todo state and roadmap correlation are loaded in-workflow using `init todos` and
31
31
  </context>
32
32
 
33
33
  <process>
34
- **Follow the check-todos workflow** from `@~/.config/opencode/get-shit-done/workflows/check-todos.md`.
34
+ **Follow the check-todos workflow** from `@$HOME/.config/opencode/get-shit-done/workflows/check-todos.md`.
35
35
 
36
36
  The workflow handles all logic including:
37
37
  1. Todo existence checking
@@ -9,10 +9,10 @@ Use when `.planning/phases/` has accumulated directories from past milestones.
9
9
  </objective>
10
10
 
11
11
  <execution_context>
12
- @~/.config/opencode/get-shit-done/workflows/cleanup.md
12
+ @$HOME/.config/opencode/get-shit-done/workflows/cleanup.md
13
13
  </execution_context>
14
14
 
15
15
  <process>
16
- Follow the cleanup workflow at @~/.config/opencode/get-shit-done/workflows/cleanup.md.
16
+ Follow the cleanup workflow at @$HOME/.config/opencode/get-shit-done/workflows/cleanup.md.
17
17
  Identify completed milestones, show a dry-run summary, and archive on confirmation.
18
18
  </process>
@@ -3,10 +3,10 @@ type: prompt
3
3
  name: gsd-complete-milestone
4
4
  description: Archive completed milestone and prepare for next version
5
5
  argument-hint: <version>
6
- allowed-tools:
7
- - read
8
- - write
9
- - bash
6
+ permissions:
7
+ read: true
8
+ write: true
9
+ bash: true
10
10
  ---
11
11
 
12
12
  <objective>
@@ -19,8 +19,8 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
19
19
  <execution_context>
20
20
  **Load these files NOW (before proceeding):**
21
21
 
22
- - @~/.config/opencode/get-shit-done/workflows/complete-milestone.md (main workflow)
23
- - @~/.config/opencode/get-shit-done/templates/milestone-archive.md (archive template)
22
+ - @$HOME/.config/opencode/get-shit-done/workflows/complete-milestone.md (main workflow)
23
+ - @$HOME/.config/opencode/get-shit-done/templates/milestone-archive.md (archive template)
24
24
  </execution_context>
25
25
 
26
26
  <context>
@@ -2,11 +2,11 @@
2
2
  name: gsd-debug
3
3
  description: Systematic debugging with persistent state across context resets
4
4
  argument-hint: [issue description]
5
- allowed-tools:
6
- - read
7
- - bash
8
- - task
9
- - question
5
+ permissions:
6
+ read: true
7
+ bash: true
8
+ task: true
9
+ question: true
10
10
  ---
11
11
 
12
12
  <objective>
@@ -31,12 +31,13 @@ ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
31
31
  ## 0. Initialize Context
32
32
 
33
33
  ```bash
34
- INIT=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs state load)
34
+ INIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" state load)
35
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
35
36
  ```
36
37
 
37
38
  Extract `commit_docs` from init JSON. Resolve debugger model:
38
39
  ```bash
39
- DEBUGGER_MODEL=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs resolve-model gsd-debugger --raw)
40
+ debugger_model=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-debugger --raw)
40
41
  ```
41
42
 
42
43
  ## 1. Check Active Sessions
@@ -110,6 +111,9 @@ task(
110
111
  **If `## CHECKPOINT REACHED`:**
111
112
  - Present checkpoint details to user
112
113
  - Get user response
114
+ - If checkpoint type is `human-verify`:
115
+ - If user confirms fixed: continue so agent can finalize/resolve/archive
116
+ - If user reports issues: continue so agent returns to investigation/fixing
113
117
  - Spawn continuation agent (see step 5)
114
118
 
115
119
  **If `## INVESTIGATION INCONCLUSIVE`:**
@@ -2,31 +2,35 @@
2
2
  name: gsd-discuss-phase
3
3
  description: Gather phase context through adaptive questioning before planning
4
4
  argument-hint: "<phase> [--auto]"
5
- allowed-tools:
6
- - read
7
- - write
8
- - bash
9
- - glob
10
- - grep
11
- - question
12
- - task
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ bash: true
9
+ glob: true
10
+ grep: true
11
+ question: true
12
+ task: true
13
+ mcp__context7__resolve-library-id: true
14
+ mcp__context7__query-docs: true
13
15
  ---
14
16
 
15
17
  <objective>
16
18
  Extract implementation decisions that downstream agents need — researcher and planner will use CONTEXT.md to know what to investigate and what choices are locked.
17
19
 
18
20
  **How it works:**
19
- 1. Analyze the phase to identify gray areas (UI, UX, behavior, etc.)
20
- 2. Present gray areas user selects which to discuss
21
- 3. Deep-dive each selected area until satisfied
22
- 4. Create CONTEXT.md with decisions that guide research and planning
21
+ 1. Load prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, prior CONTEXT.md files)
22
+ 2. Scout codebase for reusable assets and patterns
23
+ 3. Analyze phase skip gray areas already decided in prior phases
24
+ 4. Present remaining gray areas user selects which to discuss
25
+ 5. Deep-dive each selected area until satisfied
26
+ 6. Create CONTEXT.md with decisions that guide research and planning
23
27
 
24
28
  **Output:** `{phase_num}-CONTEXT.md` — decisions clear enough that downstream agents can act without asking the user again
25
29
  </objective>
26
30
 
27
31
  <execution_context>
28
- @~/.config/opencode/get-shit-done/workflows/discuss-phase.md
29
- @~/.config/opencode/get-shit-done/templates/context.md
32
+ @$HOME/.config/opencode/get-shit-done/workflows/discuss-phase.md
33
+ @$HOME/.config/opencode/get-shit-done/templates/context.md
30
34
  </execution_context>
31
35
 
32
36
  <context>
@@ -38,11 +42,13 @@ Context files are resolved in-workflow using `init phase-op` and roadmap/state t
38
42
  <process>
39
43
  1. Validate phase number (error if missing or not in roadmap)
40
44
  2. Check if CONTEXT.md exists (offer update/view/skip if yes)
41
- 3. **Analyze phase** — Identify domain and generate phase-specific gray areas
42
- 4. **Present gray areas** — Multi-select: which to discuss? (NO skip option)
43
- 5. **Deep-dive each area** — 4 questions per area, then offer more/next
44
- 6. **write CONTEXT.md** — Sections match areas discussed
45
- 7. Offer next steps (research or plan)
45
+ 3. **Load prior context** — read PROJECT.md, REQUIREMENTS.md, STATE.md, and all prior CONTEXT.md files
46
+ 4. **Scout codebase** — Find reusable assets, patterns, and integration points
47
+ 5. **Analyze phase** — Check prior decisions, skip already-decided areas, generate remaining gray areas
48
+ 6. **Present gray areas** — Multi-select: which to discuss? Annotate with prior decisions + code context
49
+ 7. **Deep-dive each area** 4 questions per area, code-informed options, Context7 for library choices
50
+ 8. **write CONTEXT.md** — Sections match areas discussed + code_context section
51
+ 9. Offer next steps (research or plan)
46
52
 
47
53
  **CRITICAL: Scope guardrail**
48
54
  - Phase boundary from ROADMAP.md is FIXED
@@ -74,6 +80,7 @@ Generate 3-4 **phase-specific** gray areas, not generic categories.
74
80
  </process>
75
81
 
76
82
  <success_criteria>
83
+ - Prior context loaded and applied (no re-asking decided questions)
77
84
  - Gray areas identified through intelligent analysis
78
85
  - User chose which areas to discuss
79
86
  - Each selected area explored until satisfied
@@ -2,16 +2,16 @@
2
2
  name: gsd-execute-phase
3
3
  description: Execute all plans in a phase with wave-based parallelization
4
4
  argument-hint: "<phase-number> [--gaps-only]"
5
- allowed-tools:
6
- - read
7
- - write
8
- - edit
9
- - glob
10
- - grep
11
- - bash
12
- - task
13
- - todowrite
14
- - question
5
+ permissions:
6
+ read: true
7
+ write: true
8
+ edit: true
9
+ glob: true
10
+ grep: true
11
+ bash: true
12
+ task: true
13
+ todowrite: true
14
+ question: true
15
15
  ---
16
16
  <objective>
17
17
  Execute all plans in a phase using wave-based parallel execution.
@@ -22,8 +22,8 @@ Context budget: ~15% orchestrator, 100% fresh per subagent.
22
22
  </objective>
23
23
 
24
24
  <execution_context>
25
- @~/.config/opencode/get-shit-done/workflows/execute-phase.md
26
- @~/.config/opencode/get-shit-done/references/ui-brand.md
25
+ @$HOME/.config/opencode/get-shit-done/workflows/execute-phase.md
26
+ @$HOME/.config/opencode/get-shit-done/references/ui-brand.md
27
27
  </execution_context>
28
28
 
29
29
  <context>
@@ -36,6 +36,6 @@ Context files are resolved inside the workflow via `gsd-tools init execute-phase
36
36
  </context>
37
37
 
38
38
  <process>
39
- Execute the execute-phase workflow from @~/.config/opencode/get-shit-done/workflows/execute-phase.md end-to-end.
39
+ Execute the execute-phase workflow from @$HOME/.config/opencode/get-shit-done/workflows/execute-phase.md end-to-end.
40
40
  Preserve all workflow gates (wave execution, checkpoint handling, verification, state updates, routing).
41
41
  </process>