pi-gsd 1.6.6 → 1.8.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 (79) hide show
  1. package/.gsd/extensions/pi-gsd-hooks.ts +46 -1
  2. package/README.md +27 -25
  3. package/package.json +1 -5
  4. package/prompts/gsd-add-backlog.md +1 -1
  5. package/prompts/gsd-autonomous.md +1 -0
  6. package/prompts/gsd-complete-milestone.md +1 -1
  7. package/prompts/gsd-debug.md +1 -1
  8. package/prompts/gsd-discuss-phase.md +2 -0
  9. package/prompts/gsd-do.md +1 -0
  10. package/prompts/gsd-execute-phase.md +1 -0
  11. package/prompts/gsd-join-discord.md +1 -1
  12. package/prompts/gsd-new-milestone.md +4 -0
  13. package/prompts/gsd-new-project.md +4 -0
  14. package/prompts/gsd-plan-phase.md +1 -0
  15. package/prompts/gsd-reapply-patches.md +1 -1
  16. package/prompts/gsd-research-phase.md +1 -1
  17. package/prompts/gsd-review-backlog.md +1 -1
  18. package/prompts/gsd-set-profile.md +1 -1
  19. package/prompts/gsd-setup-pi.md +1 -1
  20. package/prompts/gsd-thread.md +1 -1
  21. package/prompts/gsd-ui-phase.md +1 -0
  22. package/prompts/gsd-ui-review.md +1 -0
  23. package/prompts/gsd-verify-work.md +1 -0
  24. package/prompts/gsd-workstreams.md +1 -1
  25. package/skills/gsd-add-backlog/SKILL.md +0 -78
  26. package/skills/gsd-add-phase/SKILL.md +0 -39
  27. package/skills/gsd-add-tests/SKILL.md +0 -28
  28. package/skills/gsd-add-todo/SKILL.md +0 -42
  29. package/skills/gsd-audit-milestone/SKILL.md +0 -29
  30. package/skills/gsd-audit-uat/SKILL.md +0 -20
  31. package/skills/gsd-autonomous/SKILL.md +0 -34
  32. package/skills/gsd-check-todos/SKILL.md +0 -40
  33. package/skills/gsd-cleanup/SKILL.md +0 -19
  34. package/skills/gsd-complete-milestone/SKILL.md +0 -122
  35. package/skills/gsd-debug/SKILL.md +0 -178
  36. package/skills/gsd-discuss-phase/SKILL.md +0 -55
  37. package/skills/gsd-do/SKILL.md +0 -26
  38. package/skills/gsd-execute-milestone/SKILL.md +0 -53
  39. package/skills/gsd-execute-phase/SKILL.md +0 -53
  40. package/skills/gsd-fast/SKILL.md +0 -22
  41. package/skills/gsd-forensics/SKILL.md +0 -51
  42. package/skills/gsd-insert-phase/SKILL.md +0 -28
  43. package/skills/gsd-join-discord/SKILL.md +0 -19
  44. package/skills/gsd-list-phase-assumptions/SKILL.md +0 -41
  45. package/skills/gsd-list-workspaces/SKILL.md +0 -17
  46. package/skills/gsd-manager/SKILL.md +0 -33
  47. package/skills/gsd-map-codebase/SKILL.md +0 -64
  48. package/skills/gsd-milestone-summary/SKILL.md +0 -45
  49. package/skills/gsd-new-milestone/SKILL.md +0 -39
  50. package/skills/gsd-new-project/SKILL.md +0 -37
  51. package/skills/gsd-new-workspace/SKILL.md +0 -41
  52. package/skills/gsd-note/SKILL.md +0 -30
  53. package/skills/gsd-pause-work/SKILL.md +0 -35
  54. package/skills/gsd-plan-milestone/SKILL.md +0 -38
  55. package/skills/gsd-plan-milestone-gaps/SKILL.md +0 -28
  56. package/skills/gsd-plan-phase/SKILL.md +0 -38
  57. package/skills/gsd-plant-seed/SKILL.md +0 -21
  58. package/skills/gsd-pr-branch/SKILL.md +0 -20
  59. package/skills/gsd-profile-user/SKILL.md +0 -38
  60. package/skills/gsd-quick/SKILL.md +0 -38
  61. package/skills/gsd-reapply-patches/SKILL.md +0 -126
  62. package/skills/gsd-remove-phase/SKILL.md +0 -26
  63. package/skills/gsd-remove-workspace/SKILL.md +0 -22
  64. package/skills/gsd-research-phase/SKILL.md +0 -200
  65. package/skills/gsd-resume-work/SKILL.md +0 -35
  66. package/skills/gsd-review/SKILL.md +0 -31
  67. package/skills/gsd-review-backlog/SKILL.md +0 -62
  68. package/skills/gsd-session-report/SKILL.md +0 -16
  69. package/skills/gsd-set-profile/SKILL.md +0 -9
  70. package/skills/gsd-settings/SKILL.md +0 -32
  71. package/skills/gsd-setup-pi/SKILL.md +0 -105
  72. package/skills/gsd-ship/SKILL.md +0 -16
  73. package/skills/gsd-thread/SKILL.md +0 -133
  74. package/skills/gsd-ui-phase/SKILL.md +0 -24
  75. package/skills/gsd-ui-review/SKILL.md +0 -24
  76. package/skills/gsd-update/SKILL.md +0 -35
  77. package/skills/gsd-validate-phase/SKILL.md +0 -26
  78. package/skills/gsd-verify-work/SKILL.md +0 -30
  79. package/skills/gsd-workstreams/SKILL.md +0 -72
