gsd-opencode 1.20.3 → 1.22.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 (114) hide show
  1. package/agents/gsd-codebase-mapper.md +9 -1
  2. package/agents/gsd-debugger.md +66 -10
  3. package/agents/gsd-executor.md +36 -16
  4. package/agents/gsd-integration-checker.md +2 -0
  5. package/agents/gsd-nyquist-auditor.md +178 -0
  6. package/agents/gsd-phase-researcher.md +28 -34
  7. package/agents/gsd-plan-checker.md +42 -78
  8. package/agents/gsd-planner.md +139 -24
  9. package/agents/gsd-project-researcher.md +11 -1
  10. package/agents/gsd-research-synthesizer.md +13 -3
  11. package/agents/gsd-roadmapper.md +25 -15
  12. package/agents/gsd-verifier.md +29 -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 +19 -11
  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-oc-commands/allow-read-config.cjs +235 -0
  49. package/get-shit-done/bin/gsd-oc-tools.cjs +11 -5
  50. package/get-shit-done/bin/gsd-tools.cjs +45 -6
  51. package/get-shit-done/bin/lib/commands.cjs +11 -19
  52. package/get-shit-done/bin/lib/config.cjs +8 -1
  53. package/get-shit-done/bin/lib/core.cjs +131 -16
  54. package/get-shit-done/bin/lib/init.cjs +28 -12
  55. package/get-shit-done/bin/lib/milestone.cjs +34 -8
  56. package/get-shit-done/bin/lib/phase.cjs +74 -50
  57. package/get-shit-done/bin/lib/roadmap.cjs +7 -7
  58. package/get-shit-done/bin/lib/state.cjs +294 -63
  59. package/get-shit-done/bin/lib/template.cjs +3 -3
  60. package/get-shit-done/bin/lib/verify.cjs +56 -8
  61. package/get-shit-done/bin/test/allow-read-config.test.cjs +262 -0
  62. package/get-shit-done/references/checkpoints.md +1 -1
  63. package/get-shit-done/references/decimal-phase-calculation.md +6 -6
  64. package/get-shit-done/references/git-integration.md +3 -3
  65. package/get-shit-done/references/git-planning-commit.md +2 -2
  66. package/get-shit-done/references/model-profile-resolution.md +1 -1
  67. package/get-shit-done/references/model-profiles.md +1 -0
  68. package/get-shit-done/references/phase-argument-parsing.md +4 -4
  69. package/get-shit-done/references/planning-config.md +10 -6
  70. package/get-shit-done/references/questioning.md +17 -0
  71. package/get-shit-done/references/verification-patterns.md +1 -1
  72. package/get-shit-done/templates/DEBUG.md +7 -2
  73. package/get-shit-done/templates/VALIDATION.md +18 -46
  74. package/get-shit-done/templates/codebase/structure.md +3 -3
  75. package/get-shit-done/templates/config.json +2 -2
  76. package/get-shit-done/templates/context.md +14 -0
  77. package/get-shit-done/templates/phase-prompt.md +10 -10
  78. package/get-shit-done/templates/retrospective.md +54 -0
  79. package/get-shit-done/templates/roadmap.md +1 -1
  80. package/get-shit-done/workflows/add-phase.md +3 -2
  81. package/get-shit-done/workflows/add-tests.md +351 -0
  82. package/get-shit-done/workflows/add-todo.md +4 -3
  83. package/get-shit-done/workflows/audit-milestone.md +40 -5
  84. package/get-shit-done/workflows/check-todos.md +3 -2
  85. package/get-shit-done/workflows/cleanup.md +1 -1
  86. package/get-shit-done/workflows/complete-milestone.md +69 -5
  87. package/get-shit-done/workflows/diagnose-issues.md +2 -2
  88. package/get-shit-done/workflows/discovery-phase.md +6 -6
  89. package/get-shit-done/workflows/discuss-phase.md +194 -58
  90. package/get-shit-done/workflows/execute-phase.md +29 -23
  91. package/get-shit-done/workflows/execute-plan.md +22 -18
  92. package/get-shit-done/workflows/health.md +5 -2
  93. package/get-shit-done/workflows/help.md +4 -1
  94. package/get-shit-done/workflows/insert-phase.md +3 -2
  95. package/get-shit-done/workflows/map-codebase.md +3 -2
  96. package/get-shit-done/workflows/new-milestone.md +12 -10
  97. package/get-shit-done/workflows/new-project.md +44 -49
  98. package/get-shit-done/workflows/oc-set-profile.md +24 -0
  99. package/get-shit-done/workflows/pause-work.md +2 -2
  100. package/get-shit-done/workflows/plan-milestone-gaps.md +3 -3
  101. package/get-shit-done/workflows/plan-phase.md +155 -73
  102. package/get-shit-done/workflows/progress.md +8 -7
  103. package/get-shit-done/workflows/quick.md +158 -10
  104. package/get-shit-done/workflows/remove-phase.md +5 -4
  105. package/get-shit-done/workflows/research-phase.md +5 -4
  106. package/get-shit-done/workflows/resume-project.md +3 -2
  107. package/get-shit-done/workflows/set-profile.md +3 -2
  108. package/get-shit-done/workflows/settings.md +6 -6
  109. package/get-shit-done/workflows/transition.md +5 -5
  110. package/get-shit-done/workflows/update.md +45 -19
  111. package/get-shit-done/workflows/validate-phase.md +167 -0
  112. package/get-shit-done/workflows/verify-phase.md +10 -9
  113. package/get-shit-done/workflows/verify-work.md +18 -4
  114. package/package.json +1 -1
