gsd-antigravity-kit 1.32.0 → 2.0.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 (163) hide show
  1. package/.agent/skills/gsd/SKILL.md +152 -123
  2. package/.agent/skills/gsd/VERSION +1 -0
  3. package/.agent/skills/gsd/assets/templates/user-profile.md +8 -8
  4. package/.agent/skills/gsd/bin/gsd-tools.cjs +81 -3
  5. package/.agent/skills/gsd/bin/help-manifest.json +24 -1
  6. package/.agent/skills/gsd/bin/hooks/gsd-check-update.js +15 -5
  7. package/.agent/skills/gsd/bin/hooks/gsd-context-monitor.js +1 -1
  8. package/.agent/skills/gsd/bin/hooks/gsd-phase-boundary.sh +27 -0
  9. package/.agent/skills/gsd/bin/hooks/gsd-prompt-guard.js +2 -1
  10. package/.agent/skills/gsd/bin/hooks/gsd-read-guard.js +1 -1
  11. package/.agent/skills/gsd/bin/hooks/gsd-session-state.sh +33 -0
  12. package/.agent/skills/gsd/bin/hooks/gsd-statusline.js +5 -5
  13. package/.agent/skills/gsd/bin/hooks/gsd-validate-commit.sh +47 -0
  14. package/.agent/skills/gsd/bin/hooks/gsd-workflow-guard.js +1 -1
  15. package/.agent/skills/gsd/bin/lib/config.cjs +31 -10
  16. package/.agent/skills/gsd/bin/lib/core.cjs +48 -13
  17. package/.agent/skills/gsd/bin/lib/frontmatter.cjs +34 -2
  18. package/.agent/skills/gsd/bin/lib/intel.cjs +660 -0
  19. package/.agent/skills/gsd/bin/lib/learnings.cjs +378 -0
  20. package/.agent/skills/gsd/bin/lib/milestone.cjs +13 -4
  21. package/.agent/skills/gsd/bin/lib/model-profiles.cjs +17 -17
  22. package/.agent/skills/gsd/bin/lib/profile-output.cjs +31 -31
  23. package/.agent/skills/gsd/bin/lib/security.cjs +119 -0
  24. package/.agent/skills/gsd/bin/lib/verify.cjs +15 -15
  25. package/.agent/skills/gsd/migration_report.md +7 -0
  26. package/.agent/skills/gsd/references/agents/gsd-code-fixer.md +516 -0
  27. package/.agent/skills/gsd/references/agents/gsd-code-reviewer.md +355 -0
  28. package/.agent/skills/gsd/references/agents/gsd-debugger.md +10 -1
  29. package/.agent/skills/gsd/references/agents/gsd-executor.md +3 -0
  30. package/.agent/skills/gsd/references/agents/gsd-intel-updater.md +314 -0
  31. package/.agent/skills/gsd/references/agents/gsd-phase-researcher.md +3 -0
  32. package/.agent/skills/gsd/references/agents/gsd-plan-checker.md +16 -4
  33. package/.agent/skills/gsd/references/agents/gsd-planner.md +7 -0
  34. package/.agent/skills/gsd/references/agents/gsd-user-profiler.md +5 -5
  35. package/.agent/skills/gsd/references/agents/gsd-verifier.md +55 -1
  36. package/.agent/skills/gsd/references/agents/profiles/dev.md +21 -0
  37. package/.agent/skills/gsd/references/agents/profiles/research.md +22 -0
  38. package/.agent/skills/gsd/references/agents/profiles/review.md +22 -0
  39. package/.agent/skills/gsd/references/commands/{gsd-add-todo.md → atomic/add-todo.md} +5 -4
  40. package/.agent/skills/gsd/references/commands/{gsd-check-todos.md → atomic/check-todos.md} +5 -4
  41. package/.agent/skills/gsd/references/commands/{gsd-cleanup.md → atomic/cleanup.md} +4 -3
  42. package/.agent/skills/gsd/references/commands/{gsd-do.md → atomic/do.md} +4 -3
  43. package/.agent/skills/gsd/references/commands/{gsd-help.md → atomic/help.md} +4 -3
  44. package/.agent/skills/gsd/references/commands/{gsd-join-discord.md → atomic/join-discord.md} +21 -19
  45. package/.agent/skills/gsd/references/commands/{gsd-note.md → atomic/note.md} +4 -3
  46. package/.agent/skills/gsd/references/commands/{gsd-session-report.md → atomic/session-report.md} +4 -3
  47. package/.agent/skills/gsd/references/commands/{gsd-ship.md → atomic/ship.md} +4 -3
  48. package/.agent/skills/gsd/references/commands/{gsd-stats.md → atomic/stats.md} +4 -3
  49. package/.agent/skills/gsd/references/commands/{gsd-thread.md → atomic/thread.md} +7 -6
  50. package/.agent/skills/gsd/references/commands/atomic/undo.md +36 -0
  51. package/.agent/skills/gsd/references/commands/{gsd-add-backlog.md → milestone/add-backlog.md} +8 -7
  52. package/.agent/skills/gsd/references/commands/{gsd-audit-milestone.md → milestone/audit-milestone.md} +4 -3
  53. package/.agent/skills/gsd/references/commands/{gsd-complete-milestone.md → milestone/complete-milestone.md} +6 -4
  54. package/.agent/skills/gsd/references/commands/{gsd-milestone-summary.md → milestone/milestone-summary.md} +5 -3
  55. package/.agent/skills/gsd/references/commands/{gsd-new-milestone.md → milestone/new-milestone.md} +4 -3
  56. package/.agent/skills/gsd/references/commands/{gsd-plan-milestone-gaps.md → milestone/plan-milestone-gaps.md} +4 -3
  57. package/.agent/skills/gsd/references/commands/{gsd-plant-seed.md → milestone/plant-seed.md} +4 -3
  58. package/.agent/skills/gsd/references/commands/{gsd-review-backlog.md → milestone/review-backlog.md} +6 -5
  59. package/.agent/skills/gsd/references/commands/misc/audit-fix.md +35 -0
  60. package/.agent/skills/gsd/references/commands/{gsd-audit-uat.md → misc/audit-uat.md} +4 -3
  61. package/.agent/skills/gsd/references/commands/{gsd-next.md → misc/next.md} +6 -3
  62. package/.agent/skills/gsd/references/commands/{gsd-progress.md → misc/progress.md} +4 -3
  63. package/.agent/skills/gsd/references/commands/{gsd-verify-work.md → misc/verify-work.md} +4 -3
  64. package/.agent/skills/gsd/references/commands/{gsd-add-phase.md → phase/add-phase.md} +5 -4
  65. package/.agent/skills/gsd/references/commands/{gsd-add-tests.md → phase/add-tests.md} +8 -3
  66. package/.agent/skills/gsd/references/commands/{gsd-discuss-phase.md → phase/discuss-phase.md} +5 -4
  67. package/.agent/skills/gsd/references/commands/{gsd-execute-phase.md → phase/execute-phase.md} +4 -3
  68. package/.agent/skills/gsd/references/commands/{gsd-insert-phase.md → phase/insert-phase.md} +5 -4
  69. package/.agent/skills/gsd/references/commands/{gsd-list-phase-assumptions.md → phase/list-phase-assumptions.md} +4 -3
  70. package/.agent/skills/gsd/references/commands/{gsd-plan-phase.md → phase/plan-phase.md} +4 -3
  71. package/.agent/skills/gsd/references/commands/{gsd-remove-phase.md → phase/remove-phase.md} +5 -4
  72. package/.agent/skills/gsd/references/commands/{gsd-research-phase.md → phase/research-phase.md} +7 -6
  73. package/.agent/skills/gsd/references/commands/{gsd-secure-phase.md → phase/secure-phase.md} +4 -3
  74. package/.agent/skills/gsd/references/commands/{gsd-ui-phase.md → phase/ui-phase.md} +4 -3
  75. package/.agent/skills/gsd/references/commands/{gsd-ui-review.md → phase/ui-review.md} +4 -3
  76. package/.agent/skills/gsd/references/commands/{gsd-validate-phase.md → phase/validate-phase.md} +4 -3
  77. package/.agent/skills/gsd/references/commands/{gsd-workstreams.md → phase/workstreams.md} +71 -70
  78. package/.agent/skills/gsd/references/commands/{gsd-analyze-dependencies.md → project/analyze-dependencies.md} +5 -4
  79. package/.agent/skills/gsd/references/commands/project/explore.md +29 -0
  80. package/.agent/skills/gsd/references/commands/project/import.md +38 -0
  81. package/.agent/skills/gsd/references/commands/project/intel.md +181 -0
  82. package/.agent/skills/gsd/references/commands/{gsd-list-workspaces.md → project/list-workspaces.md} +4 -3
  83. package/.agent/skills/gsd/references/commands/{gsd-map-codebase.md → project/map-codebase.md} +4 -3
  84. package/.agent/skills/gsd/references/commands/{gsd-new-project.md → project/new-project.md} +4 -3
  85. package/.agent/skills/gsd/references/commands/{gsd-new-workspace.md → project/new-workspace.md} +4 -3
  86. package/.agent/skills/gsd/references/commands/{gsd-remove-workspace.md → project/remove-workspace.md} +4 -3
  87. package/.agent/skills/gsd/references/commands/project/scan.md +28 -0
  88. package/.agent/skills/gsd/references/commands/{gsd-autonomous.md → system/autonomous.md} +4 -3
  89. package/.agent/skills/gsd/references/commands/system/code-review-fix.md +54 -0
  90. package/.agent/skills/gsd/references/commands/system/code-review.md +57 -0
  91. package/.agent/skills/gsd/references/commands/{gsd-debug.md → system/debug.md} +7 -6
  92. package/.agent/skills/gsd/references/commands/{gsd-docs-update.md → system/docs-update.md} +4 -3
  93. package/.agent/skills/gsd/references/commands/{gsd-fast.md → system/fast.md} +4 -3
  94. package/.agent/skills/gsd/references/commands/{gsd-forensics.md → system/forensics.md} +5 -3
  95. package/.agent/skills/gsd/references/commands/{gsd-health.md → system/health.md} +5 -4
  96. package/.agent/skills/gsd/references/commands/{gsd-manager.md → system/manager.md} +4 -3
  97. package/.agent/skills/gsd/references/commands/{gsd-pause-work.md → system/pause-work.md} +4 -3
  98. package/.agent/skills/gsd/references/commands/{gsd-pr-branch.md → system/pr-branch.md} +4 -3
  99. package/.agent/skills/gsd/references/commands/{gsd-profile-user.md → system/profile-user.md} +4 -3
  100. package/.agent/skills/gsd/references/commands/{gsd-quick.md → system/quick.md} +4 -3
  101. package/.agent/skills/gsd/references/commands/{gsd-reapply-patches.md → system/reapply-patches.md} +25 -7
  102. package/.agent/skills/gsd/references/commands/{gsd-resume-work.md → system/resume-work.md} +4 -3
  103. package/.agent/skills/gsd/references/commands/{gsd-review.md → system/review.md} +4 -3
  104. package/.agent/skills/gsd/references/commands/system/set-profile.md +14 -0
  105. package/.agent/skills/gsd/references/commands/{gsd-settings.md → system/settings.md} +4 -3
  106. package/.agent/skills/gsd/references/commands/{gsd-update.md → system/update.md} +4 -3
  107. package/.agent/skills/gsd/references/docs/agent-contracts.md +79 -0
  108. package/.agent/skills/gsd/references/docs/common-bug-patterns.md +114 -0
  109. package/.agent/skills/gsd/references/docs/context-budget.md +49 -0
  110. package/.agent/skills/gsd/references/docs/domain-probes.md +125 -0
  111. package/.agent/skills/gsd/references/docs/few-shot-examples/plan-checker.md +73 -0
  112. package/.agent/skills/gsd/references/docs/few-shot-examples/verifier.md +109 -0
  113. package/.agent/skills/gsd/references/docs/gate-prompts.md +100 -0
  114. package/.agent/skills/gsd/references/docs/gates.md +70 -0
  115. package/.agent/skills/gsd/references/docs/model-profile-resolution.md +2 -0
  116. package/.agent/skills/gsd/references/docs/model-profiles.md +20 -14
  117. package/.agent/skills/gsd/references/docs/planning-config.md +216 -1
  118. package/.agent/skills/gsd/references/docs/revision-loop.md +97 -0
  119. package/.agent/skills/gsd/references/docs/thinking-models-debug.md +44 -0
  120. package/.agent/skills/gsd/references/docs/thinking-models-execution.md +50 -0
  121. package/.agent/skills/gsd/references/docs/thinking-models-planning.md +62 -0
  122. package/.agent/skills/gsd/references/docs/thinking-models-research.md +50 -0
  123. package/.agent/skills/gsd/references/docs/thinking-models-verification.md +55 -0
  124. package/.agent/skills/gsd/references/docs/thinking-partner.md +96 -0
  125. package/.agent/skills/gsd/references/docs/universal-anti-patterns.md +58 -0
  126. package/.agent/skills/gsd/references/docs/user-profiling.md +10 -10
  127. package/.agent/skills/gsd/references/docs/verification-overrides.md +227 -0
  128. package/.agent/skills/gsd/references/docs/workstream-flag.md +2 -2
  129. package/.agent/skills/gsd/references/mapping.md +11 -21
  130. package/.agent/skills/gsd/references/workflows/analyze-dependencies.md +3 -3
  131. package/.agent/skills/gsd/references/workflows/audit-fix.md +157 -0
  132. package/.agent/skills/gsd/references/workflows/autonomous.md +22 -1
  133. package/.agent/skills/gsd/references/workflows/code-review-fix.md +497 -0
  134. package/.agent/skills/gsd/references/workflows/code-review.md +515 -0
  135. package/.agent/skills/gsd/references/workflows/discuss-phase-power.md +3 -3
  136. package/.agent/skills/gsd/references/workflows/discuss-phase.md +20 -0
  137. package/.agent/skills/gsd/references/workflows/execute-phase.md +103 -0
  138. package/.agent/skills/gsd/references/workflows/explore.md +139 -0
  139. package/.agent/skills/gsd/references/workflows/import.md +274 -0
  140. package/.agent/skills/gsd/references/workflows/inbox.md +384 -0
  141. package/.agent/skills/gsd/references/workflows/manager.md +5 -5
  142. package/.agent/skills/gsd/references/workflows/new-milestone.md +1 -1
  143. package/.agent/skills/gsd/references/workflows/next.md +56 -0
  144. package/.agent/skills/gsd/references/workflows/plan-phase.md +48 -1
  145. package/.agent/skills/gsd/references/workflows/quick.md +96 -2
  146. package/.agent/skills/gsd/references/workflows/review.md +23 -3
  147. package/.agent/skills/gsd/references/workflows/scan.md +102 -0
  148. package/.agent/skills/gsd/references/workflows/settings.md +1 -1
  149. package/.agent/skills/gsd/references/workflows/ui-review.md +2 -2
  150. package/.agent/skills/gsd/references/workflows/undo.md +312 -0
  151. package/.agent/skills/gsd/references/workflows/update.md +5 -5
  152. package/.agent/skills/gsd-converter/SKILL.md +67 -59
  153. package/.agent/skills/gsd-converter/assets/migration-manifest.json +74 -0
  154. package/.agent/skills/gsd-converter/references/mapping.md +6 -16
  155. package/.agent/skills/gsd-converter/scripts/convert.py +419 -80
  156. package/.agent/skills/gsd-converter/scripts/regression_test.py +33 -0
  157. package/.agent/skills/selectpaste-update/SKILL.md +46 -0
  158. package/.agent/skills/selectpaste-update/scripts/sync-commands.py +317 -0
  159. package/README.md +4 -2
  160. package/bin/install.js +116 -116
  161. package/package.json +1 -1
  162. package/.agent/skills/gsd/references/commands/gsd-set-profile.md +0 -12
  163. /package/.agent/skills/gsd/references/commands/{gsd-tools.md → system/gsd-tools.md} +0 -0
