pi-gsd 1.0.3

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 (62) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +374 -0
  3. package/dist/gsd-tools.js +380 -0
  4. package/package.json +72 -0
  5. package/scripts/postinstall.js +272 -0
  6. package/skills/gsd-add-backlog/SKILL.md +78 -0
  7. package/skills/gsd-add-phase/SKILL.md +39 -0
  8. package/skills/gsd-add-tests/SKILL.md +28 -0
  9. package/skills/gsd-add-todo/SKILL.md +42 -0
  10. package/skills/gsd-audit-milestone/SKILL.md +29 -0
  11. package/skills/gsd-audit-uat/SKILL.md +20 -0
  12. package/skills/gsd-autonomous/SKILL.md +34 -0
  13. package/skills/gsd-check-todos/SKILL.md +40 -0
  14. package/skills/gsd-cleanup/SKILL.md +19 -0
  15. package/skills/gsd-complete-milestone/SKILL.md +122 -0
  16. package/skills/gsd-debug/SKILL.md +178 -0
  17. package/skills/gsd-discuss-phase/SKILL.md +55 -0
  18. package/skills/gsd-do/SKILL.md +26 -0
  19. package/skills/gsd-execute-phase/SKILL.md +53 -0
  20. package/skills/gsd-fast/SKILL.md +22 -0
  21. package/skills/gsd-forensics/SKILL.md +51 -0
  22. package/skills/gsd-health/SKILL.md +17 -0
  23. package/skills/gsd-help/SKILL.md +24 -0
  24. package/skills/gsd-insert-phase/SKILL.md +28 -0
  25. package/skills/gsd-join-discord/SKILL.md +19 -0
  26. package/skills/gsd-list-phase-assumptions/SKILL.md +41 -0
  27. package/skills/gsd-list-workspaces/SKILL.md +17 -0
  28. package/skills/gsd-manager/SKILL.md +33 -0
  29. package/skills/gsd-map-codebase/SKILL.md +64 -0
  30. package/skills/gsd-milestone-summary/SKILL.md +45 -0
  31. package/skills/gsd-new-milestone/SKILL.md +39 -0
  32. package/skills/gsd-new-project/SKILL.md +37 -0
  33. package/skills/gsd-new-workspace/SKILL.md +41 -0
  34. package/skills/gsd-next/SKILL.md +19 -0
  35. package/skills/gsd-note/SKILL.md +30 -0
  36. package/skills/gsd-pause-work/SKILL.md +35 -0
  37. package/skills/gsd-plan-milestone-gaps/SKILL.md +28 -0
  38. package/skills/gsd-plan-phase/SKILL.md +38 -0
  39. package/skills/gsd-plant-seed/SKILL.md +21 -0
  40. package/skills/gsd-pr-branch/SKILL.md +20 -0
  41. package/skills/gsd-profile-user/SKILL.md +38 -0
  42. package/skills/gsd-progress/SKILL.md +19 -0
  43. package/skills/gsd-quick/SKILL.md +38 -0
  44. package/skills/gsd-reapply-patches/SKILL.md +126 -0
  45. package/skills/gsd-remove-phase/SKILL.md +26 -0
  46. package/skills/gsd-remove-workspace/SKILL.md +22 -0
  47. package/skills/gsd-research-phase/SKILL.md +200 -0
  48. package/skills/gsd-resume-work/SKILL.md +35 -0
  49. package/skills/gsd-review/SKILL.md +31 -0
  50. package/skills/gsd-review-backlog/SKILL.md +62 -0
  51. package/skills/gsd-session-report/SKILL.md +16 -0
  52. package/skills/gsd-set-profile/SKILL.md +9 -0
  53. package/skills/gsd-settings/SKILL.md +32 -0
  54. package/skills/gsd-ship/SKILL.md +16 -0
  55. package/skills/gsd-stats/SKILL.md +16 -0
  56. package/skills/gsd-thread/SKILL.md +133 -0
  57. package/skills/gsd-ui-phase/SKILL.md +24 -0
  58. package/skills/gsd-ui-review/SKILL.md +24 -0
  59. package/skills/gsd-update/SKILL.md +35 -0
  60. package/skills/gsd-validate-phase/SKILL.md +26 -0
  61. package/skills/gsd-verify-work/SKILL.md +30 -0
  62. package/skills/gsd-workstreams/SKILL.md +72 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Alessio Corsi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,374 @@
