pi-gsd 1.12.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/.gsd/extensions/pi-gsd-hooks.ts +330 -150
  2. package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +66 -11
  3. package/.gsd/harnesses/pi/get-shit-done/workflows/add-tests.md +69 -4
  4. package/.gsd/harnesses/pi/get-shit-done/workflows/add-todo.md +30 -4
  5. package/.gsd/harnesses/pi/get-shit-done/workflows/audit-milestone.md +75 -17
  6. package/.gsd/harnesses/pi/get-shit-done/workflows/audit-uat.md +38 -0
  7. package/.gsd/harnesses/pi/get-shit-done/workflows/autonomous.md +95 -286
  8. package/.gsd/harnesses/pi/get-shit-done/workflows/check-todos.md +67 -4
  9. package/.gsd/harnesses/pi/get-shit-done/workflows/cleanup.md +25 -0
  10. package/.gsd/harnesses/pi/get-shit-done/workflows/complete-milestone.md +51 -529
  11. package/.gsd/harnesses/pi/get-shit-done/workflows/diagnose-issues.md +39 -0
  12. package/.gsd/harnesses/pi/get-shit-done/workflows/discovery-phase.md +2 -0
  13. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase-assumptions.md +80 -5
  14. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md +43 -5
  15. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md.bak +1049 -0
  16. package/.gsd/harnesses/pi/get-shit-done/workflows/do.md +30 -3
  17. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-milestone.md +64 -0
  18. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md +78 -20
  19. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md.bak +846 -0
  20. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-plan.md +56 -19
  21. package/.gsd/harnesses/pi/get-shit-done/workflows/fast.md +2 -0
  22. package/.gsd/harnesses/pi/get-shit-done/workflows/forensics.md +40 -0
  23. package/.gsd/harnesses/pi/get-shit-done/workflows/health.md +25 -0
  24. package/.gsd/harnesses/pi/get-shit-done/workflows/help.md +2 -0
  25. package/.gsd/harnesses/pi/get-shit-done/workflows/insert-phase.md +69 -11
  26. package/.gsd/harnesses/pi/get-shit-done/workflows/list-phase-assumptions.md +2 -0
  27. package/.gsd/harnesses/pi/get-shit-done/workflows/list-workspaces.md +51 -4
  28. package/.gsd/harnesses/pi/get-shit-done/workflows/manager.md +81 -8
  29. package/.gsd/harnesses/pi/get-shit-done/workflows/map-codebase.md +40 -5
  30. package/.gsd/harnesses/pi/get-shit-done/workflows/milestone-summary.md +66 -48
  31. package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md +41 -13
  32. package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md.bak +486 -0
  33. package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md +43 -7
  34. package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md.bak +1250 -0
  35. package/.gsd/harnesses/pi/get-shit-done/workflows/new-workspace.md +55 -4
  36. package/.gsd/harnesses/pi/get-shit-done/workflows/next.md +39 -0
  37. package/.gsd/harnesses/pi/get-shit-done/workflows/node-repair.md +2 -0
  38. package/.gsd/harnesses/pi/get-shit-done/workflows/note.md +2 -0
  39. package/.gsd/harnesses/pi/get-shit-done/workflows/pause-work.md +46 -0
  40. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone-gaps.md +39 -0
  41. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone.md +40 -0
  42. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md +57 -7
  43. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md.bak +859 -0
  44. package/.gsd/harnesses/pi/get-shit-done/workflows/plant-seed.md +28 -0
  45. package/.gsd/harnesses/pi/get-shit-done/workflows/pr-branch.md +2 -0
  46. package/.gsd/harnesses/pi/get-shit-done/workflows/profile-user.md +51 -0
  47. package/.gsd/harnesses/pi/get-shit-done/workflows/progress.md +52 -4
  48. package/.gsd/harnesses/pi/get-shit-done/workflows/quick.md +99 -32
  49. package/.gsd/harnesses/pi/get-shit-done/workflows/remove-phase.md +66 -4
  50. package/.gsd/harnesses/pi/get-shit-done/workflows/remove-workspace.md +55 -4
  51. package/.gsd/harnesses/pi/get-shit-done/workflows/research-phase.md +79 -22
  52. package/.gsd/harnesses/pi/get-shit-done/workflows/resume-project.md +66 -4
  53. package/.gsd/harnesses/pi/get-shit-done/workflows/review.md +66 -36
  54. package/.gsd/harnesses/pi/get-shit-done/workflows/session-report.md +2 -0
  55. package/.gsd/harnesses/pi/get-shit-done/workflows/settings.md +27 -5
  56. package/.gsd/harnesses/pi/get-shit-done/workflows/ship.md +41 -4
  57. package/.gsd/harnesses/pi/get-shit-done/workflows/stats.md +24 -0
  58. package/.gsd/harnesses/pi/get-shit-done/workflows/transition.md +54 -0
  59. package/.gsd/harnesses/pi/get-shit-done/workflows/ui-phase.md +91 -6
  60. package/.gsd/harnesses/pi/get-shit-done/workflows/ui-review.md +80 -5
  61. package/.gsd/harnesses/pi/get-shit-done/workflows/update.md +2 -0
  62. package/.gsd/harnesses/pi/get-shit-done/workflows/validate-phase.md +90 -17
  63. package/.gsd/harnesses/pi/get-shit-done/workflows/verify-phase.md +79 -4
  64. package/.gsd/harnesses/pi/get-shit-done/workflows/verify-work.md +87 -31
  65. package/README.md +146 -112
  66. package/dist/pi-gsd-tools.js +166 -163
  67. package/package.json +13 -5
  68. package/prompts/gsd-add-backlog.md +2 -3
  69. package/prompts/gsd-add-phase.md +3 -2
  70. package/prompts/gsd-add-tests.md +3 -2
  71. package/prompts/gsd-add-todo.md +3 -2
  72. package/prompts/gsd-audit-milestone.md +3 -2
  73. package/prompts/gsd-audit-uat.md +3 -2
  74. package/prompts/gsd-autonomous.md +3 -2
  75. package/prompts/gsd-check-todos.md +3 -2
  76. package/prompts/gsd-cleanup.md +3 -2
  77. package/prompts/gsd-complete-milestone.md +2 -3
  78. package/prompts/gsd-debug.md +2 -3
  79. package/prompts/gsd-discuss-phase.md +4 -3
  80. package/prompts/gsd-do.md +3 -2
  81. package/prompts/gsd-execute-milestone.md +3 -2
  82. package/prompts/gsd-execute-phase.md +3 -2
  83. package/prompts/gsd-fast.md +2 -1
  84. package/prompts/gsd-forensics.md +3 -2
  85. package/prompts/gsd-insert-phase.md +3 -2
  86. package/prompts/gsd-join-discord.md +2 -3
  87. package/prompts/gsd-list-phase-assumptions.md +2 -1
  88. package/prompts/gsd-list-workspaces.md +3 -2
  89. package/prompts/gsd-manager.md +3 -2
  90. package/prompts/gsd-map-codebase.md +3 -2
  91. package/prompts/gsd-milestone-summary.md +3 -2
  92. package/prompts/gsd-new-milestone.md +3 -2
  93. package/prompts/gsd-new-project.md +3 -2
  94. package/prompts/gsd-new-workspace.md +3 -2
  95. package/prompts/gsd-note.md +2 -1
  96. package/prompts/gsd-pause-work.md +3 -2
  97. package/prompts/gsd-plan-milestone-gaps.md +3 -2
  98. package/prompts/gsd-plan-milestone.md +3 -2
  99. package/prompts/gsd-plan-phase.md +3 -2
  100. package/prompts/gsd-plant-seed.md +3 -2
  101. package/prompts/gsd-pr-branch.md +2 -1
  102. package/prompts/gsd-profile-user.md +3 -2
  103. package/prompts/gsd-quick.md +3 -2
  104. package/prompts/gsd-reapply-patches.md +2 -3
  105. package/prompts/gsd-remove-phase.md +3 -2
  106. package/prompts/gsd-remove-workspace.md +3 -2
  107. package/prompts/gsd-research-phase.md +2 -3
  108. package/prompts/gsd-resume-work.md +3 -2
  109. package/prompts/gsd-review-backlog.md +2 -3
  110. package/prompts/gsd-review.md +3 -2
  111. package/prompts/gsd-session-report.md +2 -1
  112. package/prompts/gsd-set-profile.md +2 -3
  113. package/prompts/gsd-settings.md +3 -2
  114. package/prompts/gsd-ship.md +3 -2
  115. package/prompts/gsd-thread.md +2 -3
  116. package/prompts/gsd-ui-phase.md +3 -2
  117. package/prompts/gsd-ui-review.md +3 -2
  118. package/prompts/gsd-validate-phase.md +3 -2
  119. package/prompts/gsd-verify-work.md +3 -2
  120. package/prompts/gsd-workstreams.md +2 -3