@@ -0,0 +1,50 @@
1
+ # Thinking Models: Research Cluster
2
+
3
+ Structured reasoning models for the **researcher** and **synthesizer** agents. Apply these at decision points during research and synthesis, not continuously. Each model counters a specific documented failure mode.
4
+
5
+ Source: Curated from [thinking-partner](https://github.com/mattnowdev/thinking-partner) model catalog (150+ models). Selected for direct applicability to GSD research workflow.
6
+
7
+ ## Conflict Resolution
8
+
9
+ **First Principles and Steel Man both expand scope** -- run First Principles FIRST (decompose the problem), then Steel Man (strengthen alternatives). Don't run simultaneously.
10
+
11
+ ## 1. First Principles Thinking
12
+
13
+ **Counters:** Accepting surface-level explanations without decomposing into fundamental components.
14
+
15
+ Before accepting any technology recommendation or architectural pattern, decompose it to its fundamental constraints: What problem does this solve? What are the non-negotiable requirements? What are the physical/logical limits? Build your recommendation UP from these constraints rather than DOWN from conventional wisdom. If you cannot explain WHY a recommendation is correct from first principles, flag it as `[LOW]` regardless of source count.
16
+
17
+ ## 2. Simpson's Paradox Awareness
18
+
19
+ **Counters:** Synthesizer aggregating conflicting research without checking for confounding splits.
20
+
21
+ When combining findings from multiple research documents that show contradictory results, check whether the contradiction disappears when you split by a hidden variable: framework version, deployment target, project scale, or use case category. A library that benchmarks faster overall may be slower for YOUR specific workload. Before resolving contradictions by majority vote, ask: "Is there a subgroup split that explains why both findings are correct in their own context?"
22
+
23
+ ## 3. Survivorship Bias
24
+
25
+ **Counters:** Only finding successful examples while missing failures and abandoned approaches.
26
+
27
+ After gathering evidence FOR a recommended approach, actively search for projects that ABANDONED it. Check GitHub issues for "migrated away from", "replaced X with", or "problems with X at scale". A technology with 10 success stories and 100 quiet failures looks great until you check the graveyard. Weight negative evidence (migration-away stories, deprecation notices, unresolved issues) MORE heavily than positive evidence -- failures are underreported.
28
+
29
+ ## 4. Confirmation Bias Counter
30
+
31
+ **Counters:** Searching for evidence that confirms initial hypothesis while ignoring disconfirming evidence.
32
+
33
+ After forming your initial recommendation, spend one full research cycle searching AGAINST it. Use search terms like "{technology} problems", "{technology} alternatives", "why not {technology}", "{technology} vs {competitor}". For each piece of disconfirming evidence found, either (a) refute it with higher-confidence sources, or (b) add it as a caveat to your recommendation. If you cannot find ANY criticism of your recommendation, your search was too narrow -- widen it.
34
+
35
+ ## 5. Steel Man
36
+
37
+ **Counters:** Dismissing alternative approaches without giving them their strongest possible form.
38
+
39
+ Before recommending against an alternative technology or approach, construct its STRONGEST possible case. What would a passionate advocate say? What use cases does it serve better than your recommendation? What trade-offs favor it? Present the steel-manned alternative alongside your recommendation with an honest comparison. If the steel-manned alternative is competitive, flag the decision as `[NEEDS DECISION]` rather than making a unilateral recommendation.
40
+
41
+ ---
42
+
43
+ ## When NOT to Think
44
+
45
+ Skip structured reasoning models when the situation does not benefit from them:
46
+
47
+ - **Locked decisions from CONTEXT.md** -- If the user already decided "use library X", do not run Steel Man analysis on alternatives or First Principles decomposition of the choice. Research how to use X well, not whether X is the right choice.
48
+ - **Standard stack lookups** -- If you are simply checking the latest version of a well-known library or reading its API docs, do not invoke Survivorship Bias or Confirmation Bias Counter. These models are for evaluating contested recommendations, not for factual lookups.
49
+ - **Single-technology phases** -- If the phase involves one technology with no alternatives to evaluate (e.g., "add ESLint rule X"), skip comparative models (Steel Man, Confirmation Bias Counter). Just research the implementation.
50
+ - **Codebase-only research** -- If the research is purely internal (understanding existing code patterns, finding where a function is called), structured reasoning models add no value. Use grep and read the code.
@@ -0,0 +1,55 @@
1
+ # Thinking Models: Verification Cluster
2
+
3
+ Structured reasoning models for the **verifier** and **plan-checker** agents. Apply these during verification passes, not continuously. Each model counters a specific documented failure mode.
4
+
5
+ Source: Curated from [thinking-partner](https://github.com/mattnowdev/thinking-partner) model catalog (150+ models). Selected for direct applicability to GSD verification workflow.
6
+
7
+ ## Conflict Resolution
8
+
9
+ **Inversion** and **Confirmation Bias Counter** both look for failures but serve different purposes. Run them in sequence:
10
+
11
+ 1. **Inversion FIRST** (brainstorm): generate 3 ways this could be wrong
12
+ 2. **Confirmation Bias Counter SECOND** (structured check): find one partial requirement, one misleading test, one uncovered error path
13
+
14
+ Inversion generates the list; Confirmation Bias Counter is the discipline to verify items on it.
15
+
16
+ ## 1. Inversion
17
+
18
+ **Counters:** Verifiers confirming success rather than finding failures.
19
+
20
+ Instead of checking what IS correct, list 3 specific ways this implementation could be WRONG despite passing tests: missing edge cases, silent data loss, race conditions, unhandled error paths. For each, write a concrete check (grep for pattern, test with specific input, verify error handling exists). Additionally, check whether any documented DEVIATION in SUMMARY.md changes the meaning or applicability of a must-have. If a must-have was written assuming approach A but the executor used approach B, the must-have may need reinterpretation, not literal checking.
21
+
22
+ ## 2. Chesterton's Fence
23
+
24
+ **Counters:** Flagging purposeful code as dead or unnecessary.
25
+
26
+ Before flagging any existing code as dead, redundant, or overcomplicated, determine WHY it was written that way. Check git blame, comments, test cases, and the PLAN.md that created it. If the reason is unclear, flag as "purpose unknown -- recommend keeping with WARNING, not removing" and include the git blame hash for the commit that introduced it.
27
+
28
+ ## 3. Confirmation Bias Counter
29
+
30
+ **Counters:** Verifiers primed by SUMMARY.md claims to see success.
31
+
32
+ After your initial verification pass, do a DISCONFIRMATION pass: (1) find one requirement that is only partially met, (2) find one test that passes but does not actually test the stated behavior, (3) find one error path that has no test coverage. Report these even if overall verification passes.
33
+
34
+ ## 4. Planning Fallacy Calibration
35
+
36
+ **Counters:** Accepting over-scoped plans as reasonable (plan-checker).
37
+
38
+ For each task estimated as "simple" or "small", check: does it touch more than 2 files? Does it require understanding an unfamiliar API? Does it modify shared infrastructure? If yes to any, flag as likely underestimated. Plans with >5 tasks or tasks touching >4 files per task are over-scoped.
39
+
40
+ ## 5. Counterfactual Thinking
41
+
42
+ **Counters:** Plans that assume success at every step with no error recovery (plan-checker).
43
+
44
+ For each plan, ask: "What would happen if the executor followed this plan EXACTLY as written but encountered a common failure: dependency version mismatch, API returning unexpected format, file already modified by prior plan?" If the plan has no contingency path and the `<action>` steps assume success at every point, flag as WARNING: "No error recovery path for task T{n}."
45
+
46
+ ---
47
+
48
+ ## When NOT to Think
49
+
50
+ Skip structured reasoning models when the situation does not benefit from them:
51
+
52
+ - **Re-verification of previously passed items** -- When in re-verification mode, items that passed the initial check only need a quick regression check (existence + basic sanity), not the full Inversion + Confirmation Bias Counter treatment.
53
+ - **Binary existence checks** -- If a must-have is "file X exists with >N lines" and the file clearly exists with substantive content, do not run Counterfactual Thinking on it. Reserve models for ambiguous or wiring-dependent must-haves.
54
+ - **Straightforward test results** -- If `<verify>` commands produce clear pass/fail output (e.g., test suite exits 0 with all tests passing), accept the result. Only invoke models when test results are ambiguous or when you suspect the tests do not actually test what they claim.
55
+ - **INFO-level issues** -- Do not apply structured reasoning to decide whether an INFO-level observation is actually a BLOCKER. INFO items are informational by definition and never trigger gates.
@@ -0,0 +1,96 @@
1
+ # Thinking Partner Integration
2
+
3
+ Conditional extended thinking at workflow decision points. Activates when `features.thinking_partner: true` in `.planning/config.json` (default: false).
4
+
5
+ ---
6
+
7
+ ## Tradeoff Detection Signals
8
+
9
+ The thinking partner activates when developer responses contain specific signals indicating competing priorities:
10
+
11
+ **Keyword signals:**
12
+ - "or" / "versus" / "vs" connecting two approaches
13
+ - "tradeoff" / "trade-off" / "tradeoffs"
14
+ - "on one hand" / "on the other hand"
15
+ - "pros and cons"
16
+ - "not sure between" / "torn between"
17
+
18
+ **Structural signals:**
19
+ - Developer lists 2+ competing options
20
+ - Developer asks "which is better" or "what would you recommend"
21
+ - Developer reverses a previous decision ("actually, maybe we should...")
22
+
23
+ **When NOT to activate:**
24
+ - Developer has already made a clear choice
25
+ - The "or" is rhetorical or trivial (e.g., "tabs or spaces" — use project convention)
26
+ - Simple yes/no questions
27
+ - Developer explicitly asks to move on
28
+
29
+ ---
30
+
31
+ ## Integration Points
32
+
33
+ ### 1. Discuss Phase — Tradeoff Deep-Dive
34
+
35
+ **When:** During `discuss_areas` step, after a developer answer reveals competing priorities.
36
+
37
+ **What:** Pause the normal question flow and offer a brief structured analysis:
38
+ ```
39
+ I notice competing priorities here — {X} optimizes for {A} while {Y} optimizes for {B}.
40
+
41
+ Want me to think through the tradeoffs before we decide?
42
+ [Yes, analyze tradeoffs] / [No, I've decided]
43
+ ```
44
+
45
+ If yes, provide a brief (3-5 bullet) analysis covering:
46
+ - What each approach optimizes for
47
+ - What each approach sacrifices
48
+ - Which aligns better with the project's stated goals (from PROJECT.md)
49
+ - A recommendation with reasoning
50
+
51
+ Then return to the normal discussion flow.
52
+
53
+ ### 2. Plan Phase — Architectural Decision Analysis
54
+
55
+ **When:** During step 11 (Handle Checker Return), when the plan-checker flags issues containing architectural tradeoff keywords.
56
+
57
+ **What:** Before sending to the revision loop, analyze the architectural decision:
58
+ ```
59
+ The plan-checker flagged an architectural tradeoff: {issue description}
60
+
61
+ Brief analysis:
62
+ - Option A: {approach} — {pros/cons}
63
+ - Option B: {approach} — {pros/cons}
64
+ - Recommendation: {choice} because {reasoning aligned with phase goals}
65
+
66
+ Apply this recommendation to the revision? [Yes] / [No, let me decide]
67
+ ```
68
+
69
+ ### 3. Explore — Approach Comparison (requires #1729)
70
+
71
+ **When:** During Socratic conversation, when multiple viable approaches emerge.
72
+ **Note:** This integration point will be added when /gsd-explore (#1729) lands.
73
+
74
+ ---
75
+
76
+ ## Configuration
77
+
78
+ ```json
79
+ {
80
+ "features": {
81
+ "thinking_partner": true
82
+ }
83
+ }
84
+ ```
85
+
86
+ Default: `false`. The thinking partner is opt-in because it adds latency to interactive workflows.
87
+
88
+ ---
89
+
90
+ ## Design Principles
91
+
92
+ 1. **Lightweight** — inline analysis, not a separate interactive session
93
+ 2. **Opt-in** — must be explicitly enabled, never activates by default
94
+ 3. **Skippable** — always offer "No, I've decided" to bypass
95
+ 4. **Brief** — 3-5 bullets max, not a full research report
96
+ 5. **Aligned** — recommendations reference PROJECT.md goals when available
@@ -0,0 +1,58 @@
1
+ # Universal Anti-Patterns
2
+
3
+ Rules that apply to ALL workflows and agents. Individual workflows may have additional specific anti-patterns.
4
+
5
+ ---
6
+
7
+ ## Context Budget Rules
8
+
9
+ 1. **Never** read agent definition files (`agents/*.md`) -- `subagent_type` auto-loads them. Reading agent definitions into the orchestrator wastes context for content automatically injected into subagent sessions.
10
+ 2. **Never** inline large files into subagent prompts -- tell agents to read files from disk instead. Agents have their own context windows.
11
+ 3. **Read depth scales with context window** -- check `context_window_tokens` in `.planning/config.json`. At < 500000: read only frontmatter, status fields, or summaries. At >= 500000 (1M model): full body reads permitted when content is needed for inline decisions. See `references/context-budget.md` for the complete table.
12
+ 4. **Delegate** heavy work to subagents -- the orchestrator routes, it does not build, analyze, research, investigate, or verify.
13
+ 5. **Proactive pause warning**: If you have already consumed significant context (large file reads, multiple subagent results), warn the user: "Context budget is getting heavy. Consider checkpointing progress."
14
+
15
+ ## File Reading Rules
16
+
17
+ 6. **SUMMARY.md read depth scales with context window** -- at context_window_tokens < 500000: read frontmatter only from prior phase SUMMARYs. At >= 500000: full body reads permitted for direct-dependency phases. Transitive dependencies (2+ phases back) remain frontmatter-only regardless.
18
+ 7. **Never** read full PLAN.md files from other phases -- only current phase plans.
19
+ 8. **Never** read `.planning/logs/` files -- only the health workflow reads these.
20
+ 9. **Do not** re-read full file contents when frontmatter is sufficient -- frontmatter contains status, key_files, commits, and provides fields. Exception: at >= 500000, re-reading full body is acceptable when semantic content is needed.
21
+
22
+ ## Subagent Rules
23
+
24
+ 10. **NEVER** use non-GSD agent types (`general-purpose`, `Explore`, `Plan`, `Bash`, `feature-dev`, etc.) -- ALWAYS use `subagent_type: "gsd-{agent}"` (e.g., `gsd-phase-researcher`, `gsd-executor`, `gsd-planner`). GSD agents have project-aware prompts, audit logging, and workflow context. Generic agents bypass all of this.
25
+ 11. **Do not** re-litigate decisions that are already locked in CONTEXT.md (or PROJECT.md ## Context section) -- respect locked decisions unconditionally.
26
+
27
+ ## Questioning Anti-Patterns
28
+
29
+ Reference: `references/questioning.md` for the full anti-pattern list.
30
+
31
+ 12. **Do not** walk through checklists -- checklist walking (asking items one by one from a list) is the #1 anti-pattern. Instead, use progressive depth: start broad, dig where interesting.
32
+ 13. **Do not** use corporate speak -- avoid jargon like "stakeholder alignment", "synergize", "deliverables". Use plain language.
33
+ 14. **Do not** apply premature constraints -- don't narrow the solution space before understanding the problem. Ask about the problem first, then constrain.
34
+
35
+ ## State Management Anti-Patterns
36
+
37
+ 15. **No direct Write/Edit to STATE.md or ROADMAP.md for mutations.** Always use `gsd-tools.cjs` CLI commands (`state update`, `state advance-plan`, `roadmap update-status`) for mutations. Direct Write tool usage bypasses safe update logic and is unsafe in multi-session environments. Exception: first-time creation of STATE.md from template is allowed.
38
+
39
+ ## Behavioral Rules
40
+
41
+ 16. **Do not** create artifacts the user did not approve -- always confirm before writing new planning documents.
42
+ 17. **Do not** modify files outside the workflow's stated scope -- check the plan's files_modified list.
43
+ 18. **Do not** suggest multiple next actions without clear priority -- one primary suggestion, alternatives listed secondary.
44
+ 19. **Do not** use `git add .` or `git add -A` -- stage specific files only.
45
+ 20. **Do not** include sensitive information (API keys, passwords, tokens) in planning documents or commits.
46
+
47
+ ## Error Recovery Rules
48
+
49
+ 21. **Git lock detection**: Before any git operation, if it fails with "Unable to create lock file", check for stale `.git/index.lock` and advise the user to remove it (do not remove automatically).
50
+ 22. **Config fallback awareness**: Config loading returns `null` silently on invalid JSON. If your workflow depends on config values, check for null and warn the user: "config.json is invalid or missing -- running with defaults."
51
+ 23. **Partial state recovery**: If STATE.md references a phase directory that doesn't exist, do not proceed silently. Warn the user and suggest diagnosing the mismatch.
52
+
53
+ ## GSD-Specific Rules
54
+
55
+ 24. **Do not** check for `mode === 'auto'` or `mode === 'autonomous'` -- GSD uses `yolo` config flag. Check `yolo: true` for autonomous mode, absence or `false` for interactive mode.
56
+ 25. **Always use `gsd-tools.cjs`** (not `gsd-tools.js` or any other variant) -- GSD uses CommonJS for Node.js CLI compatibility.
57
+ 26. **Plan files MUST follow `{padded_phase}-{NN}-PLAN.md` pattern** (e.g., `01-01-PLAN.md`). Never use `PLAN-01.md`, `plan-01.md`, or any other variation -- gsd-tools detection depends on this exact pattern.
58
+ 27. **Do not start executing the next plan before writing the SUMMARY.md for the current plan** -- downstream plans may reference it via `@` includes.
@@ -523,7 +523,7 @@ When a specific dimension has insufficient data (even if total messages exceed t
523
523
 
524
524
  - Set confidence to `UNSCORED`
525
525
  - Set summary to: "Insufficient data -- no clear signals detected for this dimension."
526
- - Set claude_instruction to a neutral fallback: "No strong preference detected. Ask the developer when this dimension is relevant."
526
+ - Set antigravity_instruction to a neutral fallback: "No strong preference detected. Ask the developer when this dimension is relevant."
527
527
  - Set evidence_quotes to empty array `[]`
528
528
  - Set evidence_count to `0`
529
529
 
@@ -566,7 +566,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
566
566
  }
567
567
  ],
568
568
  "summary": "One to two sentence description of the observed pattern",
569
- "claude_instruction": "Imperative directive for Antigravity: 'Match structured communication style' not 'You tend to provide structured context'"
569
+ "antigravity_instruction": "Imperative directive for Antigravity: 'Match structured communication style' not 'You tend to provide structured context'"
570
570
  },
571
571
  "decision_speed": {
572
572
  "rating": "fast-intuitive|deliberate-informed|research-first|delegator",
@@ -575,7 +575,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
575
575
  "cross_project_consistent": true,
576
576
  "evidence_quotes": [],
577
577
  "summary": "string",
578
- "claude_instruction": "string"
578
+ "antigravity_instruction": "string"
579
579
  },
580
580
  "explanation_depth": {
581
581
  "rating": "code-only|concise|detailed|educational",
@@ -584,7 +584,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
584
584
  "cross_project_consistent": true,
585
585
  "evidence_quotes": [],
586
586
  "summary": "string",
587
- "claude_instruction": "string"
587
+ "antigravity_instruction": "string"
588
588
  },
589
589
  "debugging_approach": {
590
590
  "rating": "fix-first|diagnostic|hypothesis-driven|collaborative",
@@ -593,7 +593,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
593
593
  "cross_project_consistent": true,
594
594
  "evidence_quotes": [],
595
595
  "summary": "string",
596
- "claude_instruction": "string"
596
+ "antigravity_instruction": "string"
597
597
  },
598
598
  "ux_philosophy": {
599
599
  "rating": "function-first|pragmatic|design-conscious|backend-focused",
@@ -602,7 +602,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
602
602
  "cross_project_consistent": true,
603
603
  "evidence_quotes": [],
604
604
  "summary": "string",
605
- "claude_instruction": "string"
605
+ "antigravity_instruction": "string"
606
606
  },
607
607
  "vendor_philosophy": {
608
608
  "rating": "pragmatic-fast|conservative|thorough-evaluator|opinionated",
@@ -611,7 +611,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
611
611
  "cross_project_consistent": true,
612
612
  "evidence_quotes": [],
613
613
  "summary": "string",
614
- "claude_instruction": "string"
614
+ "antigravity_instruction": "string"
615
615
  },
616
616
  "frustration_triggers": {
617
617
  "rating": "scope-creep|instruction-adherence|verbosity|regression",
@@ -620,7 +620,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
620
620
  "cross_project_consistent": true,
621
621
  "evidence_quotes": [],
622
622
  "summary": "string",
623
- "claude_instruction": "string"
623
+ "antigravity_instruction": "string"
624
624
  },
625
625
  "learning_style": {
626
626
  "rating": "self-directed|guided|documentation-first|example-driven",
@@ -629,7 +629,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
629
629
  "cross_project_consistent": true,
630
630
  "evidence_quotes": [],
631
631
  "summary": "string",
632
- "claude_instruction": "string"
632
+ "antigravity_instruction": "string"
633
633
  }
634
634
  }
635
635
  }
