@nforma.ai/nforma 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +1024 -0
  3. package/agents/qgsd-codebase-mapper.md +764 -0
  4. package/agents/qgsd-debugger.md +1201 -0
  5. package/agents/qgsd-executor.md +472 -0
  6. package/agents/qgsd-integration-checker.md +443 -0
  7. package/agents/qgsd-phase-researcher.md +502 -0
  8. package/agents/qgsd-plan-checker.md +643 -0
  9. package/agents/qgsd-planner.md +1182 -0
  10. package/agents/qgsd-project-researcher.md +621 -0
  11. package/agents/qgsd-quorum-orchestrator.md +628 -0
  12. package/agents/qgsd-quorum-slot-worker.md +41 -0
  13. package/agents/qgsd-quorum-synthesizer.md +133 -0
  14. package/agents/qgsd-quorum-test-worker.md +37 -0
  15. package/agents/qgsd-quorum-worker.md +161 -0
  16. package/agents/qgsd-research-synthesizer.md +239 -0
  17. package/agents/qgsd-roadmapper.md +660 -0
  18. package/agents/qgsd-verifier.md +628 -0
  19. package/bin/accept-debug-invariant.cjs +165 -0
  20. package/bin/account-manager.cjs +719 -0
  21. package/bin/aggregate-requirements.cjs +466 -0
  22. package/bin/analyze-assumptions.cjs +757 -0
  23. package/bin/analyze-state-space.cjs +921 -0
  24. package/bin/attribute-trace-divergence.cjs +150 -0
  25. package/bin/auth-drivers/gh-cli.cjs +93 -0
  26. package/bin/auth-drivers/index.cjs +46 -0
  27. package/bin/auth-drivers/pool.cjs +67 -0
  28. package/bin/auth-drivers/simple.cjs +95 -0
  29. package/bin/autoClosePtoF.cjs +110 -0
  30. package/bin/blessed-terminal.cjs +350 -0
  31. package/bin/build-phase-index.cjs +472 -0
  32. package/bin/call-quorum-slot.cjs +541 -0
  33. package/bin/ccr-secure-config.cjs +99 -0
  34. package/bin/ccr-secure-start.cjs +83 -0
  35. package/bin/check-bundled-sdks.cjs +177 -0
  36. package/bin/check-coverage-guard.cjs +112 -0
  37. package/bin/check-liveness-fairness.cjs +95 -0
  38. package/bin/check-mcp-health.cjs +123 -0
  39. package/bin/check-provider-health.cjs +395 -0
  40. package/bin/check-results-exit.cjs +24 -0
  41. package/bin/check-spec-sync.cjs +360 -0
  42. package/bin/check-trace-redaction.cjs +271 -0
  43. package/bin/check-trace-schema-drift.cjs +99 -0
  44. package/bin/compareDrift.cjs +21 -0
  45. package/bin/conformance-schema.cjs +12 -0
  46. package/bin/count-scenarios.cjs +420 -0
  47. package/bin/debt-dedup.cjs +144 -0
  48. package/bin/debt-ledger.cjs +61 -0
  49. package/bin/debt-retention.cjs +76 -0
  50. package/bin/debt-state-machine.cjs +80 -0
  51. package/bin/detect-coverage-gaps.cjs +204 -0
  52. package/bin/detect-project-intent.cjs +362 -0
  53. package/bin/export-prism-constants.cjs +164 -0
  54. package/bin/extract-annotations.cjs +633 -0
  55. package/bin/extractFormalExpected.cjs +104 -0
  56. package/bin/fingerprint-drift.cjs +24 -0
  57. package/bin/fingerprint-issue.cjs +46 -0
  58. package/bin/formal-core.cjs +519 -0
  59. package/bin/formal-ref-linker.cjs +141 -0
  60. package/bin/formal-test-sync.cjs +788 -0
  61. package/bin/generate-formal-specs.cjs +588 -0
  62. package/bin/generate-petri-net.cjs +397 -0
  63. package/bin/generate-phase-spec.cjs +249 -0
  64. package/bin/generate-proposed-changes.cjs +194 -0
  65. package/bin/generate-tla-cfg.cjs +122 -0
  66. package/bin/generate-traceability-matrix.cjs +701 -0
  67. package/bin/generate-triage-bundle.cjs +300 -0
  68. package/bin/gh-account-rotate.cjs +34 -0
  69. package/bin/initialize-model-registry.cjs +105 -0
  70. package/bin/install-formal-tools.cjs +382 -0
  71. package/bin/install.js +2424 -0
  72. package/bin/isNumericThreshold.cjs +34 -0
  73. package/bin/issue-classifier.cjs +151 -0
  74. package/bin/levenshtein.cjs +74 -0
  75. package/bin/lint-formal-models.cjs +580 -0
  76. package/bin/load-baseline-requirements.cjs +275 -0
  77. package/bin/manage-agents-core.cjs +815 -0
  78. package/bin/migrate-formal-dir.cjs +172 -0
  79. package/bin/migrate-planning.cjs +206 -0
  80. package/bin/migrate-to-slots.cjs +255 -0
  81. package/bin/nForma.cjs +2726 -0
  82. package/bin/observe-config.cjs +353 -0
  83. package/bin/observe-debt-writer.cjs +140 -0
  84. package/bin/observe-handler-grafana.cjs +128 -0
  85. package/bin/observe-handler-internal.cjs +301 -0
  86. package/bin/observe-handler-logstash.cjs +153 -0
  87. package/bin/observe-handler-prometheus.cjs +185 -0
  88. package/bin/observe-handlers.cjs +436 -0
  89. package/bin/observe-registry.cjs +131 -0
  90. package/bin/observe-render.cjs +168 -0
  91. package/bin/planning-paths.cjs +167 -0
  92. package/bin/polyrepo.cjs +560 -0
  93. package/bin/prism-priority.cjs +153 -0
  94. package/bin/probe-quorum-slots.cjs +167 -0
  95. package/bin/promote-model.cjs +225 -0
  96. package/bin/propose-debug-invariants.cjs +165 -0
  97. package/bin/providers.json +392 -0
  98. package/bin/pty-proxy.py +129 -0
  99. package/bin/qgsd-solve.cjs +2477 -0
  100. package/bin/quorum-consensus-gate.cjs +238 -0
  101. package/bin/quorum-formal-context.cjs +183 -0
  102. package/bin/quorum-slot-dispatch.cjs +934 -0
  103. package/bin/read-policy.cjs +60 -0
  104. package/bin/requirement-map.cjs +63 -0
  105. package/bin/requirements-core.cjs +247 -0
  106. package/bin/resolve-cli.cjs +101 -0
  107. package/bin/review-mcp-logs.cjs +294 -0
  108. package/bin/run-account-manager-tlc.cjs +188 -0
  109. package/bin/run-account-pool-alloy.cjs +158 -0
  110. package/bin/run-alloy.cjs +153 -0
  111. package/bin/run-audit-alloy.cjs +187 -0
  112. package/bin/run-breaker-tlc.cjs +181 -0
  113. package/bin/run-formal-check.cjs +395 -0
  114. package/bin/run-formal-verify.cjs +701 -0
  115. package/bin/run-installer-alloy.cjs +188 -0
  116. package/bin/run-oauth-rotation-prism.cjs +132 -0
  117. package/bin/run-oscillation-tlc.cjs +202 -0
  118. package/bin/run-phase-tlc.cjs +228 -0
  119. package/bin/run-prism.cjs +446 -0
  120. package/bin/run-protocol-tlc.cjs +201 -0
  121. package/bin/run-quorum-composition-alloy.cjs +155 -0
  122. package/bin/run-sensitivity-sweep.cjs +231 -0
  123. package/bin/run-stop-hook-tlc.cjs +188 -0
  124. package/bin/run-tlc.cjs +467 -0
  125. package/bin/run-transcript-alloy.cjs +173 -0
  126. package/bin/run-uppaal.cjs +264 -0
  127. package/bin/secrets.cjs +134 -0
  128. package/bin/sensitivity-report.cjs +219 -0
  129. package/bin/sensitivity-sweep-feedback.cjs +194 -0
  130. package/bin/set-secret.cjs +29 -0
  131. package/bin/setup-telemetry-cron.sh +36 -0
  132. package/bin/sweepPtoF.cjs +63 -0
  133. package/bin/sync-baseline-requirements.cjs +290 -0
  134. package/bin/task-envelope.cjs +360 -0
  135. package/bin/telemetry-collector.cjs +229 -0
  136. package/bin/unified-mcp-server.mjs +735 -0
  137. package/bin/update-agents.cjs +369 -0
  138. package/bin/update-scoreboard.cjs +1134 -0
  139. package/bin/validate-debt-entry.cjs +207 -0
  140. package/bin/validate-invariant.cjs +419 -0
  141. package/bin/validate-memory.cjs +389 -0
  142. package/bin/validate-requirements-haiku.cjs +435 -0
  143. package/bin/validate-traces.cjs +438 -0
  144. package/bin/verify-formal-results.cjs +124 -0
  145. package/bin/verify-quorum-health.cjs +273 -0
  146. package/bin/write-check-result.cjs +106 -0
  147. package/bin/xstate-to-tla.cjs +483 -0
  148. package/bin/xstate-trace-walker.cjs +205 -0
  149. package/commands/qgsd/add-phase.md +43 -0
  150. package/commands/qgsd/add-requirement.md +24 -0
  151. package/commands/qgsd/add-todo.md +47 -0
  152. package/commands/qgsd/audit-milestone.md +37 -0
  153. package/commands/qgsd/check-todos.md +45 -0
  154. package/commands/qgsd/cleanup.md +18 -0
  155. package/commands/qgsd/close-formal-gaps.md +33 -0
  156. package/commands/qgsd/complete-milestone.md +136 -0
  157. package/commands/qgsd/debug.md +166 -0
  158. package/commands/qgsd/discuss-phase.md +83 -0
  159. package/commands/qgsd/execute-phase.md +117 -0
  160. package/commands/qgsd/fix-tests.md +27 -0
  161. package/commands/qgsd/formal-test-sync.md +32 -0
  162. package/commands/qgsd/health.md +22 -0
  163. package/commands/qgsd/help.md +22 -0
  164. package/commands/qgsd/insert-phase.md +32 -0
  165. package/commands/qgsd/join-discord.md +18 -0
  166. package/commands/qgsd/list-phase-assumptions.md +46 -0
  167. package/commands/qgsd/map-codebase.md +71 -0
  168. package/commands/qgsd/map-requirements.md +20 -0
  169. package/commands/qgsd/mcp-restart.md +176 -0
  170. package/commands/qgsd/mcp-set-model.md +134 -0
  171. package/commands/qgsd/mcp-setup.md +1371 -0
  172. package/commands/qgsd/mcp-status.md +274 -0
  173. package/commands/qgsd/mcp-update.md +238 -0
  174. package/commands/qgsd/new-milestone.md +44 -0
  175. package/commands/qgsd/new-project.md +42 -0
  176. package/commands/qgsd/observe.md +260 -0
  177. package/commands/qgsd/pause-work.md +38 -0
  178. package/commands/qgsd/plan-milestone-gaps.md +34 -0
  179. package/commands/qgsd/plan-phase.md +44 -0
  180. package/commands/qgsd/polyrepo.md +50 -0
  181. package/commands/qgsd/progress.md +24 -0
  182. package/commands/qgsd/queue.md +54 -0
  183. package/commands/qgsd/quick.md +133 -0
  184. package/commands/qgsd/quorum-test.md +275 -0
  185. package/commands/qgsd/quorum.md +707 -0
  186. package/commands/qgsd/reapply-patches.md +110 -0
  187. package/commands/qgsd/remove-phase.md +31 -0
  188. package/commands/qgsd/research-phase.md +189 -0
  189. package/commands/qgsd/resume-work.md +40 -0
  190. package/commands/qgsd/set-profile.md +34 -0
  191. package/commands/qgsd/settings.md +39 -0
  192. package/commands/qgsd/solve.md +565 -0
  193. package/commands/qgsd/sync-baselines.md +119 -0
  194. package/commands/qgsd/triage.md +233 -0
  195. package/commands/qgsd/update.md +37 -0
  196. package/commands/qgsd/verify-work.md +38 -0
  197. package/hooks/dist/config-loader.js +297 -0
  198. package/hooks/dist/conformance-schema.cjs +12 -0
  199. package/hooks/dist/gsd-context-monitor.js +64 -0
  200. package/hooks/dist/qgsd-check-update.js +62 -0
  201. package/hooks/dist/qgsd-circuit-breaker.js +682 -0
  202. package/hooks/dist/qgsd-precompact.js +156 -0
  203. package/hooks/dist/qgsd-prompt.js +653 -0
  204. package/hooks/dist/qgsd-session-start.js +122 -0
  205. package/hooks/dist/qgsd-slot-correlator.js +58 -0
  206. package/hooks/dist/qgsd-spec-regen.js +86 -0
  207. package/hooks/dist/qgsd-statusline.js +91 -0
  208. package/hooks/dist/qgsd-stop.js +553 -0
  209. package/hooks/dist/qgsd-token-collector.js +133 -0
  210. package/hooks/dist/unified-mcp-server.mjs +669 -0
  211. package/package.json +95 -0
  212. package/scripts/build-hooks.js +46 -0
  213. package/scripts/postinstall.js +48 -0
  214. package/scripts/secret-audit.sh +45 -0
  215. package/templates/qgsd.json +49 -0