@@ -1,3 +1,31 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ <arg name="idea" type="string" optional />
6
+ </gsd-arguments>
7
+
8
+ <gsd-execute>
9
+ <shell command="pi-gsd-tools">
10
+ <args>
11
+ <arg string="pi-gsd-tools" />
12
+ <arg string="state" />
13
+ <arg string="json" />
14
+ <arg string="--raw" />
15
+ </args>
16
+ <outs>
17
+ <out type="string" name="state" />
18
+ </outs>
19
+ </shell>
20
+ </gsd-execute>
21
+
22
+ ## Context (pre-injected)
23
+
24
+ **Idea:** <gsd-paste name="idea" />
25
+
26
+ **State:**
27
+ <gsd-paste name="state" />
28
+
1
29
  <purpose>
2
30
  Capture a forward-looking idea as a structured seed file with trigger conditions.
3
31
  Seeds auto-surface during /gsd-new-milestone when trigger conditions match the
@@ -1,3 +1,5 @@
1
+ <gsd-version v="1.12.4" />
2
+
1
3
  <purpose>
2
4
  Create a clean branch for pull requests by filtering out .planning/ commits.
3
5
  The PR branch contains only code changes - reviewers don't see GSD artifacts
@@ -1,3 +1,54 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ </gsd-arguments>
6
+
7
+ <gsd-execute>
8
+ <shell command="pi-gsd-tools">
9
+ <args>
10
+ <arg string="pi-gsd-tools" />
11
+ <arg string="scan-sessions" />
12
+ <arg string="--json" />
13
+ </args>
14
+ <outs>
15
+ <suppress-errors />
16
+ <out type="string" name="scan-result" />
17
+ </outs>
18
+ </shell>
19
+ <shell command="pi-gsd-tools">
20
+ <args>
21
+ <arg string="pi-gsd-tools" />
22
+ <arg string="profile-sample" />
23
+ <arg string="--json" />
24
+ </args>
25
+ <outs>
26
+ <suppress-errors />
27
+ <out type="string" name="sample-result" />
28
+ </outs>
29
+ </shell>
30
+ <shell command="pi-gsd-tools">
31
+ <args>
32
+ <arg string="pi-gsd-tools" />
33
+ <arg string="state" />
34
+ <arg string="json" />
35
+ <arg string="--raw" />
36
+ </args>
37
+ <outs>
38
+ <suppress-errors />
39
+ <out type="string" name="state" />
40
+ </outs>
41
+ </shell>
42
+ </gsd-execute>
43
+
44
+ ## Context (pre-injected)
45
+
46
+ **Scan Result:**
47
+ <gsd-paste name="scan-result" />
48
+
49
+ **State:**
50
+ <gsd-paste name="state" />
51
+
1
52
  <purpose>