@@ -644,7 +644,7 @@ The profiler agent must return JSON matching this exact schema, wrapped in `<ana
644
644
  - **`messages_analyzed`**: Total number of genuine user messages processed
645
645
  - **`message_threshold`**: Which threshold mode was triggered (`full`, `hybrid`, `insufficient`)
646
646
  - **`sensitive_excluded`**: Array of excluded sensitive content types with counts (empty array if none found)
647
- - **`claude_instruction`**: Must be written in imperative form directed at Antigravity. This field is how the profile becomes actionable.
647
+ - **`antigravity_instruction`**: Must be written in imperative form directed at Antigravity. This field is how the profile becomes actionable.
648
648
  - Good: "Provide structured responses with headers and numbered lists to match this developer's communication style."
649
649
  - Bad: "You tend to like structured responses."
650
650
  - Good: "Ask before making changes beyond the stated request -- this developer values bounded execution."
@@ -0,0 +1,227 @@
1
+ # Verification Overrides
2
+
3
+ Mechanism for intentionally accepting must-have failures when the deviation is known and acceptable. Prevents verification loops on items that will never pass as originally specified.
4
+
5
+ <override_format>
6
+
7
+ ## Override Format
8
+
9
+ Overrides are declared in the VERIFICATION.md frontmatter under an `overrides:` key:
10
+
11
+ ```yaml
12
+ ---
13
+ phase: 03-authentication
14
+ verified: 2026-04-05T12:00:00Z
15
+ status: passed
16
+ score: 5/5
17
+ overrides_applied: 2
18
+ overrides:
19
+ - must_have: "OAuth2 PKCE flow implemented"
20
+ reason: "Using session-based auth instead — PKCE unnecessary for server-rendered app"
21
+ accepted_by: "dave"
22
+ accepted_at: "2026-04-04T15:30:00Z"
23
+ - must_have: "Rate limiting on login endpoint"
24
+ reason: "Deferred to Phase 5 (infrastructure) — tracked in ROADMAP.md"
25
+ accepted_by: "dave"
26
+ accepted_at: "2026-04-04T15:30:00Z"
27
+ ---
28
+ ```
29
+
30
+ ### Required Fields
31
+
32
+ | Field | Type | Description |
33
+ |-------|------|-------------|
34
+ | `must_have` | string | The must-have truth, artifact description, or key link being overridden. Does not need to be an exact match — fuzzy matching applies. |
35
+ | `reason` | string | Why this deviation is acceptable. Must be specific — not just "not needed". |
36
+ | `accepted_by` | string | Who accepted the override (username or role). Required. |
37
+ | `accepted_at` | string | ISO timestamp of when the override was accepted. Required. |
38
+
39
+ </override_format>
40
+
41
+ ## When to Use
42
+
43
+ Overrides apply when a phase intentionally deviated from the original plan during execution — for example, a requirement was descoped, an alternative approach was chosen, or a dependency changed.
44
+
45
+ Without overrides, the verifier reports these as FAIL even though the deviation was intentional. Overrides let the developer mark specific items as `PASSED (override)` with a documented reason.
46
+
47
+ Overrides are appropriate when:
48
+ - A requirement changed after planning but ROADMAP.md hasn't been updated yet
49
+ - An alternative implementation satisfies the intent but not the literal wording
50
+ - A must-have is deferred to a later phase with explicit tracking
51
+ - External constraints make the original must-have impossible or unnecessary
52
+
53
+ ## When NOT to Use
54
+
55
+ Overrides are NOT appropriate when:
56
+ - The implementation is simply incomplete — fix it instead
57
+ - The must-have is unclear — clarify it instead
58
+ - The developer wants to skip verification — that undermines the process
59
+ - Multiple must-haves are failing for the same phase — if more than 2-3 items need overrides, revisit the plan instead of overriding in bulk
60
+
61
+ <matching_rules>
62
+
63
+ ## Matching Rules
64
+
65
+ Override matching uses **fuzzy matching**, not exact string comparison. This accommodates minor wording differences between how must-haves are phrased in ROADMAP.md, PLAN.md frontmatter, and the override entry.
66
+
67
+ ### Matching Algorithm
68
+
69
+ 1. **Normalize both strings:** case-insensitive comparison — lowercase both strings, strip punctuation, collapse whitespace
70
+ 2. **Token overlap:** split into words, compute intersection
71
+ 3. **Match threshold:** 80% token overlap in EITHER direction (override tokens found in must-have, OR must-have tokens found in override)
72
+ 4. **Key noun priority:** nouns and technical terms (file paths, component names, API endpoints) are weighted higher than common words
73
+
74
+ ### Examples
75
+
76
+ | Must-Have | Override `must_have` | Match? | Reason |
77
+ |-----------|---------------------|--------|--------|
78
+ | "User can authenticate via OAuth2 PKCE" | "OAuth2 PKCE flow implemented" | Yes | Key terms `OAuth2` and `PKCE` overlap, 80% threshold met |
79
+ | "Rate limiting on /api/auth/login" | "Rate limiting on login endpoint" | Yes | `rate limiting` + `login` overlap |
80
+ | "Chat component renders messages" | "OAuth2 PKCE flow implemented" | No | No meaningful token overlap |
81
+ | "src/components/Chat.tsx provides message list" | "Chat.tsx message list rendering" | Yes | `Chat.tsx` + `message` + `list` overlap |
82
+
83
+ ### Ambiguity Resolution
84
+
85
+ If an override matches multiple must-haves, apply it to the **most specific match** (highest token overlap percentage). If still ambiguous, apply to the first match and log a warning.
86
+
87
+ </matching_rules>
88
+
89
+ <verifier_behavior>
90
+
91
+ ## Verifier Behavior with Overrides
92
+
93
+ ### Check Order
94
+
95
+ The override check happens **before marking a must-have as FAIL**. The flow is:
96
+
97
+ 1. Evaluate must-have against codebase (Steps 3-5 of verification process)
98
+ 2. If evaluation result is FAIL or UNCERTAIN:
99
+ a. Check `overrides:` array in VERIFICATION.md frontmatter for a fuzzy match
100
+ b. If override found: mark as `PASSED (override)` instead of FAIL
101
+ c. If no override found: mark as FAIL as normal
102
+ 3. If evaluation result is PASS: mark as VERIFIED (overrides are irrelevant)
103
+
104
+ ### Output Format
105
+
106
+ Overridden items appear with distinct status in all verification tables:
107
+
108
+ ```markdown
109
+ | # | Truth | Status | Evidence |
110
+ |---|-------|--------|----------|
111
+ | 1 | User can authenticate | VERIFIED | OAuth session flow working |
112
+ | 2 | OAuth2 PKCE flow | PASSED (override) | Override: Using session-based auth — accepted by dave on 2026-04-04 |
113
+ | 3 | Chat renders messages | FAILED | Component returns placeholder |
114
+ ```
115
+
116
+ The `PASSED (override)` status must be visually distinct from both `VERIFIED` and `FAILED`. In the evidence column, include the override reason and who accepted it.
117
+
118
+ ### Impact on Overall Status
119
+
120
+ - `PASSED (override)` items count toward the passing score, not the failing score
121
+ - A phase with all items either VERIFIED or PASSED (override) can have status `passed`
122
+ - Overrides do NOT suppress `human_needed` items — those still require human testing
123
+
124
+ ### Frontmatter Score
125
+
126
+ The score and override count in frontmatter reflect applied overrides:
127
+
128
+ ```yaml
129
+ score: 5/5 # includes 2 overrides
130
+ overrides_applied: 2
131
+ ```
132
+
133
+ </verifier_behavior>
134
+
135
+ <creating_overrides>
136
+
137
+ ## Creating Overrides
138
+
139
+ ### Interactive Override Suggestion
140
+
141
+ When the verifier marks a must-have as FAIL and the failure looks intentional (e.g., alternative implementation exists, or the code explicitly handles the case differently), the verifier should suggest creating an override:
142
+
143
+ ```markdown
144
+ ### F-002: OAuth2 PKCE flow
145
+
146
+ **Status:** FAILED
147
+ **Evidence:** No PKCE implementation found. Session-based auth used instead.
148
+
149
+ **This looks intentional.** The codebase uses session-based authentication which achieves the same goal differently. To accept this deviation, add an override to VERIFICATION.md frontmatter:
150
+
151
+ ```yaml
152
+ overrides:
153
+ - must_have: "OAuth2 PKCE flow implemented"
154
+ reason: "Using session-based auth instead — PKCE unnecessary for server-rendered app"
155
+ accepted_by: "{your name}"
156
+ accepted_at: "{current ISO timestamp}"
157
+ ```
158
+
159
+ Then re-run verification to apply.
160
+ ```
161
+
162
+ ### Override via gsd-tools
163
+
164
+ Overrides can also be managed through the verification workflow:
165
+
166
+ 1. Run `/gsd-verify-work` — verification finds gaps
167
+ 2. Review gaps — determine which are intentional deviations
168
+ 3. Add override entries to VERIFICATION.md frontmatter
169
+ 4. Re-run `/gsd-verify-work` — overrides are applied, remaining gaps shown
170
+
171
+ </creating_overrides>
172
+
173
+ <override_lifecycle>
174
+
175
+ ## Override Lifecycle
176
+
177
+ ### During Re-verification
178
+
179
+ When a phase is re-verified (e.g., after gap closure):
180
+ - Existing overrides carry forward automatically
181
+ - If the underlying code now satisfies the must-have, the override becomes unnecessary — mark as VERIFIED instead
182
+ - Overrides are never removed automatically; they persist as documentation
183
+
184
+ ### At Milestone Completion
185
+
186
+ During `/gsd-audit-milestone`, overrides are surfaced in the audit report:
187
+
188
+ ```
189
+ ### Verification Overrides ({count} across {phase_count} phases)
190
+
191
+ | Phase | Must-Have | Reason | Accepted By |
192
+ |-------|----------|--------|-------------|
193
+ | 03 | OAuth2 PKCE | Session-based auth used instead | dave |
194
+ ```
195
+
196
+ This gives the team visibility into all accepted deviations before closing the milestone.
197
+
198
+ ### Cleanup
199
+
200
+ Stale overrides (where the must-have was later implemented or removed from ROADMAP.md) can be cleaned up during milestone completion. They are informational — leaving them causes no harm.
201
+
202
+ </override_lifecycle>
203
+
204
+ ## Example VERIFICATION.md
205
+
206
+ ```markdown
207
+ ---
208
+ phase: 03-api-layer
209
+ verified: 2026-04-05T12:00:00Z
210
+ status: passed
211
+ score: 3/3
212
+ overrides_applied: 1
213
+ overrides:
214
+ - must_have: "paginated API responses"
215
+ reason: "Descoped — dataset under 100 items, pagination adds complexity without value"
216
+ accepted_by: "dave"
217
+ accepted_at: "2026-04-04T15:30:00Z"
218
+ ---
219
+
220
+ ## Phase 3: API Layer — Verification
221
+
222
+ | # | Truth | Status | Evidence |
223
+ |---|-------|--------|----------|
224
+ | 1 | REST endpoints return JSON | VERIFIED | curl tests confirm |
225
+ | 2 | Paginated API responses | PASSED (override) | Descoped — see override: dataset under 100 items |
226
+ | 3 | Authentication middleware | VERIFIED | JWT validation working |
227
+ ```
@@ -20,7 +20,7 @@ Antigravity/Codex instances are active on the same repo at the same time. One se
20
20
  silently repoint another session's `STATE.md`, `ROADMAP.md`, and phase paths.
21
21
 
22
22
  GSD now prefers a session-scoped pointer keyed by runtime/session identity
23
- (`GSD_SESSION_KEY`, `CODEX_THREAD_ID`, `CLAUDE_CODE_SSE_PORT`, terminal session IDs,
23
+ (`GSD_SESSION_KEY`, `CODEX_THREAD_ID`, `ANTIGRAVITY_SSE_PORT`, terminal session IDs,
24
24
  or the controlling TTY). This keeps concurrent sessions isolated while preserving
25
25
  legacy compatibility for runtimes that do not expose a stable session key.
26
26
 
@@ -29,7 +29,7 @@ legacy compatibility for runtimes that do not expose a stable session key.
29
29
  When GSD resolves the session-scoped pointer in step 3 above, it uses this order:
30
30
 
31
31
  1. Explicit runtime/session env vars such as `GSD_SESSION_KEY`, `CODEX_THREAD_ID`,
32
- `CLAUDE_SESSION_ID`, `CLAUDE_CODE_SSE_PORT`, `OPENCODE_SESSION_ID`,
32
+ `ANTIGRAVITY_SESSION_ID`, `ANTIGRAVITY_SSE_PORT`, `OPENCODE_SESSION_ID`,
33
33
  `GEMINI_SESSION_ID`, `CURSOR_SESSION_ID`, `WINDSURF_SESSION_ID`,
34
34
  `TERM_SESSION_ID`, `WT_SESSION`, `TMUX_PANE`, and `ZELLIJ_SESSION_NAME`
35
35
  2. `TTY` or `SSH_TTY` if the shell/runtime already exposes the terminal path
@@ -6,27 +6,17 @@ When converting from a standard GSD installation to an Antigravity Skill, paths
6
6
 
7
7
  | Source GSD Path | Target Skill Path | Purpose |
8
8
  |-----------------|-------------------|---------|
9
- | `.antigravity/commands/gsd/` | `references/commands/` | Interactive slash commands |
10
- | `.antigravity/get-shit-done/references/` | `references/docs/` | Static domain knowledge and guides |
11
- references/workflows/` | `references/workflows/` | Multi-step procedural logic |
12
- references/agents/` | `references/agents/` | Specialized sub-agent system prompts |
13
- assets/templates/` | `assets/templates/` | File boilerplate (PROJECT.md, etc.) |
14
-
15
- ## String Replacements (Regex)
16
-
17
- The conversion script performs the following replacements within `.md` and `.json` files:
18
-
19
- 1. **File Inclusion Syntax (`@`)**
20
- - `@references/commands/` -> `@references/commands/`
21
- - `@references/docs/` -> `@references/docs/`
22
- - `@references/workflows/` -> `@references/workflows/`
23
- - `@assets/templates/` -> `@assets/templates/`
24
- - `@references/agents/` -> `@references/agents/`
25
-
26
- 2. **Programmatic Paths (e.g., in `Task()` calls)**
27
- references/agents/` -> `references/agents/`
28
- assets/templates/` -> `assets/templates/`
29
- references/workflows/` -> `references/workflows/`
9
+ | `.claude/commands/gsd/` | `references/commands/` | Interactive slash commands |
10
+ | `.claude/get-shit-done/references/` | `references/docs/` | Static domain knowledge and guides |
11
+ | `.claude/get-shit-done/workflows/` | `references/workflows/` | Multi-step procedural logic |
12
+ | `.claude/get-shit-done/contexts/` | `references/agents/profiles/` | Project-specific context profiles |
13
+ | `.claude/agents/` | `references/agents/` | Specialized sub-agent system prompts |
14
+ | `.claude/get-shit-done/templates/` | `assets/templates/` | File boilerplate (PROJECT.md, etc.) |
15
+ | `.claude/get-shit-done/bin/` | `bin/` | Internal GSD CLI tools |
16
+ | `.claude/hooks/` | `bin/hooks/` | Lifecycle and guard hooks |
30
17
 
31
18
  ## Project Context
32
19
  References to `@.planning/` are **preserved**, as these refer to the active project's local planning directory, not the skill's own resources.
20
+
21
+ ---
22
+ *Generated by gsd-converter on 2026-04-08*