@undeemed/get-shit-done-codex 1.21.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -45
- package/agents/gsd-codebase-mapper.md +3 -3
- package/agents/gsd-debugger.md +5 -5
- package/agents/gsd-executor.md +14 -14
- package/agents/gsd-phase-researcher.md +7 -7
- package/agents/gsd-plan-checker.md +10 -10
- package/agents/gsd-planner.md +19 -19
- package/agents/gsd-project-researcher.md +3 -3
- package/agents/gsd-research-synthesizer.md +6 -6
- package/agents/gsd-roadmapper.md +7 -7
- package/agents/gsd-verifier.md +29 -17
- package/bin/install.js +54 -198
- package/commands/gsd/add-tests.md +5 -4
- package/commands/gsd/complete-milestone.md +6 -6
- package/commands/gsd/debug.md +1 -1
- package/commands/gsd/map-codebase.md +3 -3
- package/commands/gsd/new-milestone.md +1 -1
- package/commands/gsd/new-project.md +1 -1
- package/commands/gsd/plan-milestone-gaps.md +2 -2
- package/commands/gsd/reapply-patches.md +2 -2
- package/commands/gsd/research-phase.md +3 -3
- package/commands/gsd/verify-work.md +1 -1
- package/get-shit-done/bin/lib/commands.cjs +1 -1
- package/get-shit-done/bin/lib/phase.cjs +2 -2
- package/get-shit-done/bin/lib/verify.cjs +8 -8
- package/get-shit-done/references/continuation-format.md +16 -16
- package/get-shit-done/references/model-profiles.md +1 -1
- package/get-shit-done/references/ui-brand.md +2 -2
- package/get-shit-done/templates/DEBUG.md +1 -1
- package/get-shit-done/templates/UAT.md +3 -3
- package/get-shit-done/templates/VALIDATION.md +1 -1
- package/get-shit-done/templates/debug-subagent-prompt.md +1 -1
- package/get-shit-done/templates/discovery.md +2 -2
- package/get-shit-done/templates/phase-prompt.md +1 -1
- package/get-shit-done/templates/planner-subagent-prompt.md +3 -3
- package/get-shit-done/templates/project.md +1 -1
- package/get-shit-done/templates/research.md +1 -1
- package/get-shit-done/templates/retrospective.md +13 -7
- package/get-shit-done/templates/state.md +2 -2
- package/get-shit-done/workflows/add-phase.md +7 -7
- package/get-shit-done/workflows/add-tests.md +41 -18
- package/get-shit-done/workflows/add-todo.md +2 -2
- package/get-shit-done/workflows/audit-milestone.md +5 -5
- package/get-shit-done/workflows/check-todos.md +8 -8
- package/get-shit-done/workflows/complete-milestone.md +33 -8
- package/get-shit-done/workflows/diagnose-issues.md +1 -1
- package/get-shit-done/workflows/discovery-phase.md +3 -3
- package/get-shit-done/workflows/discuss-phase.md +10 -10
- package/get-shit-done/workflows/execute-phase.md +7 -7
- package/get-shit-done/workflows/execute-plan.md +3 -3
- package/get-shit-done/workflows/health.md +5 -5
- package/get-shit-done/workflows/help.md +85 -85
- package/get-shit-done/workflows/insert-phase.md +6 -6
- package/get-shit-done/workflows/list-phase-assumptions.md +4 -4
- package/get-shit-done/workflows/map-codebase.md +2 -2
- package/get-shit-done/workflows/new-milestone.md +5 -5
- package/get-shit-done/workflows/new-project.md +11 -11
- package/get-shit-done/workflows/pause-work.md +1 -1
- package/get-shit-done/workflows/plan-milestone-gaps.md +7 -7
- package/get-shit-done/workflows/plan-phase.md +12 -12
- package/get-shit-done/workflows/progress.md +22 -22
- package/get-shit-done/workflows/quick.md +3 -3
- package/get-shit-done/workflows/remove-phase.md +6 -6
- package/get-shit-done/workflows/research-phase.md +2 -2
- package/get-shit-done/workflows/resume-project.md +9 -9
- package/get-shit-done/workflows/settings.md +5 -5
- package/get-shit-done/workflows/transition.md +10 -10
- package/get-shit-done/workflows/update.md +2 -2
- package/get-shit-done/workflows/verify-work.md +8 -8
- package/package.json +1 -1
- package/commands/gsd/new-project.md.bak +0 -1041
package/README.md
CHANGED
|
@@ -21,10 +21,13 @@ get-shit-done-codex (GSD) solves context rot — the quality degradation that ha
|
|
|
21
21
|
|
|
22
22
|
## What Changed In This Fork
|
|
23
23
|
|
|
24
|
-
- **AGENTS-first for Codex:** `AGENTS.md` is the primary behavior contract
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
24
|
+
- **AGENTS-first for Codex:** `AGENTS.md` is the primary behavior contract. [Agent.md > Skills.md](https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals)
|
|
25
|
+
- **Native skills:** all commands use `$gsd-*` skill notation — no prompt aliases needed.
|
|
26
|
+
- **Full config distribution:** installer ships `.codex/config.toml` (multi-agent, feature flags, MCP servers) and 11 rich `agents/*.md` sub-agent definitions — everything needed for multi-agent orchestration out of the box.
|
|
27
|
+
- **Sub-agent linking:** each agent role in `config.toml` uses `developer_instructions` to load its full role definition from `agents/gsd-*.md` at runtime — no manual wiring needed.
|
|
28
|
+
- **Overwrite protection:** `config.toml` is never overwritten on reinstall. `AGENTS.md` prompts for confirmation on global installs.
|
|
29
|
+
- **Installer integrity checks:** `--verify` audits `AGENTS.md`, `config.toml`, agent definitions, command surfaces, and version metadata. `--repair` restores missing artifacts.
|
|
30
|
+
- **One-click trust:** Codex prompts to trust the project on first run so the config takes effect.
|
|
28
31
|
|
|
29
32
|
## Installation
|
|
30
33
|
|
|
@@ -40,31 +43,15 @@ You can install globally (`~/.codex/`) or locally (`./`).
|
|
|
40
43
|
npx @undeemed/get-shit-done-codex --global
|
|
41
44
|
```
|
|
42
45
|
|
|
43
|
-
If you run this in an interactive terminal, the installer will prompt you to choose `skills` (`$`) or `prompts` (`/prompts`).
|
|
44
|
-
In non-interactive runs, default is `skills` mode.
|
|
45
|
-
|
|
46
|
-
For non-interactive installs:
|
|
47
|
-
|
|
48
46
|
```bash
|
|
49
47
|
npx @undeemed/get-shit-done-codex --global # Install to ~/.codex/
|
|
50
48
|
npx @undeemed/get-shit-done-codex --local # Install to current directory
|
|
51
|
-
npx @undeemed/get-shit-done-codex --global --
|
|
52
|
-
npx @undeemed/get-shit-done-codex --global --codex-mode prompts # Prompt aliases only
|
|
53
|
-
npx @undeemed/get-shit-done-codex --global --migrate # Apply detected migration cleanup
|
|
54
|
-
npx @undeemed/get-shit-done-codex --global --skip-migrate # Keep legacy surface files
|
|
49
|
+
npx @undeemed/get-shit-done-codex --global --migrate # Clean up legacy prompts/
|
|
55
50
|
npx @undeemed/get-shit-done-codex --verify --global # Check install integrity
|
|
56
51
|
npx @undeemed/get-shit-done-codex --verify --repair --global # Auto-repair
|
|
57
52
|
```
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
| Mode | Installs | Use Commands Like |
|
|
62
|
-
| ------------------ | ----------------------- | -------------------------------- |
|
|
63
|
-
| `skills` (default) | `skills/gsd-*/SKILL.md` | `$gsd-help`, `$gsd-plan-phase 1` |
|
|
64
|
-
| `prompts` | `prompts/gsd-*.md` | `/prompts:gsd-help` |
|
|
65
|
-
|
|
66
|
-
After installation, run `codex` (CLI) or `codex app` (Desktop), then run `$gsd-help` (or `/prompts:gsd-help` in prompts mode).
|
|
67
|
-
Single-surface policy: mixed `skills/` + `prompts/` installs are treated as drift and fail `--verify`.
|
|
54
|
+
After installation, run `codex` (CLI) or `codex app` (Desktop), then run `$gsd-help`.
|
|
68
55
|
|
|
69
56
|
### What Gets Installed
|
|
70
57
|
|
|
@@ -73,7 +60,7 @@ The installer distributes everything GSD needs:
|
|
|
73
60
|
- **`AGENTS.md`** — behavior contract and command reference for Codex
|
|
74
61
|
- **`.codex/config.toml`** — multi-agent mode, feature flags, agent role registry, MCP servers
|
|
75
62
|
- **`agents/gsd-*.md`** — rich agent definitions (700+ lines each) for sub-agent orchestration
|
|
76
|
-
- **`skills/gsd-*/SKILL.md`**
|
|
63
|
+
- **`skills/gsd-*/SKILL.md`** — native Codex skill commands
|
|
77
64
|
- **`get-shit-done/`** — workflow files, templates, and references
|
|
78
65
|
|
|
79
66
|
On first run, Codex will prompt you to **trust the project** so the config takes effect (one-time, one-click).
|
|
@@ -83,8 +70,6 @@ On first run, Codex will prompt you to **trust the project** so the config takes
|
|
|
83
70
|
|
|
84
71
|
### Installed File Structure
|
|
85
72
|
|
|
86
|
-
`$` skills mode (`--codex-mode skills`, default):
|
|
87
|
-
|
|
88
73
|
```text
|
|
89
74
|
~/.codex/
|
|
90
75
|
├── AGENTS.md
|
|
@@ -94,17 +79,6 @@ On first run, Codex will prompt you to **trust the project** so the config takes
|
|
|
94
79
|
└── get-shit-done/
|
|
95
80
|
```
|
|
96
81
|
|
|
97
|
-
`/prompts` mode (`--codex-mode prompts`):
|
|
98
|
-
|
|
99
|
-
```text
|
|
100
|
-
~/.codex/
|
|
101
|
-
├── AGENTS.md
|
|
102
|
-
├── .codex/config.toml
|
|
103
|
-
├── agents/gsd-*.md
|
|
104
|
-
├── prompts/gsd-*.md
|
|
105
|
-
└── get-shit-done/
|
|
106
|
-
```
|
|
107
|
-
|
|
108
82
|
For local installs, replace `~/.codex/` with `./`.
|
|
109
83
|
|
|
110
84
|
### Verify And Repair
|
|
@@ -122,20 +96,18 @@ This fork is intentionally **AGENTS.md-first** for Codex reliability:
|
|
|
122
96
|
|
|
123
97
|
- `AGENTS.md` is the source of truth for behavior and workflow constraints
|
|
124
98
|
- `$gsd-*` skills are lightweight command wrappers around the same workflow docs
|
|
125
|
-
- `/prompts:gsd-*` are optional compatibility aliases (prompts mode)
|
|
126
99
|
|
|
127
100
|
## Staying Updated
|
|
128
101
|
|
|
129
102
|
```bash
|
|
130
103
|
# Check for updates from inside Codex
|
|
131
104
|
$gsd-update
|
|
132
|
-
# or: /prompts:gsd-update
|
|
133
105
|
|
|
134
106
|
# Update from terminal
|
|
135
107
|
npx @undeemed/get-shit-done-codex@latest --global
|
|
136
108
|
```
|
|
137
109
|
|
|
138
|
-
The installer writes a `get-shit-done/VERSION` file so `$gsd-update`
|
|
110
|
+
The installer writes a `get-shit-done/VERSION` file so `$gsd-update` can detect installed vs latest and show changelog before updating.
|
|
139
111
|
|
|
140
112
|
## npm Trusted Publisher (OIDC)
|
|
141
113
|
|
|
@@ -222,8 +194,6 @@ Manual user acceptance testing. The system walks you through testable deliverabl
|
|
|
222
194
|
| `$gsd-verify-work [N]` | Manual user acceptance testing |
|
|
223
195
|
| `$gsd-help` | Show all commands |
|
|
224
196
|
|
|
225
|
-
Use `/prompts:gsd-*` aliases when installed with `--codex-mode prompts`.
|
|
226
|
-
|
|
227
197
|
## Why It Works
|
|
228
198
|
|
|
229
199
|
### Context Engineering
|
|
@@ -248,6 +218,26 @@ Every stage uses a thin orchestrator that spawns specialized agents:
|
|
|
248
218
|
|
|
249
219
|
The orchestrator stays at 30-40% context. The work happens in fresh subagent contexts.
|
|
250
220
|
|
|
221
|
+
### Sub-Agent Roles
|
|
222
|
+
|
|
223
|
+
GSD ships 11 specialized agent definitions in `agents/gsd-*.md`, each wired into `config.toml` via `developer_instructions`:
|
|
224
|
+
|
|
225
|
+
| Agent | Role |
|
|
226
|
+
| -------------------------- | ---------------------------------------------------------- |
|
|
227
|
+
| `gsd-planner` | Draft atomic PLAN.md files with tasks and success criteria |
|
|
228
|
+
| `gsd-executor` | Execute plans with atomic commits and verification |
|
|
229
|
+
| `gsd-verifier` | Goal-backward verification that outcomes are delivered |
|
|
230
|
+
| `gsd-debugger` | Hypothesis testing, root cause isolation, fix proposals |
|
|
231
|
+
| `gsd-phase-researcher` | Research implementation patterns for planners |
|
|
232
|
+
| `gsd-project-researcher` | Ecosystem research for roadmap creation |
|
|
233
|
+
| `gsd-research-synthesizer` | Synthesize parallel research into actionable inputs |
|
|
234
|
+
| `gsd-plan-checker` | Stress-test plan quality and requirement coverage |
|
|
235
|
+
| `gsd-codebase-mapper` | Map stack, architecture, and conventions |
|
|
236
|
+
| `gsd-roadmapper` | Turn requirements into phased roadmaps |
|
|
237
|
+
| `gsd-integration-checker` | Verify cross-phase wiring and e2e behavior |
|
|
238
|
+
|
|
239
|
+
Each agent gets its full role definition (700+ lines) loaded at spawn time — no context wasted on the orchestrator.
|
|
240
|
+
|
|
251
241
|
### Atomic Git Commits
|
|
252
242
|
|
|
253
243
|
Each task gets its own commit immediately after completion:
|
|
@@ -266,7 +256,6 @@ Git bisect finds exact failing task. Each task independently revertable.
|
|
|
266
256
|
|
|
267
257
|
- Restart Codex to reload installed command surfaces
|
|
268
258
|
- Check `~/.codex/skills/gsd-*/SKILL.md` (global) or `./skills/gsd-*/SKILL.md` (local)
|
|
269
|
-
- If using prompt aliases, check `~/.codex/prompts/gsd-*.md` (global) or `./prompts/gsd-*.md` (local)
|
|
270
259
|
|
|
271
260
|
**Multi-agent / sub-agents not working?**
|
|
272
261
|
|
|
@@ -283,7 +272,7 @@ npx @undeemed/get-shit-done-codex@latest
|
|
|
283
272
|
**Can users be notified when an update is available?**
|
|
284
273
|
|
|
285
274
|
- Yes. The installer prints an update notice if a newer npm version exists.
|
|
286
|
-
- In-Codex update checks are available via `$gsd-update
|
|
275
|
+
- In-Codex update checks are available via `$gsd-update`.
|
|
287
276
|
- For release notifications outside the CLI, enable GitHub release watching on this repo.
|
|
288
277
|
|
|
289
278
|
## More Documentation
|
|
@@ -300,8 +289,7 @@ The original repository contains:
|
|
|
300
289
|
|
|
301
290
|
**Note:** The original README is written for Codex Code. When following it, remember that this fork uses:
|
|
302
291
|
|
|
303
|
-
- Codex-native skills (`$gsd-*`)
|
|
304
|
-
- Optional prompt aliases (`/prompts:gsd-*`) via `--codex-mode prompts`
|
|
292
|
+
- Codex-native skills (`$gsd-*`)
|
|
305
293
|
- OpenAI Codex CLI & Desktop
|
|
306
294
|
|
|
307
295
|
## Keywords
|
|
@@ -8,7 +8,7 @@ color: cyan
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a GSD codebase mapper. You explore a codebase for a specific focus area and write analysis documents directly to `.planning/codebase/`.
|
|
10
10
|
|
|
11
|
-
You are spawned by
|
|
11
|
+
You are spawned by `$gsd-map-codebase` with one of four focus areas:
|
|
12
12
|
- **tech**: Analyze technology stack and external integrations → write STACK.md and INTEGRATIONS.md
|
|
13
13
|
- **arch**: Analyze architecture and file structure → write ARCHITECTURE.md and STRUCTURE.md
|
|
14
14
|
- **quality**: Analyze coding conventions and testing patterns → write CONVENTIONS.md and TESTING.md
|
|
@@ -23,7 +23,7 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool t
|
|
|
23
23
|
<why_this_matters>
|
|
24
24
|
**These documents are consumed by other GSD commands:**
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
**`$gsd-plan-phase`** loads relevant codebase docs when creating implementation plans:
|
|
27
27
|
| Phase Type | Documents Loaded |
|
|
28
28
|
|------------|------------------|
|
|
29
29
|
| UI, frontend, components | CONVENTIONS.md, STRUCTURE.md |
|
|
@@ -34,7 +34,7 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool t
|
|
|
34
34
|
| refactor, cleanup | CONCERNS.md, ARCHITECTURE.md |
|
|
35
35
|
| setup, config | STACK.md, STRUCTURE.md |
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
**`$gsd-execute-phase`** references codebase docs to:
|
|
38
38
|
- Follow existing conventions when writing code
|
|
39
39
|
- Know where to place new files (STRUCTURE.md)
|
|
40
40
|
- Match testing patterns (TESTING.md)
|
package/agents/gsd-debugger.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-debugger
|
|
3
|
-
description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by
|
|
3
|
+
description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by $gsd-debug orchestrator.
|
|
4
4
|
tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch
|
|
5
5
|
color: orange
|
|
6
6
|
---
|
|
@@ -10,7 +10,7 @@ You are a GSD debugger. You investigate bugs using systematic scientific method,
|
|
|
10
10
|
|
|
11
11
|
You are spawned by:
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- `$gsd-debug` command (interactive debugging)
|
|
14
14
|
- `diagnose-issues` workflow (parallel UAT diagnosis)
|
|
15
15
|
|
|
16
16
|
Your job: Find the root cause through hypothesis testing, maintain debug file state, optionally fix and verify (depending on mode).
|
|
@@ -897,7 +897,7 @@ Gather symptoms through questioning. Update file after EACH answer.
|
|
|
897
897
|
- Otherwise -> proceed to fix_and_verify
|
|
898
898
|
- **ELIMINATED:** Append to Eliminated section, form new hypothesis, return to Phase 2
|
|
899
899
|
|
|
900
|
-
**Context management:** After 5+ evidence entries, ensure Current Focus is updated. Suggest "/clear - run
|
|
900
|
+
**Context management:** After 5+ evidence entries, ensure Current Focus is updated. Suggest "/clear - run $gsd-debug to resume" if context filling up.
|
|
901
901
|
</step>
|
|
902
902
|
|
|
903
903
|
<step name="resume_from_file">
|
|
@@ -1027,7 +1027,7 @@ mv .planning/debug/{slug}.md .planning/debug/resolved/
|
|
|
1027
1027
|
**Check planning config using state load (commit_docs is available from the output):**
|
|
1028
1028
|
|
|
1029
1029
|
```bash
|
|
1030
|
-
INIT=$(node
|
|
1030
|
+
INIT=$(node ./get-shit-done/bin/gsd-tools.cjs state load)
|
|
1031
1031
|
# commit_docs is in the JSON output
|
|
1032
1032
|
```
|
|
1033
1033
|
|
|
@@ -1044,7 +1044,7 @@ Root cause: {root_cause}"
|
|
|
1044
1044
|
|
|
1045
1045
|
Then commit planning docs via CLI (respects `commit_docs` config automatically):
|
|
1046
1046
|
```bash
|
|
1047
|
-
node
|
|
1047
|
+
node ./get-shit-done/bin/gsd-tools.cjs commit "docs: resolve debug {slug}" --files .planning/debug/resolved/{slug}.md
|
|
1048
1048
|
```
|
|
1049
1049
|
|
|
1050
1050
|
Report completion and offer next steps.
|
package/agents/gsd-executor.md
CHANGED
|
@@ -8,7 +8,7 @@ color: yellow
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a GSD plan executor. You execute PLAN.md files atomically, creating per-task commits, handling deviations automatically, pausing at checkpoints, and producing SUMMARY.md files.
|
|
10
10
|
|
|
11
|
-
Spawned by
|
|
11
|
+
Spawned by `$gsd-execute-phase` orchestrator.
|
|
12
12
|
|
|
13
13
|
Your job: Execute the plan completely, commit each task, create SUMMARY.md, update STATE.md.
|
|
14
14
|
|
|
@@ -37,7 +37,7 @@ This ensures project-specific patterns, conventions, and best practices are appl
|
|
|
37
37
|
Load execution context:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
INIT=$(node
|
|
40
|
+
INIT=$(node ./get-shit-done/bin/gsd-tools.cjs init execute-phase "${PHASE}")
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `incomplete_plans`.
|
|
@@ -190,7 +190,7 @@ Track auto-fix attempts per task. After 3 auto-fix attempts on a single task:
|
|
|
190
190
|
Check if auto mode is active at executor start:
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
|
-
AUTO_CFG=$(node
|
|
193
|
+
AUTO_CFG=$(node ./get-shit-done/bin/gsd-tools.cjs config-get workflow.auto_advance 2>/dev/null || echo "false")
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
Store the result for checkpoint handling below.
|
|
@@ -203,7 +203,7 @@ Store the result for checkpoint handling below.
|
|
|
203
203
|
Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server startup before checkpoint, ADD ONE (deviation Rule 3).
|
|
204
204
|
|
|
205
205
|
For full automation-first patterns, server lifecycle, CLI handling:
|
|
206
|
-
**See
|
|
206
|
+
**See @./get-shit-done/references/checkpoints.md**
|
|
207
207
|
|
|
208
208
|
**Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets. Codex does all automation.
|
|
209
209
|
|
|
@@ -326,7 +326,7 @@ After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.planning/phase
|
|
|
326
326
|
|
|
327
327
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
328
328
|
|
|
329
|
-
**Use template:**
|
|
329
|
+
**Use template:** @./get-shit-done/templates/summary.md
|
|
330
330
|
|
|
331
331
|
**Frontmatter:** phase, plan, subsystem, tags, dependency graph (requires/provides/affects), tech-stack (added/patterns), key-files (created/modified), decisions, metrics (duration, completed date).
|
|
332
332
|
|
|
@@ -379,34 +379,34 @@ After SUMMARY.md, update STATE.md using gsd-tools:
|
|
|
379
379
|
|
|
380
380
|
```bash
|
|
381
381
|
# Advance plan counter (handles edge cases automatically)
|
|
382
|
-
node
|
|
382
|
+
node ./get-shit-done/bin/gsd-tools.cjs state advance-plan
|
|
383
383
|
|
|
384
384
|
# Recalculate progress bar from disk state
|
|
385
|
-
node
|
|
385
|
+
node ./get-shit-done/bin/gsd-tools.cjs state update-progress
|
|
386
386
|
|
|
387
387
|
# Record execution metrics
|
|
388
|
-
node
|
|
388
|
+
node ./get-shit-done/bin/gsd-tools.cjs state record-metric \
|
|
389
389
|
--phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
|
|
390
390
|
--tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
|
|
391
391
|
|
|
392
392
|
# Add decisions (extract from SUMMARY.md key-decisions)
|
|
393
393
|
for decision in "${DECISIONS[@]}"; do
|
|
394
|
-
node
|
|
394
|
+
node ./get-shit-done/bin/gsd-tools.cjs state add-decision \
|
|
395
395
|
--phase "${PHASE}" --summary "${decision}"
|
|
396
396
|
done
|
|
397
397
|
|
|
398
398
|
# Update session info
|
|
399
|
-
node
|
|
399
|
+
node ./get-shit-done/bin/gsd-tools.cjs state record-session \
|
|
400
400
|
--stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md"
|
|
401
401
|
```
|
|
402
402
|
|
|
403
403
|
```bash
|
|
404
404
|
# Update ROADMAP.md progress for this phase (plan counts, status)
|
|
405
|
-
node
|
|
405
|
+
node ./get-shit-done/bin/gsd-tools.cjs roadmap update-plan-progress "${PHASE_NUMBER}"
|
|
406
406
|
|
|
407
407
|
# Mark completed requirements from PLAN.md frontmatter
|
|
408
408
|
# Extract the `requirements` array from the plan's frontmatter, then mark each complete
|
|
409
|
-
node
|
|
409
|
+
node ./get-shit-done/bin/gsd-tools.cjs requirements mark-complete ${REQ_IDS}
|
|
410
410
|
```
|
|
411
411
|
|
|
412
412
|
**Requirement IDs:** Extract from the PLAN.md frontmatter `requirements:` field (e.g., `requirements: [AUTH-01, AUTH-02]`). Pass all IDs to `requirements mark-complete`. If the plan has no requirements field, skip this step.
|
|
@@ -424,13 +424,13 @@ node ~/.codex/get-shit-done/bin/gsd-tools.cjs requirements mark-complete ${REQ_I
|
|
|
424
424
|
|
|
425
425
|
**For blockers found during execution:**
|
|
426
426
|
```bash
|
|
427
|
-
node
|
|
427
|
+
node ./get-shit-done/bin/gsd-tools.cjs state add-blocker "Blocker description"
|
|
428
428
|
```
|
|
429
429
|
</state_updates>
|
|
430
430
|
|
|
431
431
|
<final_commit>
|
|
432
432
|
```bash
|
|
433
|
-
node
|
|
433
|
+
node ./get-shit-done/bin/gsd-tools.cjs commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md .planning/REQUIREMENTS.md
|
|
434
434
|
```
|
|
435
435
|
|
|
436
436
|
Separate from per-task commits — captures execution results only.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-phase-researcher
|
|
3
|
-
description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by
|
|
3
|
+
description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by $gsd-plan-phase orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
|
|
5
5
|
color: cyan
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ color: cyan
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a GSD phase researcher. You answer "What do I need to know to PLAN this phase well?" and produce a single RESEARCH.md that the planner consumes.
|
|
10
10
|
|
|
11
|
-
Spawned by
|
|
11
|
+
Spawned by `$gsd-plan-phase` (integrated) or `$gsd-research-phase` (standalone).
|
|
12
12
|
|
|
13
13
|
**CRITICAL: Mandatory Initial Read**
|
|
14
14
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -37,7 +37,7 @@ This ensures research aligns with project-specific conventions and libraries.
|
|
|
37
37
|
</project_context>
|
|
38
38
|
|
|
39
39
|
<upstream_input>
|
|
40
|
-
**CONTEXT.md** (if exists) — User decisions from
|
|
40
|
+
**CONTEXT.md** (if exists) — User decisions from `$gsd-discuss-phase`
|
|
41
41
|
|
|
42
42
|
| Section | How You Use It |
|
|
43
43
|
|---------|----------------|
|
|
@@ -120,7 +120,7 @@ When researching "best library for X": find what the ecosystem actually uses, do
|
|
|
120
120
|
Check `brave_search` from init context. If `true`, use Brave Search for higher quality results:
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
|
-
node
|
|
123
|
+
node ./get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
**Options:**
|
|
@@ -317,7 +317,7 @@ Verified patterns from official sources:
|
|
|
317
317
|
### Nyquist Sampling Rate
|
|
318
318
|
- **Minimum sample interval:** After every committed task → run: `{quick run command}`
|
|
319
319
|
- **Full suite trigger:** Before merging final task of any plan wave
|
|
320
|
-
- **Phase-complete gate:** Full suite green before
|
|
320
|
+
- **Phase-complete gate:** Full suite green before `$gsd-verify-work` runs
|
|
321
321
|
- **Estimated feedback latency per task:** ~{N} seconds
|
|
322
322
|
|
|
323
323
|
### Wave 0 Gaps (must be created before implementation)
|
|
@@ -361,7 +361,7 @@ Orchestrator provides: phase number/name, description/goal, requirements, constr
|
|
|
361
361
|
|
|
362
362
|
Load phase context using init command:
|
|
363
363
|
```bash
|
|
364
|
-
INIT=$(node
|
|
364
|
+
INIT=$(node ./get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE}")
|
|
365
365
|
```
|
|
366
366
|
|
|
367
367
|
Extract from init JSON: `phase_dir`, `padded_phase`, `phase_number`, `commit_docs`.
|
|
@@ -476,7 +476,7 @@ Write to: `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
|
|
|
476
476
|
## Step 7: Commit Research (optional)
|
|
477
477
|
|
|
478
478
|
```bash
|
|
479
|
-
node
|
|
479
|
+
node ./get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): research phase domain" --files "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"
|
|
480
480
|
```
|
|
481
481
|
|
|
482
482
|
## Step 8: Return Structured Result
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-plan-checker
|
|
3
|
-
description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by
|
|
3
|
+
description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by $gsd-plan-phase orchestrator.
|
|
4
4
|
tools: Read, Bash, Glob, Grep
|
|
5
5
|
color: green
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ color: green
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a GSD plan checker. Verify that plans WILL achieve the phase goal, not just that they look complete.
|
|
10
10
|
|
|
11
|
-
Spawned by
|
|
11
|
+
Spawned by `$gsd-plan-phase` orchestrator (after planner creates PLAN.md) or re-verification (after planner revises).
|
|
12
12
|
|
|
13
13
|
Goal-backward verification of PLANS before execution. Start from what the phase SHOULD deliver, verify plans address it.
|
|
14
14
|
|
|
@@ -42,7 +42,7 @@ This ensures verification checks that plans follow project-specific conventions.
|
|
|
42
42
|
</project_context>
|
|
43
43
|
|
|
44
44
|
<upstream_input>
|
|
45
|
-
**CONTEXT.md** (if exists) — User decisions from
|
|
45
|
+
**CONTEXT.md** (if exists) — User decisions from `$gsd-discuss-phase`
|
|
46
46
|
|
|
47
47
|
| Section | How You Use It |
|
|
48
48
|
|---------|----------------|
|
|
@@ -271,7 +271,7 @@ issue:
|
|
|
271
271
|
|
|
272
272
|
## Dimension 7: Context Compliance (if CONTEXT.md exists)
|
|
273
273
|
|
|
274
|
-
**Question:** Do plans honor user decisions from
|
|
274
|
+
**Question:** Do plans honor user decisions from $gsd-discuss-phase?
|
|
275
275
|
|
|
276
276
|
**Only check if CONTEXT.md was provided in the verification context.**
|
|
277
277
|
|
|
@@ -419,7 +419,7 @@ If Dimension 8 FAILS:
|
|
|
419
419
|
|
|
420
420
|
Load phase operation context:
|
|
421
421
|
```bash
|
|
422
|
-
INIT=$(node
|
|
422
|
+
INIT=$(node ./get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE_ARG}")
|
|
423
423
|
```
|
|
424
424
|
|
|
425
425
|
Extract from init JSON: `phase_dir`, `phase_number`, `has_plans`, `plan_count`.
|
|
@@ -430,7 +430,7 @@ Orchestrator provides CONTEXT.md content in the verification prompt. If provided
|
|
|
430
430
|
ls "$phase_dir"/*-PLAN.md 2>/dev/null
|
|
431
431
|
# Read research for Nyquist validation data
|
|
432
432
|
cat "$phase_dir"/*-RESEARCH.md 2>/dev/null
|
|
433
|
-
node
|
|
433
|
+
node ./get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$phase_number"
|
|
434
434
|
ls "$phase_dir"/*-BRIEF.md 2>/dev/null
|
|
435
435
|
```
|
|
436
436
|
|
|
@@ -443,7 +443,7 @@ Use gsd-tools to validate plan structure:
|
|
|
443
443
|
```bash
|
|
444
444
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
445
445
|
echo "=== $plan ==="
|
|
446
|
-
PLAN_STRUCTURE=$(node
|
|
446
|
+
PLAN_STRUCTURE=$(node ./get-shit-done/bin/gsd-tools.cjs verify plan-structure "$plan")
|
|
447
447
|
echo "$PLAN_STRUCTURE"
|
|
448
448
|
done
|
|
449
449
|
```
|
|
@@ -461,7 +461,7 @@ Map errors/warnings to verification dimensions:
|
|
|
461
461
|
Extract must_haves from each plan using gsd-tools:
|
|
462
462
|
|
|
463
463
|
```bash
|
|
464
|
-
MUST_HAVES=$(node
|
|
464
|
+
MUST_HAVES=$(node ./get-shit-done/bin/gsd-tools.cjs frontmatter get "$PLAN_PATH" --field must_haves)
|
|
465
465
|
```
|
|
466
466
|
|
|
467
467
|
Returns JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
|
|
@@ -504,7 +504,7 @@ For each requirement: find covering task(s), verify action is specific, flag gap
|
|
|
504
504
|
Use gsd-tools plan-structure verification (already run in Step 2):
|
|
505
505
|
|
|
506
506
|
```bash
|
|
507
|
-
PLAN_STRUCTURE=$(node
|
|
507
|
+
PLAN_STRUCTURE=$(node ./get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
|
|
508
508
|
```
|
|
509
509
|
|
|
510
510
|
The `tasks` array in the result shows each task's completeness:
|
|
@@ -666,7 +666,7 @@ Return all issues as a structured `issues:` YAML list (see dimension examples fo
|
|
|
666
666
|
| 01 | 3 | 5 | 1 | Valid |
|
|
667
667
|
| 02 | 2 | 4 | 2 | Valid |
|
|
668
668
|
|
|
669
|
-
Plans verified. Run
|
|
669
|
+
Plans verified. Run `$gsd-execute-phase {phase}` to proceed.
|
|
670
670
|
```
|
|
671
671
|
|
|
672
672
|
## ISSUES FOUND
|
package/agents/gsd-planner.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-planner
|
|
3
|
-
description: Creates executable phase plans with task breakdown, dependency analysis, and goal-backward verification. Spawned by
|
|
3
|
+
description: Creates executable phase plans with task breakdown, dependency analysis, and goal-backward verification. Spawned by $gsd-plan-phase orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Glob, Grep, WebFetch, mcp__context7__*
|
|
5
5
|
color: green
|
|
6
6
|
---
|
|
@@ -9,9 +9,9 @@ color: green
|
|
|
9
9
|
You are a GSD planner. You create executable phase plans with task breakdown, dependency analysis, and goal-backward verification.
|
|
10
10
|
|
|
11
11
|
Spawned by:
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
12
|
+
- `$gsd-plan-phase` orchestrator (standard phase planning)
|
|
13
|
+
- `$gsd-plan-phase --gaps` orchestrator (gap closure from verification failures)
|
|
14
|
+
- `$gsd-plan-phase` in revision mode (updating plans based on checker feedback)
|
|
15
15
|
|
|
16
16
|
Your job: Produce PLAN.md files that Codex executors can implement without interpretation. Plans are prompts, not documents that become prompts.
|
|
17
17
|
|
|
@@ -46,7 +46,7 @@ This ensures task actions reference the correct patterns and libraries for this
|
|
|
46
46
|
<context_fidelity>
|
|
47
47
|
## CRITICAL: User Decision Fidelity
|
|
48
48
|
|
|
49
|
-
The orchestrator provides user decisions in `<user_decisions>` tags from
|
|
49
|
+
The orchestrator provides user decisions in `<user_decisions>` tags from `$gsd-discuss-phase`.
|
|
50
50
|
|
|
51
51
|
**Before creating ANY task, verify:**
|
|
52
52
|
|
|
@@ -139,7 +139,7 @@ Discovery is MANDATORY unless you can prove current context exists.
|
|
|
139
139
|
- Level 2+: New library not in package.json, external API, "choose/select/evaluate" in description
|
|
140
140
|
- Level 3: "architecture/design/system", multiple external services, data modeling, auth design
|
|
141
141
|
|
|
142
|
-
For niche domains (3D, games, audio, shaders, ML), suggest
|
|
142
|
+
For niche domains (3D, games, audio, shaders, ML), suggest `$gsd-research-phase` before plan-phase.
|
|
143
143
|
|
|
144
144
|
</discovery_levels>
|
|
145
145
|
|
|
@@ -400,8 +400,8 @@ Output: [Artifacts created]
|
|
|
400
400
|
</objective>
|
|
401
401
|
|
|
402
402
|
<execution_context>
|
|
403
|
-
|
|
404
|
-
|
|
403
|
+
@./get-shit-done/workflows/execute-plan.md
|
|
404
|
+
@./get-shit-done/templates/summary.md
|
|
405
405
|
</execution_context>
|
|
406
406
|
|
|
407
407
|
<context>
|
|
@@ -900,7 +900,7 @@ Group by plan, dimension, severity.
|
|
|
900
900
|
### Step 6: Commit
|
|
901
901
|
|
|
902
902
|
```bash
|
|
903
|
-
node
|
|
903
|
+
node ./get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans based on checker feedback" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
|
|
904
904
|
```
|
|
905
905
|
|
|
906
906
|
### Step 7: Return Revision Summary
|
|
@@ -939,7 +939,7 @@ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans
|
|
|
939
939
|
Load planning context:
|
|
940
940
|
|
|
941
941
|
```bash
|
|
942
|
-
INIT=$(node
|
|
942
|
+
INIT=$(node ./get-shit-done/bin/gsd-tools.cjs init plan-phase "${PHASE}")
|
|
943
943
|
```
|
|
944
944
|
|
|
945
945
|
Extract from init JSON: `planner_model`, `researcher_model`, `checker_model`, `commit_docs`, `research_enabled`, `phase_dir`, `phase_number`, `has_research`, `has_context`.
|
|
@@ -995,7 +995,7 @@ Apply discovery level protocol (see discovery_levels section).
|
|
|
995
995
|
|
|
996
996
|
**Step 1 — Generate digest index:**
|
|
997
997
|
```bash
|
|
998
|
-
node
|
|
998
|
+
node ./get-shit-done/bin/gsd-tools.cjs history-digest
|
|
999
999
|
```
|
|
1000
1000
|
|
|
1001
1001
|
**Step 2 — Select relevant phases (typically 2-4):**
|
|
@@ -1043,8 +1043,8 @@ Read the most recent milestone retrospective and cross-milestone trends. Extract
|
|
|
1043
1043
|
Use `phase_dir` from init context (already loaded in load_project_state).
|
|
1044
1044
|
|
|
1045
1045
|
```bash
|
|
1046
|
-
cat "$phase_dir"/*-CONTEXT.md 2>/dev/null # From
|
|
1047
|
-
cat "$phase_dir"/*-RESEARCH.md 2>/dev/null # From
|
|
1046
|
+
cat "$phase_dir"/*-CONTEXT.md 2>/dev/null # From $gsd-discuss-phase
|
|
1047
|
+
cat "$phase_dir"/*-RESEARCH.md 2>/dev/null # From $gsd-research-phase
|
|
1048
1048
|
cat "$phase_dir"/*-DISCOVERY.md 2>/dev/null # From mandatory discovery
|
|
1049
1049
|
```
|
|
1050
1050
|
|
|
@@ -1123,7 +1123,7 @@ Include all frontmatter fields.
|
|
|
1123
1123
|
Validate each created PLAN.md using gsd-tools:
|
|
1124
1124
|
|
|
1125
1125
|
```bash
|
|
1126
|
-
VALID=$(node
|
|
1126
|
+
VALID=$(node ./get-shit-done/bin/gsd-tools.cjs frontmatter validate "$PLAN_PATH" --schema plan)
|
|
1127
1127
|
```
|
|
1128
1128
|
|
|
1129
1129
|
Returns JSON: `{ valid, missing, present, schema }`
|
|
@@ -1136,7 +1136,7 @@ Required plan frontmatter fields:
|
|
|
1136
1136
|
Also validate plan structure:
|
|
1137
1137
|
|
|
1138
1138
|
```bash
|
|
1139
|
-
STRUCTURE=$(node
|
|
1139
|
+
STRUCTURE=$(node ./get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
|
|
1140
1140
|
```
|
|
1141
1141
|
|
|
1142
1142
|
Returns JSON: `{ valid, errors, warnings, task_count, tasks }`
|
|
@@ -1173,7 +1173,7 @@ Plans:
|
|
|
1173
1173
|
|
|
1174
1174
|
<step name="git_commit">
|
|
1175
1175
|
```bash
|
|
1176
|
-
node
|
|
1176
|
+
node ./get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): create phase plan" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md .planning/ROADMAP.md
|
|
1177
1177
|
```
|
|
1178
1178
|
</step>
|
|
1179
1179
|
|
|
@@ -1209,7 +1209,7 @@ Return structured planning outcome to orchestrator.
|
|
|
1209
1209
|
|
|
1210
1210
|
### Next Steps
|
|
1211
1211
|
|
|
1212
|
-
Execute:
|
|
1212
|
+
Execute: `$gsd-execute-phase {phase}`
|
|
1213
1213
|
|
|
1214
1214
|
<sub>`/clear` first - fresh context window</sub>
|
|
1215
1215
|
```
|
|
@@ -1230,7 +1230,7 @@ Execute: `/gsd:execute-phase {phase}`
|
|
|
1230
1230
|
|
|
1231
1231
|
### Next Steps
|
|
1232
1232
|
|
|
1233
|
-
Execute:
|
|
1233
|
+
Execute: `$gsd-execute-phase {phase} --gaps-only`
|
|
1234
1234
|
```
|
|
1235
1235
|
|
|
1236
1236
|
## Checkpoint Reached / Revision Complete
|
|
@@ -1270,6 +1270,6 @@ Planning complete when:
|
|
|
1270
1270
|
- [ ] PLAN file(s) exist with gap_closure: true
|
|
1271
1271
|
- [ ] Each plan: tasks derived from gap.missing items
|
|
1272
1272
|
- [ ] PLAN file(s) committed to git
|
|
1273
|
-
- [ ] User knows to run
|
|
1273
|
+
- [ ] User knows to run `$gsd-execute-phase {X}` next
|
|
1274
1274
|
|
|
1275
1275
|
</success_criteria>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-project-researcher
|
|
3
|
-
description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by
|
|
3
|
+
description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by $gsd-new-project or $gsd-new-milestone orchestrators.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
|
|
5
5
|
color: cyan
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are a GSD project researcher spawned by
|
|
9
|
+
You are a GSD project researcher spawned by `$gsd-new-project` or `$gsd-new-milestone` (Phase 6: Research).
|
|
10
10
|
|
|
11
11
|
Answer "What does this domain ecosystem look like?" Write research files in `.planning/research/` that inform roadmap creation.
|
|
12
12
|
|
|
@@ -99,7 +99,7 @@ Always include current year. Use multiple query variations. Mark WebSearch-only
|
|
|
99
99
|
Check `brave_search` from orchestrator context. If `true`, use Brave Search for higher quality results:
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
|
-
node
|
|
102
|
+
node ./get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
**Options:**
|