@@ -8,6 +8,14 @@ tools:
8
8
  glob: true
9
9
  grep: true
10
10
  color: "#800080"
11
+ skills:
12
+ - gsd-roadmapper-workflow
13
+ # hooks:
14
+ # PostToolUse:
15
+ # - matcher: "write|edit"
16
+ # hooks:
17
+ # - type: command
18
+ # command: "npx eslint --fix $FILE 2>/dev/null || true"
11
19
  ---
12
20
 
13
21
  <role>
@@ -197,17 +205,17 @@ Track coverage as you go.
197
205
  - New milestone: Start at 1
198
206
  - Continuing milestone: Check existing phases, start at last + 1
199
207
 
200
- ## Depth Calibration
208
+ ## Granularity Calibration
201
209
 
202
- read depth from config.json. Depth controls compression tolerance.
210
+ read granularity from config.json. Granularity controls compression tolerance.
203
211
 
204
- | Depth | Typical Phases | What It Means |
205
- |-------|----------------|---------------|
206
- | Quick | 3-5 | Combine aggressively, critical path only |
212
+ | Granularity | Typical Phases | What It Means |
213
+ |-------------|----------------|---------------|
214
+ | Coarse | 3-5 | Combine aggressively, critical path only |
207
215
  | Standard | 5-8 | Balanced grouping |
208
- | Comprehensive | 8-12 | Let natural boundaries stand |
216
+ | Fine | 8-12 | Let natural boundaries stand |
209
217
 
210
- **Key:** Derive phases from work, then apply depth as compression guidance. Don't pad small projects or compress complex ones.
218
+ **Key:** Derive phases from work, then apply granularity as compression guidance. Don't pad small projects or compress complex ones.
211
219
 
212
220
  ## Good Phase Patterns
213
221
 
@@ -333,11 +341,11 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
333
341
  | 2. Name | 0/2 | Not started | - |
334
342
  ```
335
343
 
336
- Reference full template: `~/.config/opencode/get-shit-done/templates/roadmap.md`
344
+ Reference full template: `$HOME/.config/opencode/get-shit-done/templates/roadmap.md`
337
345
 
338
346
  ## STATE.md Structure
339
347
 
340
- Use template from `~/.config/opencode/get-shit-done/templates/state.md`.
348
+ Use template from `$HOME/.config/opencode/get-shit-done/templates/state.md`.
341
349
 
342
350
  Key sections:
343
351
  - Project Reference (core value, current focus)
@@ -354,7 +362,7 @@ When presenting to user for approval:
354
362
  ## ROADMAP DRAFT
355
363
 
356
364
  **Phases:** [N]
357
- **Depth:** [from config]
365
+ **Granularity:** [from config]
358
366
  **Coverage:** [X]/[Y] requirements mapped
359
367
 
360
368
  ### Phase Structure
@@ -398,7 +406,7 @@ Orchestrator provides:
398
406
  - PROJECT.md content (core value, constraints)
399
407
  - REQUIREMENTS.md content (v1 requirements with REQ-IDs)
400
408
  - research/SUMMARY.md content (if exists - phase suggestions)
401
- - config.json (depth setting)
409
+ - config.json (granularity setting)
402
410
 
403
411
  Parse and confirm understanding before proceeding.
404
412
 
@@ -434,7 +442,7 @@ Apply phase identification methodology:
434
442
  1. Group requirements by natural delivery boundaries
435
443
  2. Identify dependencies between groups
436
444
  3. Create phases that complete coherent capabilities
437
- 4. Check depth setting for compression guidance
445
+ 4. Check granularity setting for compression guidance
438
446
 
439
447
  ## Step 5: Derive Success Criteria
440
448
 
@@ -454,7 +462,9 @@ If gaps found, include in draft for user decision.
454
462
 
455
463
  ## Step 7: write Files Immediately
456
464
 
457
- **write files first, then return.** This ensures artifacts persist even if context is lost.
465
+ **ALWAYS use the write tool to create files** never use `bash(cat << 'EOF')` or heredoc commands for file creation.
466
+
467
+ write files first, then return. This ensures artifacts persist even if context is lost.
458
468
 
459
469
  1. **write ROADMAP.md** using output format
460
470
 
@@ -497,7 +507,7 @@ When files are written and returning to orchestrator:
497
507
  ### Summary
498
508
 
499
509
  **Phases:** {N}
500
- **Depth:** {from config}
510
+ **Granularity:** {from config}
501
511
  **Coverage:** {X}/{X} requirements mapped ✓
502
512
 
503
513
  | Phase | Goal | Requirements |
@@ -623,7 +633,7 @@ Roadmap is complete when:
623
633
  - [ ] All v1 requirements extracted with IDs
624
634
  - [ ] Research context loaded (if exists)
625
635
  - [ ] Phases derived from requirements (not imposed)
626
- - [ ] Depth calibration applied
636
+ - [ ] Granularity calibration applied
627
637
  - [ ] Dependencies between phases identified
628
638
  - [ ] Success criteria derived for each phase (2-5 observable behaviors)
629
639
  - [ ] Success criteria cross-checked against requirements (gaps resolved)
@@ -8,6 +8,14 @@ tools:
8
8
  grep: true
9
9
  glob: true
10
10
  color: "#008000"
11
+ skills:
12
+ - gsd-verifier-workflow
13
+ # hooks:
14
+ # PostToolUse:
15
+ # - matcher: "write|edit"
16
+ # hooks:
17
+ # - type: command
18
+ # command: "npx eslint --fix $FILE 2>/dev/null || true"
11
19
  ---
12
20
 
13
21
  <role>
@@ -21,6 +29,21 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `read` tool t
21
29
  **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
30
  </role>
23
31
 
32
+ <project_context>
33
+ Before verifying, discover project context:
34
+
35
+ **Project instructions:** read `./AGENTS.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
36
+
37
+ **Project skills:** Check `.OpenCode/skills/` or `.agents/skills/` directory if either exists:
38
+ 1. List available skills (subdirectories)
39
+ 2. read `SKILL.md` for each skill (lightweight index ~130 lines)
40
+ 3. Load specific `rules/*.md` files as needed during verification
41
+ 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
42
+ 5. Apply skill rules when scanning for anti-patterns and verifying quality
43
+
44
+ This ensures project-specific patterns, conventions, and best practices are applied during verification.
45
+ </project_context>
46
+
24
47
  <core_principle>