1
+ # pi-gsd
2
+
3
+ > **A reverse-engineered, fully-documented snapshot of [Get Shit Done](https://github.com/get-shit-done-cc/get-shit-done) v1.30.0 across all 8 AI harnesses.**
4
+
5
+ [![version: 1.30.0](https://img.shields.io/badge/gsd-v1.30.0-blue.svg)](https://github.com/get-shit-done-cc/get-shit-done)
6
+ [![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
7
+ [![harnesses: 8](https://img.shields.io/badge/harnesses-8-green.svg)](#harness-directory-map)
8
+ [![hooks: 5](https://img.shields.io/badge/hooks-5-orange.svg)](HOOKS_ARCHITECTURE.md)
9
+
10
+ This repository holds a snapshot of GSD as installed across eight AI coding harnesses - Claude Code, Gemini CLI, OpenCode, Codex, Cursor, Windsurf, GitHub Copilot, and the generic `.agent` harness - captured on 2026-04-03. It exists to document and audit cross-harness consistency, expose every intentional and accidental divergence, and serve as a reference for contributors and tooling authors.
11
+
12
+ ---
13
+
14
+ ## Table of Contents
15
+
16
+ 1. [What Is GSD?](#1-what-is-gsd)
17
+ 2. [What Is This Repo?](#2-what-is-this-repo)
18
+ 3. [Harness Directory Map](#3-harness-directory-map)
19
+ 4. [Cross-Harness Consistency Model](#4-cross-harness-consistency-model)
20
+ 5. [Command Prefix Reference](#5-command-prefix-reference)
21
+ 6. [Hook System](#6-hook-system)
22
+ 7. [Directory Structure Deep-Dive](#7-directory-structure-deep-dive)
23
+ 8. [Audit & Validation Scripts](#8-audit--validation-scripts)
24
+ 9. [Known Divergences](#9-known-divergences)
25
+ 10. [Reference Documents](#10-reference-documents)
26
+ 11. [License](#11-license)
27
+
28
+ ---
29
+
30
+ ## 1. What Is GSD?
31
+
32
+ **Get Shit Done** (`get-shit-done-cc`) is a structured software-delivery framework for AI coding agents. It wraps any AI coding session with a six-step phase lifecycle:
33
+
34
+ ```
35
+ discuss ──► research ──► plan ──► execute ──► verify ──► validate
36
+ ```
37
+
38
+ Key characteristics:
39
+
40
+ - **57+ slash commands** - `/gsd-new-project`, `/gsd-plan-phase <N>`, `/gsd-execute-phase <N>`, and more
41
+ - **18 specialized subagents** - planner, executor, verifier, debugger, codebase-mapper, and others
42
+ - **5 background hooks** - context monitor, prompt guard, workflow guard, update checker, statusline
43
+ - **4 model profiles** - `quality`, `balanced` (default), `budget`, `inherit`
44
+ - **Works across 8 harnesses** - single canonical command set regardless of which AI tool you use
45
+ - **Zero runtime dependencies** - all hooks and tooling run on Node.js built-ins only
46
+
47
+ For full usage documentation, see [`.agent/README.md`](.agent/README.md), which is the canonical per-install README.
48
+
49
+ ---
50
+
51
+ ## 2. What Is This Repo?
52
+
53
+ This repository (`pi-gsd`) is **not** the GSD npm package. It is a post-install snapshot:
54
+
55
+ | What | Detail |
56
+ | ------------ | ---------------------------------------------------------------------------------------------- |
57
+ | **Source** | `npx get-shit-done-cc` installed into each of the 8 harness directories |
58
+ | **Version** | `1.30.0` (all harnesses) |
59
+ | **Captured** | 2026-04-03 (`.agent` + `.opencode` at 09:57 UTC; others at 08:46 UTC) |
60
+ | **Purpose** | Cross-harness audit, documentation, and drift analysis |
61
+ | **Upstream** | [github.com/get-shit-done-cc/get-shit-done](https://github.com/get-shit-done-cc/get-shit-done) |
62
+
63
+ ### What is and isn't here
64
+
65
+ **Included:**
66
+ - All workflow `.md` files for every harness
67
+ - All compiled binary modules (`gsd-tools.cjs` and all `lib/*.cjs`)
68
+ - All hook files (hardlinked - see [§6](#6-hook-system))
69
+ - All agent definition files (`agents/gsd-*.md`)
70
+ - All skill definitions (`skills/gsd-*/SKILL.md`)
71
+ - All reference docs (`references/*.md`)
72
+ - Audit and validation scripts (`scripts/`)
73
+ - Cross-harness analysis reports (`HARNESS_DIFF.md`, `COMMAND_PREFIX_MAP.md`, `HOOKS_ARCHITECTURE.md`)
74
+
75
+ **Not included:**
76
+ - The upstream GSD npm package source
77
+ - Node.js `node_modules/` (there are none - GSD is dependency-free)
78
+ - User-specific `.planning/` project state files
79
+ - Session history or profile data
80
+
81
+ ---
82
+
83
+ ## 3. Harness Directory Map
84
+
85
+ Each top-level dotted directory is a complete GSD install for one AI coding tool:
86
+
87
+ | Directory | AI Tool | Hooks | Skills | Agents | Command prefix |
88
+ | ---------------- | --------------------------------------------------------- | :---: | :----: | :----: | -------------- |
89
+ | **`.agent/`** | Generic / catch-all harness | ✅ 5 | ✅ 57 | ✅ 18 | `/gsd-<cmd>` |
90
+ | **`.claude/`** | [Claude Code](https://claude.ai/code) | ✅ 5 | ❌ | ✅ 18 | `/gsd-<cmd>` |
91
+ | **`.codex/`** | [OpenAI Codex](https://openai.com/codex) | ❌ | ✅ 57 | ✅ 18 | `/gsd-<cmd>` |
92
+ | **`.cursor/`** | [Cursor](https://cursor.sh) | ❌ | ✅ 57 | ✅ 18 | `/gsd-<cmd>` |
93
+ | **`.gemini/`** | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | ✅ 5 | ❌ | ✅ 18 | `/gsd-<cmd>` |
94
+ | **`.github/`** | [GitHub Copilot](https://github.com/features/copilot) | ❌ | ✅ 57 | ❌ | `/gsd-<cmd>` |
95
+ | **`.opencode/`** | [OpenCode](https://opencode.ai) | ✅ 5 | ✅ 57 | ✅ 18 | `/gsd-<cmd>` |
96
+ | **`.windsurf/`** | [Windsurf](https://codeium.com/windsurf) | ❌ | ✅ 57 | ✅ 18 | `/gsd-<cmd>` |
97
+
98
+ ### Additional directories
99
+
100
+ | Directory | Purpose |
101
+ | --------------- | ------------------------------------------------------------------------------------------------------------------ |
102
+ | **`.gsd/`** | Canonical hook source (`hooks/`) + compiled binary copies (`bin/`); used as the hardlink anchor for all hook files |
103
+ | **`.pi/`** | pi package manager metadata |
104
+ | **`.pi-lens/`** | pi lens configuration |
105
+ | **`scripts/`** | Audit and validation scripts for cross-harness integrity checks |
106
+
107
+ > **Note on `.claude/` and `.gemini/` skills:** These two harnesses intentionally omit all 57 `skills/gsd-*/SKILL.md` files. Claude Code and Gemini CLI expose GSD capabilities through their native workflow/command mechanism rather than SKILL-based dispatch.
108
+
109
+ > **Note on `.github/` agents:** GitHub Copilot does not support agent definitions, so the `agents/` directory is absent from `.github/`.
110
+
111
+ ---
112
+
113
+ ## 4. Cross-Harness Consistency Model
114
+
115
+ GSD maintains a **two-tier consistency model**:
116
+
117
+ ### Tier 1 - Must be byte-identical across all harnesses
118
+
119
+ These 10 binary modules contain shared logic with no harness-specific variation:
120
+
121
+ `frontmatter.cjs` · `milestone.cjs` · `model-profiles.cjs` · `roadmap.cjs` · `security.cjs` · `state.cjs` · `template.cjs` · `uat.cjs` · `init.cjs` · (core library logic)
122
+
123
+ All 10 pass the byte-identity check in this snapshot. ✅
124
+
125
+ ### Tier 2 - Harness-specific (intentionally different)
126
+
127
+ These 8 modules contain per-harness substitutions:
128
+
129
+ | Module | What varies |
130
+ | ---------------------- | ---------------------------------------------------------------------------- |
131
+ | `commands.cjs` | Command prefix in generated scaffold content |
132
+ | `config.cjs` | Command prefix in documentation strings |
133
+ | `core.cjs` | JSDoc type annotations (`.agent` only); runtime branching flags |
134
+ | `phase.cjs` | Command prefix in ROADMAP phase entries |
135
+ | `profile-output.cjs` | Branding (Claude.md vs GEMINI.md vs .cursor/rules/); profiling question text |
136
+ | `profile-pipeline.cjs` | Session history search path (`.agent/projects` vs `~/.claude/projects`) |
137
+ | `verify.cjs` | Command prefix in error messages |
138
+ | `workstream.cjs` | Command prefix in error messages |
139
+
140
+ ### Hook files - hardlinked (single inode)
141
+
142
+ All 5 hook files in `.agent/hooks/`, `.claude/hooks/`, `.gemini/hooks/`, `.opencode/hooks/`, and `.gsd/hooks/` share a single OS inode. They are not copies. See [§6](#6-hook-system) and [`HOOKS_ARCHITECTURE.md`](HOOKS_ARCHITECTURE.md) for details.
143
+
144
+ ---
145
+
146
+ ## 5. Command Prefix Reference
147
+
148
+ All user-facing GSD commands use the **`/gsd-<name>`** slash-hyphen prefix across every harness:
149
+
150
+ ```
151
+ /gsd-new-project /gsd-plan-phase <N> /gsd-execute-phase <N>
152
+ /gsd-discuss-phase <N> /gsd-verify-work <N> /gsd-validate-phase <N>
153
+ /gsd-next /gsd-progress /gsd-autonomous
154
+ /gsd-do <text> /gsd-quick <task> /gsd-help
155
+ ```
156
+
157
+ The `/gsd:<cmd>` colon-form (e.g. `/gsd:discuss-phase`) appears **only** inside Claude Code and Gemini CLI workflow `.md` files as an internal harness dispatch mechanism - it is never emitted into generated files or error messages. Full details and the complete command inventory are in:
158
+
159
+ 📄 **[COMMAND_PREFIX_MAP.md](COMMAND_PREFIX_MAP.md)**
160
+
161
+ ---
162
+
163
+ ## 6. Hook System
164
+
165
+ GSD ships 5 background hooks that run automatically on harness events:
166
+
167
+ | Hook | Trigger | Purpose |
168
+ | ------------------------ | --------------------------- | ---------------------------------------------------------- |
169
+ | `gsd-statusline.js` | `StatusLine` | Terminal context bar showing model + active task |
170
+ | `gsd-context-monitor.js` | `PostToolUse` / `AfterTool` | Advisory warnings at 35% / 25% remaining context |
171
+ | `gsd-prompt-guard.js` | `PreToolUse` / `BeforeTool` | Scans `.planning/` writes for 13 prompt-injection patterns |
172
+ | `gsd-check-update.js` | `SessionStart` | Background npm version check; cached result |
173
+ | `gsd-workflow-guard.js` | `PreToolUse` / `BeforeTool` | Nudge to use `/gsd-fast` for ad-hoc edits |
174
+
175
+ ### Harness hook coverage
176
+
177
+ | Harness | Hooks |
178
+ | ----------------------------------------------- | -------------------- |
179
+ | `.claude/`, `.gemini/`, `.opencode/`, `.agent/` | ✅ All 5 (hardlinked) |
180
+ | `.codex/` | ❌ No hook API |
181
+ | `.cursor/`, `.windsurf/`, `.github/` | ❌ No hook API |
182
+
183
+ ### The hardlink model
184
+
185
+ All five hook files in `.agent/hooks/`, `.claude/hooks/`, `.gemini/hooks/`, `.opencode/hooks/`, and `.gsd/hooks/` share a **single inode** on disk. Editing any one of them instantly edits all of them - no sync step, no drift.
186
+
187
+ ```bash
188
+ # Verify: all lines should show the same inode number
189
+ stat -c "%i %h %n" \
190
+ .gsd/hooks/gsd-statusline.js \
191
+ .agent/hooks/gsd-statusline.js \
192
+ .claude/hooks/gsd-statusline.js \
193
+ .gemini/hooks/gsd-statusline.js \
194
+ .opencode/hooks/gsd-statusline.js
195
+ ```
196
+
197
+ Full architecture, install pipeline, runtime self-detection, contributor rules, and re-link commands are documented in:
198
+
199
+ 📄 **[HOOKS_ARCHITECTURE.md](HOOKS_ARCHITECTURE.md)**
200
+
201
+ ---
202
+
203
+ ## 7. Directory Structure Deep-Dive
204
+
205
+ ### Each harness directory layout
206
+
207
+ ```
208
+ .<harness>/
209
+ ├── get-shit-done/
210
+ │ ├── VERSION ← "1.30.0"
211
+ │ ├── bin/
212
+ │ │ ├── gsd-tools.cjs ← CLI entry point (all commands)
213
+ │ │ └── lib/
214
+ │ │ ├── commands.cjs ← harness-specific (command prefix)
215
+ │ │ ├── config.cjs ← harness-specific (command prefix in docs)
216
+ │ │ ├── core.cjs ← harness-specific (+ JSDoc in .agent only)
217
+ │ │ ├── frontmatter.cjs ← IDENTICAL across all 8 harnesses
218
+ │ │ ├── init.cjs ← IDENTICAL across all 8 harnesses
219
+ │ │ ├── milestone.cjs ← IDENTICAL across all 8 harnesses
220
+ │ │ ├── model-profiles.cjs ← shared model routing data
221
+ │ │ ├── phase.cjs ← harness-specific (command prefix)
222
+ │ │ ├── profile-output.cjs ← harness-specific (branding)
223
+ │ │ ├── profile-pipeline.cjs← harness-specific (session paths)
224
+ │ │ ├── roadmap.cjs ← IDENTICAL across all 8 harnesses
225
+ │ │ ├── security.cjs ← IDENTICAL across all 8 harnesses
226
+ │ │ ├── state.cjs ← IDENTICAL across all 8 harnesses
227
+ │ │ ├── template.cjs ← IDENTICAL across all 8 harnesses
228
+ │ │ ├── uat.cjs ← IDENTICAL across all 8 harnesses
229
+ │ │ ├── verify.cjs ← harness-specific (command prefix)
230
+ │ │ └── workstream.cjs ← harness-specific (command prefix)
231
+ │ ├── workflows/
232
+ │ │ └── *.md ← 53 workflow files (harness path + prefix substituted)
233
+ │ ├── agents/
234
+ │ │ └── gsd-*.md ← 18 agent definitions (absent from .github/)
235
+ │ ├── skills/
236
+ │ │ └── gsd-*/SKILL.md ← 57 skill definitions (absent from .claude/, .gemini/)
237
+ │ └── references/
238
+ │ └── *.md ← model-profiles, checkpoints, verification-patterns, etc.
239
+ ├── hooks/ ← present in .agent/, .claude/, .gemini/, .opencode/ only
240
+ │ ├── gsd-check-update.js ← hardlinked (same inode as .gsd/hooks/)
241
+ │ ├── gsd-context-monitor.js ← hardlinked
242
+ │ ├── gsd-prompt-guard.js ← hardlinked
243
+ │ ├── gsd-statusline.js ← hardlinked
244
+ │ └── gsd-workflow-guard.js ← hardlinked
245
+ ├── settings.json ← hook registration (.agent, .claude, .gemini); {} for .opencode
246
+ ├── package.json ← present in .agent/ only (pi package manifest)
247
+ ├── gsd-file-manifest.json ← SHA-256 content hashes for all installed files
248
+ └── README.md ← present in .agent/ only (canonical usage docs)
249
+ ```
250
+
251
+ ### `.gsd/` canonical hook source
252
+
253
+ ```
254
+ .gsd/
255
+ ├── hooks/
256
+ │ ├── gsd-check-update.js ← canonical hardlink anchor
257
+ │ ├── gsd-context-monitor.js
258
+ │ ├── gsd-prompt-guard.js
259
+ │ ├── gsd-statusline.js
260
+ │ └── gsd-workflow-guard.js
261
+ ├── bin/
262
+ │ ├── agent/ ← binary copies keyed by harness
263
+ │ ├── claude/
264
+ │ ├── codex/
265
+ │ ├── cursor/
266
+ │ ├── gemini/
267
+ │ ├── github/
268
+ │ ├── opencode/
269
+ │ └── windsurf/
270
+ └── JS_MODULE_ARCHITECTURE.md ← full module dependency graph + data flows
271
+ ```
272
+
273
+ ### `scripts/` audit tooling
274
+
275
+ ```
276
+ scripts/
277
+ ├── audit-harness-sync.cjs ← cross-harness file hash comparison
278
+ ├── validate-harness-sync.cjs ← full 5-check integrity suite (CJS, workflows, filesets, VERSION, manifests)
279
+ ├── validate-model-profiles.cjs ← confirms model-profiles.md is in sync with model-profiles.cjs
280
+ └── model-profiles-maintenance.md ← instructions for updating model profile docs
281
+ ```
282
+
283
+ ---
284
+
285
+ ## 8. Audit & Validation Scripts
286
+
287
+ Run from the repo root (`/home/fulgidus/Documents/pi-gsd`):
288
+
289
+ ```bash
290
+ # Full cross-harness integrity suite (5 checks)
291
+ node scripts/validate-harness-sync.cjs
292
+
293
+ # Cross-harness file hash comparison
294
+ node scripts/audit-harness-sync.cjs
295
+
296
+ # Confirm model-profiles.md matches model-profiles.cjs source across all 8 harnesses
297
+ node scripts/validate-model-profiles.cjs
298
+ ```
299
+
300
+ ### Latest audit results (2026-04-03)
301
+
302
+ | Check | Result |
303
+ | ------------------------------------- | -------------------------------------------------------- |
304
+ | CJS binary identity (10 strict files) | ✅ All identical |
305
+ | VERSION consistency | ✅ All at v1.30.0 |
306
+ | model-profiles.md sync | ✅ All 8 harnesses in sync |
307
+ | File-set completeness | ⚠️ `.opencode` missing 57 skills on disk |
308
+ | Manifest integrity | ⚠️ 6 harnesses have stale manifests (older install era) |
309
+ | Workflow diffs | ℹ️ 349 diffs - all are expected path/prefix substitutions |
310
+ | Hook hardlinks | ✅ 5 hooks × 5 harnesses share single inode |
311
+
312
+ Full diff analysis is in: 📄 **[HARNESS_DIFF.md](HARNESS_DIFF.md)**
313
+
314
+ ---
315
+
316
+ ## 9. Known Divergences
317
+
318
+ These differences between harnesses are **intentional by design**:
319
+
320
+ ### 9a. Command prefix in workflow files
321
+
322
+ | Prefix style | Harnesses |
323
+ | ------------- | -------------------------------------------------------- |
324
+ | `/gsd-<name>` | `.agent`, `.cursor`, `.github`, `.opencode`, `.windsurf` |
325
+ | `/gsd:<name>` | `.claude`, `.gemini` (internal workflow dispatch only) |
326
+
327
+ The colon-form `/gsd:<name>` is a Claude Code / Gemini CLI internal mechanism. It **must not** appear in generated artefacts (CONTEXT.md scaffolds, error messages). See [`COMMAND_PREFIX_MAP.md`](COMMAND_PREFIX_MAP.md).
328
+
329
+ ### 9b. Skills directory absent from `.claude/` and `.gemini/`
330
+
331
+ Claude Code and Gemini CLI use their native workflow/command pattern for capability dispatch. The 57 `skills/gsd-*/SKILL.md` files are not needed and are intentionally excluded.
332
+
333
+ ### 9c. Agents directory absent from `.github/`
334
+
335
+ GitHub Copilot has no agent definition API. All 18 `agents/gsd-*.md` files are intentionally excluded from `.github/`.
336
+
337
+ ### 9d. Hook files absent from `.codex/`, `.cursor/`, `.windsurf/`, `.github/`
338
+
339
+ These four harnesses have no hook execution API. Hooks only run in harnesses that support `PostToolUse`/`SessionStart`-style events.
340
+
341
+ ### 9e. `profile-output.cjs` branding per harness
342
+
343
+ Each harness's binary correctly names its own profile target file (e.g. `CLAUDE.md` for Claude Code, `.cursor/rules/` for Cursor). This is an intentional per-harness substitution.
344
+
345
+ ### 9f. `profile-pipeline.cjs` session history path
346
+
347
+ `.agent` and `.opencode` use a local `.agent/projects` path for session history. `.claude`, `.codex`, `.gemini` use `~/.claude/projects`. `.cursor` uses a Cursor-specific session path.
348
+
349
+ ### 9g. `gsd-tools.cjs` two versions
350
+
351
+ `.agent` and `.opencode` have a newer build of the entry binary (installed 09:57 UTC); the other 6 harnesses have the older build (08:46 UTC). Functionality is equivalent at v1.30.0.
352
+
353
+ ---
354
+
355
+ ## 10. Reference Documents
356
+
357
+ | Document | What it covers |
358
+ | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
359
+ | 📄 [`COMMAND_PREFIX_MAP.md`](COMMAND_PREFIX_MAP.md) | Complete command inventory, prefix semantics per harness, divergences found and fixed |
360
+ | 📄 [`HOOKS_ARCHITECTURE.md`](HOOKS_ARCHITECTURE.md) | Hardlink model, hook inventory, install pipeline (3 stages), runtime self-detection, contributor rules, verification commands |
361
+ | 📄 [`HARNESS_DIFF.md`](HARNESS_DIFF.md) | Full cross-harness diff analysis: binary modules, workflow divergences, validation script results, action items |
362
+ | 📄 [`.agent/README.md`](.agent/README.md) | Full GSD usage documentation: installation, quick start, phase lifecycle, all 57 commands, model profiles, agent roster, hook system |
363
+ | 📄 [`.gsd/JS_MODULE_ARCHITECTURE.md`](.gsd/JS_MODULE_ARCHITECTURE.md) | Module dependency graph, per-module function references, key data flows, file system layout, config schema, frontmatter schemas |
364
+ | 📄 [`scripts/model-profiles-maintenance.md`](scripts/model-profiles-maintenance.md) | Procedure for updating model profiles across all harnesses |
365
+
366
+ ---
367
+
368
+ ## 11. License
369
+
370
+ MIT © [get-shit-done-cc](https://github.com/get-shit-done-cc/get-shit-done)
371
+
372
+ ---
373
+
374
+ *GSD v1.30.0 snapshot · Captured 2026-04-03 · 8 harnesses · 57 commands · 18 agents · 5 hooks*