2
53
  Orchestrate the full developer profiling flow: consent, session analysis (or questionnaire fallback), profile generation, result display, and artifact creation.
3
54
 
@@ -1,3 +1,54 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ </gsd-arguments>
6
+
7
+ <gsd-execute>
8
+ <shell command="pi-gsd-tools">
9
+ <args>
10
+ <arg string="pi-gsd-tools" />
11
+ <arg string="roadmap" />
12
+ <arg string="analyze" />
13
+ <arg string="--raw" />
14
+ </args>
15
+ <outs>
16
+ <out type="string" name="roadmap" />
17
+ </outs>
18
+ </shell>
19
+ <shell command="pi-gsd-tools">
20
+ <args>
21
+ <arg string="pi-gsd-tools" />
22
+ <arg string="state" />
23
+ <arg string="json" />
24
+ <arg string="--raw" />
25
+ </args>
26
+ <outs>
27
+ <out type="string" name="state" />
28
+ </outs>
29
+ </shell>
30
+ <shell command="pi-gsd-tools">
31
+ <args>
32
+ <arg string="pi-gsd-tools" />
33
+ <arg string="config-get" />
34
+ <arg string="workflow.discuss_mode" />
35
+ <arg string="--raw" />
36
+ </args>
37
+ <outs>
38
+ <suppress-errors />
39
+ <out type="string" name="config" />
40
+ </outs>
41
+ </shell>
42
+ </gsd-execute>
43
+
44
+ ## Context (pre-injected)
45
+
46
+ **Roadmap:**
47
+ <gsd-paste name="roadmap" />
48
+
49
+ **State:**
50
+ <gsd-paste name="state" />
51
+
1
52
  <purpose>