@@ -0,0 +1,110 @@
1
+ ---
2
+ description: Reapply local modifications after a GSD update
3
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
4
+ ---
5
+
6
+ <purpose>
7
+ After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed.
8
+ </purpose>
9
+
10
+ <process>
11
+
12
+ ## Step 1: Detect backed-up patches
13
+
14
+ Check for local patches directory:
15
+
16
+ ```bash
17
+ # Global install (path templated at install time)
18
+ PATCHES_DIR=~/.claude/gsd-local-patches
19
+ # Local install fallback
20
+ if [ ! -d "$PATCHES_DIR" ]; then
21
+ PATCHES_DIR=./.claude/gsd-local-patches
22
+ fi
23
+ ```
24
+
25
+ Read `backup-meta.json` from the patches directory.
26
+
27
+ **If no patches found:**
28
+ ```
29
+ No local patches found. Nothing to reapply.
30
+
31
+ Local patches are automatically saved when you run /qgsd:update
32
+ after modifying any GSD workflow, command, or agent files.
33
+ ```
34
+ Exit.
35
+
36
+ ## Step 2: Show patch summary
37
+
38
+ ```
39
+ ## Local Patches to Reapply
40
+
41
+ **Backed up from:** v{from_version}
42
+ **Current version:** {read VERSION file}
43
+ **Files modified:** {count}
44
+
45
+ | # | File | Status |
46
+ |---|------|--------|
47
+ | 1 | {file_path} | Pending |
48
+ | 2 | {file_path} | Pending |
49
+ ```
50
+
51
+ ## Step 3: Merge each file
52
+
53
+ For each file in `backup-meta.json`:
54
+
55
+ 1. **Read the backed-up version** (user's modified copy from `gsd-local-patches/`)
56
+ 2. **Read the newly installed version** (current file after update)
57
+ 3. **Compare and merge:**
58
+
59
+ - If the new file is identical to the backed-up file: skip (modification was incorporated upstream)
60
+ - If the new file differs: identify the user's modifications and apply them to the new version
61
+
62
+ **Merge strategy:**
63
+ - Read both versions fully
64
+ - Identify sections the user added or modified (look for additions, not just differences from path replacement)
65
+ - Apply user's additions/modifications to the new version
66
+ - If a section the user modified was also changed upstream: flag as conflict, show both versions, ask user which to keep
67
+
68
+ 4. **Write merged result** to the installed location
69
+ 5. **Report status:**
70
+ - `Merged` — user modifications applied cleanly
71
+ - `Skipped` — modification already in upstream
72
+ - `Conflict` — user chose resolution
73
+
74
+ ## Step 4: Update manifest
75
+
76
+ After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:
77
+
78
+ ```bash
79
+ # The manifest will be regenerated on next /qgsd:update
80
+ # For now, just note which files were modified
81
+ ```
82
+
83
+ ## Step 5: Cleanup option
84
+
85
+ Ask user:
86
+ - "Keep patch backups for reference?" → preserve `gsd-local-patches/`
87
+ - "Clean up patch backups?" → remove `gsd-local-patches/` directory
88
+
89
+ ## Step 6: Report
90
+
91
+ ```
92
+ ## Patches Reapplied
93
+
94
+ | # | File | Status |
95
+ |---|------|--------|
96
+ | 1 | {file_path} | ✓ Merged |
97
+ | 2 | {file_path} | ○ Skipped (already upstream) |
98
+ | 3 | {file_path} | ⚠ Conflict resolved |
99
+
100
+ {count} file(s) updated. Your local modifications are active again.
101
+ ```
102
+
103
+ </process>
104
+
105
+ <success_criteria>
106
+ - [ ] All backed-up patches processed
107
+ - [ ] User modifications merged into new version
108
+ - [ ] Conflicts resolved with user input
109
+ - [ ] Status reported for each file
110
+ </success_criteria>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: qgsd:remove-phase
3
+ description: Remove a future phase from roadmap and renumber subsequent phases
4
+ argument-hint: <phase-number>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+ <objective>
12
+ Remove an unstarted future phase from the roadmap and renumber all subsequent phases to maintain a clean, linear sequence.
13
+
14
+ Purpose: Clean removal of work you've decided not to do, without polluting context with cancelled/deferred markers.
15
+ Output: Phase deleted, all subsequent phases renumbered, git commit as historical record.
16
+ </objective>
17
+
18
+ <execution_context>
19
+ @~/.claude/qgsd/workflows/remove-phase.md
20
+ </execution_context>
21
+
22
+ <context>
23
+ Phase: $ARGUMENTS
24
+
25
+ Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
26
+ </context>
27
+
28
+ <process>
29
+ Execute the remove-phase workflow from @~/.claude/qgsd/workflows/remove-phase.md end-to-end.
30
+ Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
31
+ </process>
@@ -0,0 +1,189 @@
1
+ ---
2
+ name: qgsd:research-phase
3
+ description: Research how to implement a phase (standalone - usually use /qgsd:plan-phase instead)
4
+ argument-hint: "[phase]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Task
9
+ ---
10
+
11
+ <objective>
12
+ Research how to implement a phase. Spawns qgsd-phase-researcher agent with phase context.
13
+
14
+ **Note:** This is a standalone research command. For most workflows, use `/qgsd:plan-phase` which integrates research automatically.
15
+
16
+ **Use this command when:**
17
+ - You want to research without planning yet
18
+ - You want to re-research after planning is complete
19
+ - You need to investigate before deciding if a phase is feasible
20
+
21
+ **Orchestrator role:** Parse phase, validate against roadmap, check existing research, gather context, spawn researcher agent, present results.
22
+
23
+ **Why subagent:** Research burns context fast (WebSearch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
24
+ </objective>
25
+
26
+ <context>
27
+ Phase number: $ARGUMENTS (required)
28
+
29
+ Normalize phase input in step 1 before any directory lookups.
30
+ </context>
31
+
32
+ <process>
33
+
34
+ ## 0. Initialize Context
35
+
36
+ ```bash
37
+ INIT=$(node ~/.claude/qgsd/bin/gsd-tools.cjs init phase-op "$ARGUMENTS")
38
+ ```
39
+
40
+ Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`, `commit_docs`, `has_research`, `state_path`, `requirements_path`, `context_path`, `research_path`.
41
+
42
+ Resolve researcher model:
43
+ ```bash
44
+ RESEARCHER_MODEL=$(node ~/.claude/qgsd/bin/gsd-tools.cjs resolve-model qgsd-phase-researcher --raw)
45
+ ```
46
+
47
+ ## 1. Validate Phase
48
+
49
+ ```bash
50
+ PHASE_INFO=$(node ~/.claude/qgsd/bin/gsd-tools.cjs roadmap get-phase "${phase_number}")
51
+ ```
52
+
53
+ **If `found` is false:** Error and exit. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
54
+
55
+ ## 2. Check Existing Research
56
+
57
+ ```bash
58
+ ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
59
+ ```
60
+
61
+ **If exists:** Offer: 1) Update research, 2) View existing, 3) Skip. Wait for response.
62
+
63
+ **If doesn't exist:** Continue.
64
+
65
+ ## 3. Gather Phase Context
66
+
67
+ Use paths from INIT (do not inline file contents in orchestrator context):
68
+ - `requirements_path`
69
+ - `context_path`
70
+ - `state_path`
71
+
72
+ Present summary with phase description and what files the researcher will load.
73
+
74
+ ## 4. Spawn qgsd-phase-researcher Agent
75
+
76
+ Research modes: ecosystem (default), feasibility, implementation, comparison.
77
+
78
+ ```markdown
79
+ <research_type>
80
+ Phase Research — investigating HOW to implement a specific phase well.
81
+ </research_type>
82
+
83
+ <key_insight>
84
+ The question is NOT "which library should I use?"
85
+
86
+ The question is: "What do I not know that I don't know?"
87
+
88
+ For this phase, discover:
89
+ - What's the established architecture pattern?
90
+ - What libraries form the standard stack?
91
+ - What problems do people commonly hit?
92
+ - What's SOTA vs what Claude's training thinks is SOTA?
93
+ - What should NOT be hand-rolled?
94
+ </key_insight>
95
+
96
+ <objective>
97
+ Research implementation approach for Phase {phase_number}: {phase_name}
98
+ Mode: ecosystem
99
+ </objective>
100
+
101
+ <files_to_read>
102
+ - {requirements_path} (Requirements)
103
+ - {context_path} (Phase context from discuss-phase, if exists)
104
+ - {state_path} (Prior project decisions and blockers)
105
+ </files_to_read>
106
+
107
+ <additional_context>
108
+ **Phase description:** {phase_description}
109
+ </additional_context>
110
+
111
+ <downstream_consumer>
112
+ Your RESEARCH.md will be loaded by `/qgsd:plan-phase` which uses specific sections:
113
+ - `## Standard Stack` → Plans use these libraries
114
+ - `## Architecture Patterns` → Task structure follows these
115
+ - `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems
116
+ - `## Common Pitfalls` → Verification steps check for these
117
+ - `## Code Examples` → Task actions reference these patterns
118
+
119
+ Be prescriptive, not exploratory. "Use X" not "Consider X or Y."
120
+ </downstream_consumer>
121
+
122
+ <quality_gate>
123
+ Before declaring complete, verify:
124
+ - [ ] All domains investigated (not just some)
125
+ - [ ] Negative claims verified with official docs
126
+ - [ ] Multiple sources for critical claims
127
+ - [ ] Confidence levels assigned honestly
128
+ - [ ] Section names match what plan-phase expects
129
+ </quality_gate>
130
+
131
+ <output>
132
+ Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
133
+ </output>
134
+ ```
135
+
136
+ ```
137
+ Task(
138
+ prompt="First, read ~/.claude/agents/qgsd-phase-researcher.md for your role and instructions.\n\n" + filled_prompt,
139
+ subagent_type="general-purpose",
140
+ model="{researcher_model}",
141
+ description="Research Phase {phase}"
142
+ )
143
+ ```
144
+
145
+ ## 5. Handle Agent Return
146
+
147
+ **`## RESEARCH COMPLETE`:** Display summary, offer: Plan phase, Dig deeper, Review full, Done.
148
+
149
+ **`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation.
150
+
151
+ **`## RESEARCH INCONCLUSIVE`:** Show what was attempted, offer: Add context, Try different mode, Manual.
152
+
153
+ ## 6. Spawn Continuation Agent
154
+
155
+ ```markdown
156
+ <objective>
157
+ Continue research for Phase {phase_number}: {phase_name}
158
+ </objective>
159
+
160
+ <prior_state>
161
+ <files_to_read>
162
+ - .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md (Existing research)
163
+ </files_to_read>
164
+ </prior_state>
165
+
166
+ <checkpoint_response>
167
+ **Type:** {checkpoint_type}
168
+ **Response:** {user_response}
169
+ </checkpoint_response>
170
+ ```
171
+
172
+ ```
173
+ Task(
174
+ prompt="First, read ~/.claude/agents/qgsd-phase-researcher.md for your role and instructions.\n\n" + continuation_prompt,
175
+ subagent_type="general-purpose",
176
+ model="{researcher_model}",
177
+ description="Continue research Phase {phase}"
178
+ )
179
+ ```
180
+
181
+ </process>
182
+
183
+ <success_criteria>
184
+ - [ ] Phase validated against roadmap
185
+ - [ ] Existing research checked
186
+ - [ ] qgsd-phase-researcher spawned with context
187
+ - [ ] Checkpoints handled correctly
188
+ - [ ] User knows next steps
189
+ </success_criteria>
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: qgsd:resume-work
3
+ description: Resume work from previous session with full context restoration
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Write
8
+ - AskUserQuestion
9
+ - SlashCommand
10
+ ---
11
+
12
+ <objective>
13
+ Restore complete project context and resume work seamlessly from previous session.
14
+
15
+ Routes to the resume-project workflow which handles:
16
+
17
+ - STATE.md loading (or reconstruction if missing)
18
+ - Checkpoint detection (.continue-here files)
19
+ - Incomplete work detection (PLAN without SUMMARY)
20
+ - Status presentation
21
+ - Context-aware next action routing
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @~/.claude/qgsd/workflows/resume-project.md
26
+ </execution_context>
27
+
28
+ <process>
29
+ **Follow the resume-project workflow** from `@~/.claude/qgsd/workflows/resume-project.md`.
30
+
31
+ The workflow handles all resumption logic including:
32
+
33
+ 1. Project existence verification
34
+ 2. STATE.md loading or reconstruction
35
+ 3. Checkpoint and incomplete work detection
36
+ 4. Visual status presentation
37
+ 5. Context-aware option offering (checks CONTEXT.md before suggesting plan vs discuss)
38
+ 6. Routing to appropriate next command
39
+ 7. Session continuity updates
40
+ </process>
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: qgsd:set-profile
3
+ description: Switch model profile for GSD agents (quality/balanced/budget)
4
+ argument-hint: <profile>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Switch the model profile used by GSD agents. Controls which Claude model each agent uses, balancing quality vs token spend.
13
+
14
+ Routes to the set-profile workflow which handles:
15
+ - Argument validation (quality/balanced/budget)
16
+ - Config file creation if missing
17
+ - Profile update in config.json
18
+ - Confirmation with model table display
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/qgsd/workflows/set-profile.md
23
+ </execution_context>
24
+
25
+ <process>
26
+ **Follow the set-profile workflow** from `@~/.claude/qgsd/workflows/set-profile.md`.
27
+
28
+ The workflow handles all logic including:
29
+ 1. Profile argument validation
30
+ 2. Config file ensuring
31
+ 3. Config reading and updating
32
+ 4. Model table generation from MODEL_PROFILES
33
+ 5. Confirmation display
34
+ </process>
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: qgsd:settings
3
+ description: Project manager hub — dashboard, smart routing, and configuration
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ - AskUserQuestion
9
+ - Glob
10
+ - Grep
11
+ ---
12
+
13
+ <objective>
14
+ Guided project manager hub with state-aware dashboard and categorized action menu.
15
+
16
+ Shows project status (milestone, phase, progress, config) then routes to:
17
+ - Continue Working — smart routing based on project state (same as /qgsd:progress)
18
+ - Project Management — phases, milestones, todos, debug, roadmap
19
+ - Configuration — workflow settings, project profile, baselines, quorum agents
20
+ - Quick Task — ad-hoc tasks via /qgsd:quick
21
+
22
+ Backward compatible: /qgsd:settings --config goes directly to workflow settings (original 6-question config form).
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @~/.claude/qgsd/workflows/settings.md
27
+ </execution_context>
28
+
29
+ <process>
30
+ **Follow the settings workflow** from `@~/.claude/qgsd/workflows/settings.md`.
31
+
32
+ The workflow handles all logic including:
33
+ 1. Flag check (--config for backward compat)
34
+ 2. Dashboard state loading via gsd-tools
35
+ 3. Status dashboard display
36
+ 4. Main menu presentation (4 categories)
37
+ 5. Sub-menu routing and action execution
38
+ 6. Original config flow (via --config or Configuration menu)
39
+ </process>