@@ -17,14 +17,55 @@
17
17
  */
18
18
 
19
19
  import { execSync } from "node:child_process";
20
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
20
+ import {
21
+ existsSync,
22
+ mkdirSync,
23
+ readFileSync,
24
+ statSync,
25
+ writeFileSync,
26
+ } from "node:fs";
21
27
  import { homedir } from "node:os";
22
28
  import { join } from "node:path";
23
29
  import type { ContextUsage, ExtensionAPI } from "@mariozechner/pi-coding-agent";
24
30
 
31
+ /**
32
+ * Extracts the <core> section from a reference file and writes a derived
33
+ * `-core.md` sibling. Runs on session_start and tool_result so the core
34
+ * file is always fresh — including immediately after the LLM creates the
35
+ * source file mid-session.
36
+ *
37
+ * @param cwd - project root
38
+ * @param ref - name segments, e.g. ['ui', 'brand'] → reads ui-brand.md,
39
+ * writes ui-brand-core.md
40
+ *
41
+ * Fallback: if the source has no <core> tag, copies the full file so
42
+ * prompts that reference the core variant never 404.
43
+ */
44
+ const syncReferenceToCore = (cwd: string, ref: string[]): void => {
45
+ try {
46
+ const refsDir = join(cwd, ".pi", "gsd", "references");
47
+ const refName = ref.join("-") + ".md";
48
+ const coreName = [...ref, "core"].join("-") + ".md";
49
+ const src = join(refsDir, refName);
50
+ const dst = join(refsDir, coreName);
51
+ if (!existsSync(src)) return;
52
+ const srcMtime = statSync(src).mtimeMs;
53
+ const dstMtime = existsSync(dst) ? statSync(dst).mtimeMs : 0;
54
+ if (srcMtime <= dstMtime) return; // already in sync
55
+ const content = readFileSync(src, "utf8");
56
+ const match = content.match(/<core>([\s\S]*?)<\/core>/i);
57
+ writeFileSync(dst, match ? match[1].trim() : content, "utf8");
58
+ } catch {
59
+ /* silent — never block session startup or tool execution */
60
+ }
61
+ };
62
+
25
63
  export default function (pi: ExtensionAPI) {
26
64
  // ── session_start: GSD update check ──────────────────────────────────────
27
65
  pi.on("session_start", async (_event, ctx) => {
66
+ // Sync derived core files from tagged reference sources
67
+ syncReferenceToCore(ctx.cwd, ["ui", "brand"]);
68
+
28
69
  try {
29
70
  const cacheDir = join(homedir(), ".pi", "cache");
30
71
  const cacheFile = join(cacheDir, "gsd-update-check.json");
@@ -529,6 +570,10 @@ export default function (pi: ExtensionAPI) {
529
570
  let lastLevel: "warning" | "critical" | null = null;
530
571
 
531
572
  pi.on("tool_result", async (_event, ctx) => {
573
+ // Keep derived core files in sync after any tool write (e.g. gsd-new-project
574
+ // creating ui-brand.md mid-session — no reboot needed)
575
+ syncReferenceToCore(ctx.cwd, ["ui", "brand"]);
576
+
532
577
  try {
533
578
  const usage: ContextUsage | undefined = ctx.getContextUsage();
534
579
  if (!usage || usage.percent === null) return undefined;
package/README.md CHANGED
@@ -117,30 +117,32 @@ Switch profile: `/gsd-set-profile <profile>`
117
117
 
118
118
  ## Comparison with GSD v1.30.0
119
119
 
120
- | Feature | gsd v1.30 | pi-gsd | Details |
121
- | -----------------------------------: | :-------: | :----: | :----------------------------------------------------------------------------------------------- |
122
- | `.planning/` data format | ✔️ | ✔️ | 100% compatible - projects are portable across tools |
123
- | Workstreams | ✔️ | ✔️ | Full workstream isolation |
124
- | 4 model profiles | ✔️ | ✔️ | quality / balanced / budget / inherit |
125
- | 18 subagents | ✔️ | ✔️ | Identical agent definitions |
126
- | 55 GSD skills | ✔️ | ✔️ | All commands available via pi prompt dispatcher (replaces skill system) |
127
- | Different skills paths for pi | ✔️ | ⚡ | All 55 skills moved to `.pi/gsd/` to enable advanced pi-gsd-tools integration |
128
- | pi harness (`.pi/`) | ❌ | ✔️ | New - GSD installs into pi's config dir |
129
- | Background hooks (pi) | ❌ | ✔️ | TypeScript extension (`gsd-hooks.ts`) installed via postinstall |
130
- | Pi session history ingestion | ❌ | ✔️ | `/gsd-profile-user` reads pi JSONL sessions from `~/.pi/agent/sessions/` |
131
- | `/gsd-setup-pi` onboarding | ❌ | ✔️ | Setup skill for `bun install` where postinstall is skipped (default untrusted behavior) |
132
- | `gsd-tools` → `pi-gsd-tools` CLI | ✔️ | ⚡ | Same commands basic signatures as original (`gsd-tools`) but enhanced |
133
- | `[-o\|--output] [toon\|json]` output | ❌ | ⚡ | Token-efficient toon renderer output (or json, if LLM absolutely needs it...) |
134
- | `[-p\|--pick] {JSONPath}` extraction | ❌ | ⚡ | Field extraction from CLI output |
135
- | TypeScript source | ❌ | ⚡ | Full TS port of gsd-tools (~9k lines) |
136
- | Compile-time type safety | ❌ | ✔️ | Full TypeScript only `FrontmatterObject` root type retains `any` (intentional, documented) |
137
- | Runtime validation (Zod) | ❌ | ✔️ | Zod schemas for all `.planning/` types; `validate health` checks `config.json` (W005) + `STATE.md` (W011) |
138
- | Smarter `--repair` | ❌ | ✔️ | Schema defaults fill missing `config.json` fields; W011 STATE.md issues trigger regeneration |
139
- | Instant commands (no LLM cost) | ❌ | ✔️ | `/gsd-progress`, `/gsd-stats`, `/gsd-health`, `/gsd-help`, `/gsd-next` zero LLM, editor pivot |
140
- | `/gsd-next` auto-advance | ❌ | ✔️ | Deterministic phase routing, pre-fills editor with the correct next command |
141
- | Prompt-dispatch for all skills | ❌ | ✔️ | 54 pi prompt templates clean autocomplete, arg hints, direct workflow dispatch |
142
- | `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all unplanned phasesone mode question, scope pre-check per phase, context-safe checkpoint |
143
- | `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases + scope guardian + auto gap/debt retry loop (insert-phase) + audit→complete→cleanup |
120
+ | Feature | gsd v1.30 | pi-gsd | Details |
121
+ | -----------------------------------: | :-------: | :----: | :-------------------------------------------------------------------------------------------------------- |
122
+ | `.planning/` data format | ✔️ | ✔️ | 100% compatible - projects are portable across tools |
123
+ | Workstreams | ✔️ | ✔️ | Full workstream isolation |
124
+ | 4 model profiles | ✔️ | ✔️ | quality / balanced / budget / inherit |
125
+ | 18 subagents | ✔️ | ✔️ | Identical agent definitions |
126
+ | 55 GSD skills | ✔️ | ✔️ | All commands available via pi prompt dispatcher (replaces skill system) |
127
+ | Different skills paths for pi | ✔️ | ⚡ | All 55 skills moved to `.pi/gsd/` to enable advanced pi-gsd-tools integration |
128
+ | pi harness (`.pi/`) | ❌ | ✔️ | New - GSD installs into pi's config dir |
129
+ | Background hooks (pi) | ❌ | ✔️ | TypeScript extension (`gsd-hooks.ts`) installed via postinstall |
130
+ | Pi session history ingestion | ❌ | ✔️ | `/gsd-profile-user` reads pi JSONL sessions from `~/.pi/agent/sessions/` |
131
+ | `/gsd-setup-pi` onboarding | ❌ | ✔️ | Setup skill for `bun install` where postinstall is skipped (default untrusted behavior) |
132
+ | `gsd-tools` → `pi-gsd-tools` CLI | ✔️ | ⚡ | Same commands basic signatures as original (`gsd-tools`) but enhanced |
133
+ | `[-o\|--output] [toon\|json]` output | ❌ | ⚡ | Token-efficient toon renderer output (or json, if LLM absolutely needs it...) |
134
+ | `[-p\|--pick] {JSONPath}` extraction | ❌ | ⚡ | Field extraction from CLI output |
135
+ | TypeScript source | ❌ | ⚡ | Full TS port of gsd-tools (~9k lines) |
136
+ | Compile-time type safety | ❌ | | Full TypeScript - only `FrontmatterObject` root type retains `any` (intentional, documented) |
137
+ | Runtime validation (Zod) | ❌ | | Zod schemas for all `.planning/` types; `validate health` checks `config.json` (W005) + `STATE.md` (W011) |
138
+ | Smarter `--repair` | ❌ | ✔️ | Schema defaults fill missing `config.json` fields; W011 STATE.md issues trigger regeneration |
139
+ | Instant commands (no LLM cost) | ❌ | ✔️ | `/gsd-progress`, `/gsd-stats`, `/gsd-health`, `/gsd-help`, `/gsd-next` - zero LLM, editor pivot |
140
+ | `/gsd-next` auto-advance | ❌ | ✔️ | Deterministic phase routing, pre-fills editor with the correct next command |
141
+ | Prompt-dispatch for all skills | ❌ | ✔️ | 54 pi prompt templates - clean autocomplete, arg hints, direct workflow dispatch |
142
+ | `ui-brand` context modularity | ❌ | ✔️ | `<core>` tag splits ui-brand.mdplanning gets 103 lines, UI commands get full 166 |
143
+ | `syncReferenceToCore` utility | ❌ | ✔️ | Auto-derives `-core.md` from any `<core>`-tagged reference; syncs on session start + after tool writes |
144
+ | `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all unplanned phases - one mode question, scope pre-check per phase, context-safe checkpoint |
145
+ | `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases + scope guardian + auto gap/debt retry loop (insert-phase) + audit→complete→cleanup |
144
146
 
145
147
  Legend: ✔️ done · ⚡ enhanced · ❌ not available
146
148
 
@@ -173,7 +175,7 @@ node scripts/validate-model-profiles.cjs
173
175
  ### Pre-commit hook
174
176
 
175
177
  The pre-commit hook runs `ralphi check` (typecheck + build) via [prek](https://github.com/j178/prek).
176
- prek is a dev-only tool install it once:
178
+ prek is a dev-only tool - install it once:
177
179
 
178
180
  ```sh
179
181
  # macOS / Linux (Homebrew)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-gsd",
3
- "version": "1.6.6",
3
+ "version": "1.8.0",
4
4
  "description": "Get Shit Done - Unofficial port of the renowned AI-native project-planning spec-driven toolkit",
5
5
  "main": "dist/pi-gsd-tools.js",
6
6
  "bin": {
@@ -16,7 +16,6 @@
16
16
  "prepublishOnly": "npm run build"
17
17
  },
18
18
  "files": [
19
- "skills",
20
19
  "dist",
21
20
  "scripts/postinstall.js",
22
21
  ".gsd/extensions",
@@ -60,9 +59,6 @@
60
59
  "extensions": [
61
60
  "./.gsd/extensions"
62
61
  ],
63
- "skills": [
64
- "./skills"
65
- ],
66
62
  "prompts": [
67
63
  "./prompts"
68
64
  ]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Add an idea to the backlog parking lot (999.x numbering)
3
3
  ---
4
- Use the gsd-add-backlog skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -2,5 +2,6 @@
2
2
  description: Run all remaining phases autonomously - discuss→plan→execute per phase
3
3
  ---
4
4
  @.pi/gsd/workflows/autonomous.md
5
+ @.pi/gsd/references/ui-brand-core.md
5
6
 
6
7
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Archive completed milestone and prepare for next version
3
3
  ---
4
- @.pi/gsd/workflows/complete-milestone.md
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Systematic debugging with persistent state across context resets
3
3
  ---
4
- @.pi/gsd/workflows/diagnose-issues.md
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -2,5 +2,7 @@
2
2
  description: Gather phase context through adaptive questioning before planning. Use --auto to skip interactive questions (the agent picks recommended defaults).
3
3
  ---
4
4
  @.pi/gsd/workflows/discuss-phase.md
5
+ @.pi/gsd/workflows/discuss-phase-assumptions.md
6
+ @.pi/gsd/templates/context.md
5
7
 
6
8
  $ARGUMENTS
package/prompts/gsd-do.md CHANGED
@@ -2,5 +2,6 @@
2
2
  description: Route freeform text to the right GSD command automatically
3
3
  ---
4
4
  @.pi/gsd/workflows/do.md
5
+ @.pi/gsd/references/ui-brand-core.md
5
6
 
6
7
  $ARGUMENTS
@@ -2,5 +2,6 @@
2
2
  description: Execute all plans in a phase with wave-based parallelization
3
3
  ---
4
4
  @.pi/gsd/workflows/execute-phase.md
5
+ @.pi/gsd/references/ui-brand.md
5
6
 
6
7
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Join the GSD Discord community
3
3
  ---
4
- Use the gsd-join-discord skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -2,5 +2,9 @@
2
2
  description: Start a new milestone cycle - update PROJECT.md and route to requirements
3
3
  ---
4
4
  @.pi/gsd/workflows/new-milestone.md
5
+ @.pi/gsd/references/questioning.md
6
+ @.pi/gsd/references/ui-brand-core.md
7
+ @.pi/gsd/templates/project.md
8
+ @.pi/gsd/templates/requirements.md
5
9
 
6
10
  $ARGUMENTS
@@ -2,5 +2,9 @@
2
2
  description: Initialize a new project with deep context gathering and PROJECT.md
3
3
  ---
4
4
  @.pi/gsd/workflows/new-project.md
5
+ @.pi/gsd/references/questioning.md
6
+ @.pi/gsd/references/ui-brand-core.md
7
+ @.pi/gsd/templates/project.md
8
+ @.pi/gsd/templates/requirements.md
5
9
 
6
10
  $ARGUMENTS
@@ -2,5 +2,6 @@
2
2
  description: Create detailed phase plan (PLAN.md) with verification loop
3
3
  ---
4
4
  @.pi/gsd/workflows/plan-phase.md
5
+ @.pi/gsd/references/ui-brand-core.md
5
6
 
6
7
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Reapply local modifications after a GSD update
3
3
  ---
4
- Use the gsd-reapply-patches skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Research how to implement a phase (standalone - usually use /gsd-plan-phase instead)
3
3
  ---
4
- @.pi/gsd/workflows/research-phase.md
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Review and promote backlog items to active milestone
3
3
  ---
4
- Use the gsd-review-backlog skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Switch model profile for GSD agents (quality/balanced/budget/inherit)
3
3
  ---
4
- Use the gsd-set-profile skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Check and repair GSD hook wiring for pi. Use when postinstall was skipped (bun install) or to verify extension health. Routes to /gsd-new-project for first-time setups.
3
3
  ---
4
- Use the gsd-setup-pi skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Manage persistent context threads for cross-session work
3
3
  ---
4
- @.pi/gsd/workflows/transition.md
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -2,5 +2,6 @@
2
2
  description: Generate UI design contract (UI-SPEC.md) for frontend phases
3
3
  ---
4
4
  @.pi/gsd/workflows/ui-phase.md
5
+ @.pi/gsd/references/ui-brand.md
5
6
 
6
7
  $ARGUMENTS
@@ -2,5 +2,6 @@
2
2
  description: Retroactive 6-pillar visual audit of implemented frontend code
3
3
  ---
4
4
  @.pi/gsd/workflows/ui-review.md
5
+ @.pi/gsd/references/ui-brand.md
5
6
 
6
7
  $ARGUMENTS
@@ -2,5 +2,6 @@
2
2
  description: Validate built features through conversational UAT
3
3
  ---
4
4
  @.pi/gsd/workflows/verify-work.md
5
+ @.pi/gsd/templates/UAT.md
5
6
 
6
7
  $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Manage parallel workstreams - list, create, switch, status, progress, complete, and resume
3
3
  ---
4
- Use the gsd-workstreams skill.
4
+
5
5
 
6
6
  $ARGUMENTS
@@ -1,78 +0,0 @@
1
- ---
2
- name: gsd-add-backlog
3
- description: Add an idea to the backlog parking lot (999.x numbering)
4
- ---
5
-
6
- <objective>
7
- Add a backlog item to the roadmap using 999.x numbering. Backlog items are
8
- unsequenced ideas that aren't ready for active planning - they live outside
9
- the normal phase sequence and accumulate context over time.
10
- </objective>
11
-
12
- <process>
13
-
14
- 1. **Read ROADMAP.md** to find existing backlog entries:
15
-
16
- ```bash
17
- cat .planning/ROADMAP.md
18
- ```
19
-
20
- 2. **Find next backlog number:**
21
-
22
- ```bash
23
- NEXT=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" phase next-decimal 999 --raw)
24
- ```
25
-
26
- If no 999.x phases exist, start at 999.1.
27
-
28
- 3. **Create the phase directory:**
29
-
30
- ```bash
31
- SLUG=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" generate-slug "$ARGUMENTS")
32
- mkdir -p ".planning/phases/${NEXT}-${SLUG}"
33
- touch ".planning/phases/${NEXT}-${SLUG}/.gitkeep"
34
- ```
35
-
36
- 4. **Add to ROADMAP.md** under a `## Backlog` section. If the section doesn't exist, create it at the end:
37
-
38
- ```markdown
39
- ## Backlog
40
-
41
- ### Phase {NEXT}: {description} (BACKLOG)
42
-
43
- **Goal:** [Captured for future planning]
44
- **Requirements:** TBD
45
- **Plans:** 0 plans
46
-
47
- Plans:
48
-
49
- - [ ] TBD (promote with /gsd-review-backlog when ready)
50
- ```
51
-
52
- 5. **Commit:**
53
-
54
- ```bash
55
- node ".pi/gsd/bin/pi-gsd-tools.cjs" commit "docs: add backlog item ${NEXT} - ${ARGUMENTS}" --files .planning/ROADMAP.md ".planning/phases/${NEXT}-${SLUG}/.gitkeep"
56
- ```
57
-
58
- 6. **Report:**
59
-
60
- ```
61
- ## 📋 Backlog Item Added
62
-
63
- Phase {NEXT}: {description}
64
- Directory: .planning/phases/{NEXT}-{slug}/
65
-
66
- This item lives in the backlog parking lot.
67
- Use /gsd-discuss-phase {NEXT} to explore it further.
68
- Use /gsd-review-backlog to promote items to active milestone.
69
- ```
70
-
71
- </process>
72
-
73
- <notes>
74
- - 999.x numbering keeps backlog items out of the active phase sequence
75
- - Phase directories are created immediately, so /gsd-discuss-phase and /gsd-plan-phase work on them
76
- - No `Depends on:` field - backlog items are unsequenced by definition
77
- - Sparse numbering is fine (999.1, 999.3) - always uses next-decimal
78
- </notes>
@@ -1,39 +0,0 @@
1
- ---
2
- name: gsd-add-phase
3
- description: Add phase to end of current milestone in roadmap
4
- ---
5
-
6
-
7
- <objective>
8
- Add a new integer phase to the end of the current milestone in the roadmap.
9
-
10
- Routes to the add-phase workflow which handles:
11
- - Phase number calculation (next sequential integer)
12
- - Directory creation with slug generation
13
- - Roadmap structure updates
14
- - STATE.md roadmap evolution tracking
15
- </objective>
16
-
17
- <execution_context>
18
- @.pi/gsd/workflows/add-phase.md
19
- </execution_context>
20
-
21
- <context>
22
- Arguments: $ARGUMENTS (phase description)
23
-
24
- Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
25
- </context>
26
-
27
- <process>
28
- **Follow the add-phase workflow** from `@.pi/gsd/workflows/add-phase.md`.
29
-
30
- The workflow handles all logic including:
31
- 1. Argument parsing and validation
32
- 2. Roadmap existence checking
33
- 3. Current milestone identification
34
- 4. Next phase number calculation (ignoring decimals)
35
- 5. Slug generation from description
36
- 6. Phase directory creation
37
- 7. Roadmap entry insertion
38
- 8. STATE.md updates
39
- </process>
@@ -1,28 +0,0 @@
1
- ---
2
- name: gsd-add-tests
3
- description: Generate tests for a completed phase based on UAT criteria and implementation
4
- ---
5
-
6
- <objective>
7
- Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.
8
-
9
- Analyzes implementation files, classifies them into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
10
-
11
- Output: Test files committed with message `test(phase-{N}): add unit and E2E tests from add-tests command`
12
- </objective>
13
-
14
- <execution_context>
15
- @.pi/gsd/workflows/add-tests.md
16
- </execution_context>
17
-
18
- <context>
19
- Phase: $ARGUMENTS
20
-
21
- @.planning/STATE.md
22
- @.planning/ROADMAP.md
23
- </context>
24
-
25
- <process>
26
- Execute the add-tests workflow from @.pi/gsd/workflows/add-tests.md end-to-end.
27
- Preserve all workflow gates (classification approval, test plan approval, RED-GREEN verification, gap reporting).
28
- </process>
@@ -1,42 +0,0 @@
1
- ---
2
- name: gsd-add-todo
3
- description: Capture idea or task as todo from current conversation context
4
- ---
5
-
6
-
7
- <objective>
8
- Capture an idea, task, or issue that surfaces during a GSD session as a structured todo for later work.
9
-
10
- Routes to the add-todo workflow which handles:
11
- - Directory structure creation
12
- - Content extraction from arguments or conversation
13
- - Area inference from file paths
14
- - Duplicate detection and resolution
15
- - Todo file creation with frontmatter
16
- - STATE.md updates
17
- - Git commits
18
- </objective>
19
-
20
- <execution_context>
21
- @.pi/gsd/workflows/add-todo.md
22
- </execution_context>
23
-
24
- <context>
25
- Arguments: $ARGUMENTS (optional todo description)
26
-
27
- State is resolved in-workflow via `init todos` and targeted reads.
28
- </context>
29
-
30
- <process>
31
- **Follow the add-todo workflow** from `@.pi/gsd/workflows/add-todo.md`.
32
-
33
- The workflow handles all logic including:
34
- 1. Directory ensuring
35
- 2. Existing area checking
36
- 3. Content extraction (arguments or conversation)
37
- 4. Area inference
38
- 5. Duplicate checking
39
- 6. File creation with slug generation
40
- 7. STATE.md updates
41
- 8. Git commits
42
- </process>
@@ -1,29 +0,0 @@
1
- ---
2
- name: gsd-audit-milestone
3
- description: Audit milestone completion against original intent before archiving
4
- ---
5
-
6
- <objective>
7
- Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
8
-
9
- **This command IS the orchestrator.** Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
10
- </objective>
11
-
12
- <execution_context>
13
- @.pi/gsd/workflows/audit-milestone.md
14
- </execution_context>
15
-
16
- <context>
17
- Version: $ARGUMENTS (optional - defaults to current milestone)
18
-
19
- Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
20
-
21
- **Completed Work:**
22
- Glob: .planning/phases/_/_-SUMMARY.md
23
- Glob: .planning/phases/_/_-VERIFICATION.md
24
- </context>
25
-
26
- <process>
27
- Execute the audit-milestone workflow from @.pi/gsd/workflows/audit-milestone.md end-to-end.
28
- Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
29
- </process>
@@ -1,20 +0,0 @@
1
- ---
2
- name: gsd-audit-uat
3
- description: Cross-phase audit of all outstanding UAT and verification items
4
- ---
5
-
6
- <objective>
7
- Scan all phases for pending, skipped, blocked, and human_needed UAT items. Cross-reference against codebase to detect stale documentation. Produce prioritized human test plan.
8
- </objective>
9
-
10
- <execution_context>
11
- @.pi/gsd/workflows/audit-uat.md
12
- </execution_context>
13
-
14
- <context>
15
- Core planning files are loaded in-workflow via CLI.
16
-
17
- **Scope:**
18
- Glob: .planning/phases/*/*-UAT.md
19
- Glob: .planning/phases/*/*-VERIFICATION.md
20
- </context>
@@ -1,34 +0,0 @@
1
- ---
2
- name: gsd-autonomous
3
- description: Run all remaining phases autonomously - discuss→plan→execute per phase
4
- ---
5
-
6
- <objective>
7
- Execute all remaining milestone phases autonomously. For each phase: discuss → plan → execute. Pauses only for user decisions (grey area acceptance, blockers, validation requests).
8
-
9
- Uses ROADMAP.md phase discovery and Skill() flat invocations for each phase command. After all phases complete: milestone audit → complete → cleanup.
10
-
11
- **Creates/Updates:**
12
-
13
- - `.planning/STATE.md` - updated after each phase
14
- - `.planning/ROADMAP.md` - progress updated after each phase
15
- - Phase artifacts - CONTEXT.md, PLANs, SUMMARYs per phase
16
-
17
- **After:** Milestone is complete and cleaned up.
18
- </objective>
19
-
20
- <execution_context>
21
- @.pi/gsd/workflows/autonomous.md
22
- @.pi/gsd/references/ui-brand.md
23
- </execution_context>
24
-
25
- <context>
26
- Optional flag: `--from N` - start from phase N instead of the first incomplete phase.
27
-
28
- Project context, phase list, and state are resolved inside the workflow using init commands (`pi-gsd-tools.cjs init milestone-op`, `pi-gsd-tools.cjs roadmap analyze`). No upfront context loading needed.
29
- </context>
30
-
31
- <process>
32
- Execute the autonomous workflow from @.pi/gsd/workflows/autonomous.md end-to-end.
33
- Preserve all workflow gates (phase discovery, per-phase execution, blocker handling, progress display).
34
- </process>