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.
- package/.gsd/extensions/pi-gsd-hooks.ts +330 -150
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +66 -11
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-tests.md +69 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-todo.md +30 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/audit-milestone.md +75 -17
- package/.gsd/harnesses/pi/get-shit-done/workflows/audit-uat.md +38 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/autonomous.md +95 -286
- package/.gsd/harnesses/pi/get-shit-done/workflows/check-todos.md +67 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/cleanup.md +25 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/complete-milestone.md +51 -529
- package/.gsd/harnesses/pi/get-shit-done/workflows/diagnose-issues.md +39 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/discovery-phase.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase-assumptions.md +80 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md +43 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md.bak +1049 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/do.md +30 -3
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-milestone.md +64 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md +78 -20
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md.bak +846 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-plan.md +56 -19
- package/.gsd/harnesses/pi/get-shit-done/workflows/fast.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/forensics.md +40 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/health.md +25 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/help.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/insert-phase.md +69 -11
- package/.gsd/harnesses/pi/get-shit-done/workflows/list-phase-assumptions.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/list-workspaces.md +51 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/manager.md +81 -8
- package/.gsd/harnesses/pi/get-shit-done/workflows/map-codebase.md +40 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/milestone-summary.md +66 -48
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md +41 -13
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md.bak +486 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md +43 -7
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md.bak +1250 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-workspace.md +55 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/next.md +39 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/node-repair.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/note.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/pause-work.md +46 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone-gaps.md +39 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone.md +40 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md +57 -7
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md.bak +859 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plant-seed.md +28 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/pr-branch.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/profile-user.md +51 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/progress.md +52 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/quick.md +99 -32
- package/.gsd/harnesses/pi/get-shit-done/workflows/remove-phase.md +66 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/remove-workspace.md +55 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/research-phase.md +79 -22
- package/.gsd/harnesses/pi/get-shit-done/workflows/resume-project.md +66 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/review.md +66 -36
- package/.gsd/harnesses/pi/get-shit-done/workflows/session-report.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/settings.md +27 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/ship.md +41 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/stats.md +24 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/transition.md +54 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/ui-phase.md +91 -6
- package/.gsd/harnesses/pi/get-shit-done/workflows/ui-review.md +80 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/update.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/validate-phase.md +90 -17
- package/.gsd/harnesses/pi/get-shit-done/workflows/verify-phase.md +79 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/verify-work.md +87 -31
- package/README.md +146 -112
- package/dist/pi-gsd-tools.js +166 -163
- package/package.json +13 -5
- package/prompts/gsd-add-backlog.md +2 -3
- package/prompts/gsd-add-phase.md +3 -2
- package/prompts/gsd-add-tests.md +3 -2
- package/prompts/gsd-add-todo.md +3 -2
- package/prompts/gsd-audit-milestone.md +3 -2
- package/prompts/gsd-audit-uat.md +3 -2
- package/prompts/gsd-autonomous.md +3 -2
- package/prompts/gsd-check-todos.md +3 -2
- package/prompts/gsd-cleanup.md +3 -2
- package/prompts/gsd-complete-milestone.md +2 -3
- package/prompts/gsd-debug.md +2 -3
- package/prompts/gsd-discuss-phase.md +4 -3
- package/prompts/gsd-do.md +3 -2
- package/prompts/gsd-execute-milestone.md +3 -2
- package/prompts/gsd-execute-phase.md +3 -2
- package/prompts/gsd-fast.md +2 -1
- package/prompts/gsd-forensics.md +3 -2
- package/prompts/gsd-insert-phase.md +3 -2
- package/prompts/gsd-join-discord.md +2 -3
- package/prompts/gsd-list-phase-assumptions.md +2 -1
- package/prompts/gsd-list-workspaces.md +3 -2
- package/prompts/gsd-manager.md +3 -2
- package/prompts/gsd-map-codebase.md +3 -2
- package/prompts/gsd-milestone-summary.md +3 -2
- package/prompts/gsd-new-milestone.md +3 -2
- package/prompts/gsd-new-project.md +3 -2
- package/prompts/gsd-new-workspace.md +3 -2
- package/prompts/gsd-note.md +2 -1
- package/prompts/gsd-pause-work.md +3 -2
- package/prompts/gsd-plan-milestone-gaps.md +3 -2
- package/prompts/gsd-plan-milestone.md +3 -2
- package/prompts/gsd-plan-phase.md +3 -2
- package/prompts/gsd-plant-seed.md +3 -2
- package/prompts/gsd-pr-branch.md +2 -1
- package/prompts/gsd-profile-user.md +3 -2
- package/prompts/gsd-quick.md +3 -2
- package/prompts/gsd-reapply-patches.md +2 -3
- package/prompts/gsd-remove-phase.md +3 -2
- package/prompts/gsd-remove-workspace.md +3 -2
- package/prompts/gsd-research-phase.md +2 -3
- package/prompts/gsd-resume-work.md +3 -2
- package/prompts/gsd-review-backlog.md +2 -3
- package/prompts/gsd-review.md +3 -2
- package/prompts/gsd-session-report.md +2 -1
- package/prompts/gsd-set-profile.md +2 -3
- package/prompts/gsd-settings.md +3 -2
- package/prompts/gsd-ship.md +3 -2
- package/prompts/gsd-thread.md +2 -3
- package/prompts/gsd-ui-phase.md +3 -2
- package/prompts/gsd-ui-review.md +3 -2
- package/prompts/gsd-validate-phase.md +3 -2
- package/prompts/gsd-verify-work.md +3 -2
- 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,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
|
-
|
|
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
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|