25
48
  **task completion ≠ Goal achievement**
26
49
 
@@ -62,7 +85,7 @@ Set `is_re_verification = false`, proceed with Step 1.
62
85
  ```bash
63
86
  ls "$PHASE_DIR"/*-PLAN.md 2>/dev/null
64
87
  ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
65
- node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM"
88
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$PHASE_NUM"
66
89
  grep -E "^| $PHASE_NUM" .planning/REQUIREMENTS.md 2>/dev/null
67
90
  ```
68
91
 
@@ -99,7 +122,7 @@ must_haves:
99
122
  If no must_haves in frontmatter, check for Success Criteria:
100
123
 
101
124
  ```bash
102
- PHASE_DATA=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM" --raw)
125
+ PHASE_DATA=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$PHASE_NUM" --raw)
103
126
  ```
104
127
 
105
128
  Parse the `success_criteria` array from the JSON output. If non-empty:
@@ -142,7 +165,7 @@ For each truth:
142
165
  Use gsd-tools for artifact verification against must_haves in PLAN frontmatter:
143
166
 
144
167
  ```bash
145
- ARTIFACT_RESULT=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs verify artifacts "$PLAN_PATH")
168
+ ARTIFACT_RESULT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify artifacts "$PLAN_PATH")
146
169
  ```
147
170
 
148
171
  Parse JSON result: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
@@ -191,7 +214,7 @@ Key links are critical connections. If broken, the goal fails even with all arti
191
214
  Use gsd-tools for key link verification against must_haves in PLAN frontmatter:
192
215
 
193
216
  ```bash
194
- LINKS_RESULT=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs verify key-links "$PLAN_PATH")
217
+ LINKS_RESULT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify key-links "$PLAN_PATH")
195
218
  ```
196
219
 
197
220
  Parse JSON result: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
@@ -273,12 +296,12 @@ Identify files modified in this phase from SUMMARY.md key-files section, or extr
273
296
 
274
297
  ```bash
275
298
  # 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)
299
+ SUMMARY_FILES=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
277
300
 
278
301
  # Option 2: Verify commits exist (if commit hashes documented)
279
302
  COMMIT_HASHES=$(grep -oE "[a-f0-9]{7,40}" "$PHASE_DIR"/*-SUMMARY.md | head -10)
280
303
  if [ -n "$COMMIT_HASHES" ]; then
281
- COMMITS_VALID=$(node ~/.config/opencode/get-shit-done/bin/gsd-tools.cjs verify commits $COMMIT_HASHES)
304
+ COMMITS_VALID=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify commits $COMMIT_HASHES)
282
305
  fi
283
306
 
284
307
  # 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>