2
53
  Check project progress, summarize recent work and what's ahead, then intelligently route to the next action - either executing an existing plan or creating the next one. Provides situational awareness before continuing work.
3
54
  </purpose>
@@ -11,10 +62,7 @@ Read all files referenced by the invoking prompt's execution_context before star
11
62
  <step name="init_context">
12
63
  **Load progress context (paths only):**
13
64
 
14
- ```bash
15
- INIT=$(pi-gsd-tools init progress)
16
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
17
- ```
65
+ <!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
18
66
 
19
67
  Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`, `state_path`, `roadmap_path`, `project_path`, `config_path`.
20
68
 
@@ -1,27 +1,101 @@
1
- <purpose>
2
- Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking). Quick mode spawns gsd-planner (quick mode) + gsd-executor(s), tracks tasks in `.planning/quick/`, and updates STATE.md's "Quick Tasks Completed" table.
3
-
4
- With `--discuss` flag: lightweight discussion phase before planning. Surfaces assumptions, clarifies gray areas, captures decisions in CONTEXT.md so the planner treats them as locked.
5
-
6
- With `--full` flag: enables plan-checking (max 2 iterations) and post-execution verification for quality guarantees without full milestone ceremony.
7
-
8
- With `--research` flag: spawns a focused research agent before planning. Investigates implementation approaches, library options, and pitfalls. Use when you're unsure how to approach a task.
9
-
10
- Flags are composable: `--discuss --research --full` gives discussion + research + plan-checking + verification.
11
- </purpose>
12
-
13
- <required_reading>
14
- Read all files referenced by the invoking prompt's execution_context before starting.
15
- </required_reading>
16
-
17
- <available_agent_types>
18
- Valid GSD subagent types (use exact names - do not fall back to 'general-purpose'):
19
- - gsd-phase-researcher - Researches technical approaches for a phase
20
- - gsd-planner - Creates detailed plans from phase scope
21
- - gsd-plan-checker - Reviews plan quality before execution
22
- - gsd-executor - Executes plan tasks, commits, creates SUMMARY.md
23
- - gsd-verifier - Verifies phase completion, checks quality gates
24
- </available_agent_types>
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings>
5
+ <keep-extra-args />
6
+ </settings>
7
+ <arg name="discuss" type="flag" flag="--discuss" optional />
8
+ <arg name="full" type="flag" flag="--full" optional />
9
+ <arg name="research" type="flag" flag="--research" optional />
10
+ <arg name="description" type="string" optional />
11
+ </gsd-arguments>
12
+
13
+ <gsd-execute>
14
+ <shell command="pi-gsd-tools">
15
+ <args>
16
+ <arg string="init" />
17
+ <arg string="quick" />
18
+ <arg name="description" wrap='"' />
19
+ </args>
20
+ <outs>
21
+ <out type="string" name="init" />
22
+ </outs>
23
+ </shell>
24
+ <if>
25
+ <condition>
26
+ <starts-with>
27
+ <left name="init" />
28
+ <right type="string" value="@file:" />
29
+ </starts-with>
30
+ </condition>
31
+ <then>
32
+ <string-op op="split">
33
+ <args>
34
+ <arg name="init" />
35
+ <arg type="string" value="@file:" />
36
+ </args>
37
+ <outs>
38
+ <out type="string" name="init-file" />
39
+ </outs>
40
+ </string-op>
41
+ <shell command="cat">
42
+ <args>
43
+ <arg name="init-file" wrap='"' />
44
+ </args>
45
+ <outs>
46
+ <out type="string" name="init" />
47
+ </outs>
48
+ </shell>
49
+ </then>
50
+ </if>
51
+ <shell command="pi-gsd-tools">
52
+ <args>
53
+ <arg string="agent-skills" />
54
+ <arg string="gsd-planner" />
55
+ </args>
56
+ <outs>
57
+ <suppress-errors />
58
+ <out type="string" name="agent-skills-planner" />
59
+ </outs>
60
+ </shell>
61
+ <shell command="pi-gsd-tools">
62
+ <args>
63
+ <arg string="agent-skills" />
64
+ <arg string="gsd-executor" />
65
+ </args>
66
+ <outs>
67
+ <suppress-errors />
68
+ <out type="string" name="agent-skills-executor" />
69
+ </outs>
70
+ </shell>
71
+ <shell command="pi-gsd-tools">
72
+ <args>
73
+ <arg string="agent-skills" />
74
+ <arg string="gsd-plan-checker" />
75
+ </args>
76
+ <outs>
77
+ <suppress-errors />
78
+ <out type="string" name="agent-skills-checker" />
79
+ </outs>
80
+ </shell>
81
+ <shell command="pi-gsd-tools">
82
+ <args>
83
+ <arg string="agent-skills" />
84
+ <arg string="gsd-verifier" />
85
+ </args>
86
+ <outs>
87
+ <suppress-errors />
88
+ <out type="string" name="agent-skills-verifier" />
89
+ </outs>
90
+ </shell>
91
+ </gsd-execute>
92
+
93
+ ## Quick Task Context (pre-injected by WXP)
94
+
95
+ **Task:** <gsd-paste name="description" />
96
+
97
+ **Init Data:**
98
+ <gsd-paste name="init" />
25
99
 
26
100
  <process>
27
101
  **Step 1: Parse arguments and get task description**
@@ -115,14 +189,7 @@ If `$FULL_MODE` only:
115
189
 
116
190
  **Step 2: Initialize**
117
191
 
118
- ```bash
119
- INIT=$(pi-gsd-tools init quick "$DESCRIPTION")
120
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
121
- AGENT_SKILLS_PLANNER=$(pi-gsd-tools agent-skills gsd-planner 2>/dev/null)
122
- AGENT_SKILLS_EXECUTOR=$(pi-gsd-tools agent-skills gsd-executor 2>/dev/null)
123
- AGENT_SKILLS_CHECKER=$(pi-gsd-tools agent-skills gsd-checker 2>/dev/null)
124
- AGENT_SKILLS_VERIFIER=$(pi-gsd-tools agent-skills gsd-verifier 2>/dev/null)
125
- ```
192
+ <!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
126
193
 
127
194
  Parse JSON for: `planner_model`, `executor_model`, `checker_model`, `verifier_model`, `commit_docs`, `branch_name`, `quick_id`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
128
195
 
@@ -1,3 +1,68 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ <arg name="phase" type="number" />
6
+ </gsd-arguments>
7
+
8
+ <gsd-execute>
9
+ <shell command="pi-gsd-tools">
10
+ <args>
11
+ <arg string="pi-gsd-tools" />
12
+ <arg string="init" />
13
+ <arg string="phase-op" />
14
+ </args>
15
+ <outs>
16
+ <out type="string" name="init" />
17
+ </outs>
18
+ </shell>
19
+ <if>
20
+ <condition>
21
+ <starts-with>
22
+ <left name="init" />
23
+ <right type="string" value="@file:" />
24
+ </starts-with>
25
+ </condition>
26
+ <then>
27
+ <string-op op="split">
28
+ <args>
29
+ <arg name="init" />
30
+ <arg type="string" value="@file:" />
31
+ </args>
32
+ <outs>
33
+ <out type="string" name="init-file" />
34
+ </outs>
35
+ </string-op>
36
+ <shell command="cat">
37
+ <args>
38
+ <arg name="init-file" wrap='"' />
39
+ </args>
40
+ <outs>
41
+ <out type="string" name="init" />
42
+ </outs>
43
+ </shell>
44
+ </then>
45
+ </if>
46
+ <shell command="pi-gsd-tools">
47
+ <args>
48
+ <arg string="pi-gsd-tools" />
49
+ <arg string="state" />
50
+ <arg string="json" />
51
+ <arg string="--raw" />
52
+ </args>
53
+ <outs>
54
+ <out type="string" name="state" />
55
+ </outs>
56
+ </shell>
57
+ </gsd-execute>
58
+
59
+ ## Context (pre-injected)
60
+
61
+ **Phase:** <gsd-paste name="phase" />
62
+
63
+ **Phase Data:**
64
+ <gsd-paste name="init" />
65
+
1
66
  <purpose>
2
67
  Remove an unstarted future phase from the project roadmap, delete its directory, renumber all subsequent phases to maintain a clean linear sequence, and commit the change. The git commit serves as the historical record of removal.
3
68
  </purpose>
@@ -28,10 +93,7 @@ Exit.
28
93
  <step name="init_context">
29
94
  Load phase operation context:
30
95
 
31
- ```bash
32
- INIT=$(pi-gsd-tools init phase-op "${target}")
33
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
34
- ```
96
+ <!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
35
97
 
36
98
  Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
37
99
 
@@ -1,3 +1,57 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ <arg name="name" type="string" optional />
6
+ </gsd-arguments>
7
+
8
+ <gsd-execute>
9
+ <shell command="pi-gsd-tools">
10
+ <args>
11
+ <arg string="pi-gsd-tools" />
12
+ <arg string="init" />
13
+ <arg string="remove-workspace" />
14
+ </args>
15
+ <outs>
16
+ <out type="string" name="workspace-data" />
17
+ </outs>
18
+ </shell>
19
+ <if>
20
+ <condition>
21
+ <starts-with>
22
+ <left name="workspace-data" />
23
+ <right type="string" value="@file:" />
24
+ </starts-with>
25
+ </condition>
26
+ <then>
27
+ <string-op op="split">
28
+ <args>
29
+ <arg name="workspace-data" />
30
+ <arg type="string" value="@file:" />
31
+ </args>
32
+ <outs>
33
+ <out type="string" name="workspace-data-file" />
34
+ </outs>
35
+ </string-op>
36
+ <shell command="cat">
37
+ <args>
38
+ <arg name="workspace-data-file" wrap='"' />
39
+ </args>
40
+ <outs>
41
+ <out type="string" name="workspace-data" />
42
+ </outs>
43
+ </shell>
44
+ </then>
45
+ </if>
46
+ </gsd-execute>
47
+
48
+ ## Context (pre-injected)
49
+
50
+ **Workspace:** <gsd-paste name="name" />
51
+
52
+ **Data:**
53
+ <gsd-paste name="workspace-data" />
54
+
1
55
  <purpose>
2
56
  Remove a GSD workspace, cleaning up git worktrees and deleting the workspace directory.
3
57
  </purpose>
@@ -12,10 +66,7 @@ Read all files referenced by the invoking prompt's execution_context before star
12
66
 
13
67
  Extract workspace name from $ARGUMENTS.
14
68
 
15
- ```bash
16
- INIT=$(pi-gsd-tools init remove-workspace "$WORKSPACE_NAME")
17
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
18
- ```
69
+ <!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
19
70
 
20
71
  Parse JSON for: `workspace_name`, `workspace_path`, `has_manifest`, `strategy`, `repos`, `repo_count`, `dirty_repos`, `has_dirty_repos`.
21
72
 
@@ -1,3 +1,81 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ <arg name="phase" type="number" />
6
+ </gsd-arguments>
7
+
8
+ <gsd-execute>
9
+ <shell command="pi-gsd-tools">
10
+ <args>
11
+ <arg string="pi-gsd-tools" />
12
+ <arg string="init" />
13
+ <arg string="phase-op" />
14
+ </args>
15
+ <outs>
16
+ <out type="string" name="init" />
17
+ </outs>
18
+ </shell>
19
+ <if>
20
+ <condition>
21
+ <starts-with>
22
+ <left name="init" />
23
+ <right type="string" value="@file:" />
24
+ </starts-with>
25
+ </condition>
26
+ <then>
27
+ <string-op op="split">
28
+ <args>
29
+ <arg name="init" />
30
+ <arg type="string" value="@file:" />
31
+ </args>
32
+ <outs>
33
+ <out type="string" name="init-file" />
34
+ </outs>
35
+ </string-op>
36
+ <shell command="cat">
37
+ <args>
38
+ <arg name="init-file" wrap='"' />
39
+ </args>
40
+ <outs>
41
+ <out type="string" name="init" />
42
+ </outs>
43
+ </shell>
44
+ </then>
45
+ </if>
46
+ <shell command="pi-gsd-tools">
47
+ <args>
48
+ <arg string="pi-gsd-tools" />
49
+ <arg string="roadmap" />
50
+ <arg string="get-phase" />
51
+ </args>
52
+ <outs>
53
+ <out type="string" name="roadmap-phase" />
54
+ </outs>
55
+ </shell>
56
+ <shell command="pi-gsd-tools">
57
+ <args>
58
+ <arg string="pi-gsd-tools" />
59
+ <arg string="agent-skills" />
60
+ <arg string="gsd-phase-researcher" />
61
+ </args>
62
+ <outs>
63
+ <suppress-errors />
64
+ <out type="string" name="agent-skills-researcher" />
65
+ </outs>
66
+ </shell>
67
+ </gsd-execute>
68
+
69
+ ## Context (pre-injected)
70
+
71
+ **Phase:** <gsd-paste name="phase" />
72
+
73
+ **Phase Data:**
74
+ <gsd-paste name="init" />
75
+
76
+ **Roadmap:**
77
+ <gsd-paste name="roadmap-phase" />
78
+
1
79
  <purpose>
2
80
  Research how to implement a phase. Spawns gsd-phase-researcher with phase context.
3
81
 
@@ -22,28 +100,7 @@ Resolve model for:
22
100
 
23
101
  @.pi/gsd/references/phase-argument-parsing.md
24
102
 
25
- ```bash
26
- PHASE_INFO=$(pi-gsd-tools roadmap get-phase "${PHASE}")
27
- ```
28
-
29
- If `found` is false: Error and exit.
30
-
31
- ## Step 2: Check Existing Research
32
-
33
- ```bash
34
- ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null || true
35
- ```
36
-
37
- If exists: Offer update/view/skip options.
38
-
39
- ## Step 3: Gather Phase Context
40
-
41
- ```bash
42
- INIT=$(pi-gsd-tools init phase-op "${PHASE}")
43
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
44
- # Extract: phase_dir, padded_phase, phase_number, state_path, requirements_path, context_path
45
- AGENT_SKILLS_RESEARCHER=$(pi-gsd-tools agent-skills gsd-researcher 2>/dev/null)
46
- ```
103
+ <!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
47
104
 
48
105
  ## Step 4: Spawn Researcher
49
106
 
@@ -1,3 +1,68 @@
1
+ <gsd-version v="1.12.4" />
2
+
3
+ <gsd-arguments>
4
+ <settings><keep-extra-args /></settings>
5
+ </gsd-arguments>
6
+
7
+ <gsd-execute>
8
+ <shell command="pi-gsd-tools">
9
+ <args>
10
+ <arg string="pi-gsd-tools" />
11
+ <arg string="init" />
12
+ <arg string="resume" />
13
+ </args>
14
+ <outs>
15
+ <out type="string" name="resume-data" />
16
+ </outs>
17
+ </shell>
18
+ <if>
19
+ <condition>
20
+ <starts-with>
21
+ <left name="resume-data" />
22
+ <right type="string" value="@file:" />
23
+ </starts-with>
24
+ </condition>
25
+ <then>
26
+ <string-op op="split">
27
+ <args>
28
+ <arg name="resume-data" />
29
+ <arg type="string" value="@file:" />
30
+ </args>
31
+ <outs>
32
+ <out type="string" name="resume-data-file" />
33
+ </outs>
34
+ </string-op>
35
+ <shell command="cat">
36
+ <args>
37
+ <arg name="resume-data-file" wrap='"' />
38
+ </args>
39
+ <outs>
40
+ <out type="string" name="resume-data" />
41
+ </outs>
42
+ </shell>
43
+ </then>
44
+ </if>
45
+ <shell command="pi-gsd-tools">
46
+ <args>
47
+ <arg string="pi-gsd-tools" />
48
+ <arg string="state" />
49
+ <arg string="json" />
50
+ <arg string="--raw" />
51
+ </args>
52
+ <outs>
53
+ <out type="string" name="state" />
54
+ </outs>
55
+ </shell>
56
+ </gsd-execute>
57
+
58
+ ## Resume Context (pre-injected)
59
+
60
+ **Resume Data:**
61
+ <gsd-paste name="resume-data" />
62
+
63
+ **State:**
64
+ <gsd-paste name="state" />
65
+
1
66
  <trigger>
2
67
  Use this workflow when:
3
68
  - Starting a new session on an existing project
@@ -19,10 +84,7 @@ Instantly restore full project context so "Where were we?" has an immediate, com
19
84
  <step name="initialize">
20
85
  Load all context in one call:
21
86
 
22
- ```bash
23
- INIT=$(pi-gsd-tools init resume)
24
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
25
- ```
87
+ <!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
26
88
 
27
89
  Parse JSON for: `state_exists`, `roadmap_exists`, `project_exists`, `planning_exists`, `has_interrupted_agent`, `interrupted_agent_id`, `commit_docs`.
28
90