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,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
|
Cross-AI peer review - invoke external AI CLIs to independently review phase plans.
|
|
3
68
|
Each CLI gets the same prompt (PROJECT.md context, phase plans, requirements) and
|
|
@@ -13,42 +78,7 @@ A plan that survives review from 2-3 independent AI systems is more robust.
|
|
|
13
78
|
<step name="detect_clis">
|
|
14
79
|
Check which AI CLIs are available on the system:
|
|
15
80
|
|
|
16
|
-
|
|
17
|
-
# Check each CLI
|
|
18
|
-
command -v gemini >/dev/null 2>&1 && echo "gemini:available" || echo "gemini:missing"
|
|
19
|
-
command -v claude >/dev/null 2>&1 && echo "claude:available" || echo "claude:missing"
|
|
20
|
-
command -v codex >/dev/null 2>&1 && echo "codex:available" || echo "codex:missing"
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Parse flags from `$ARGUMENTS`:
|
|
24
|
-
- `--gemini` → include Gemini
|
|
25
|
-
- `--claude` → include the agent
|
|
26
|
-
- `--codex` → include Codex
|
|
27
|
-
- `--all` → include all available
|
|
28
|
-
- No flags → include all available
|
|
29
|
-
|
|
30
|
-
If no CLIs are available:
|
|
31
|
-
```
|
|
32
|
-
No external AI CLIs found. Install at least one:
|
|
33
|
-
- gemini: https://github.com/google-gemini/gemini-cli
|
|
34
|
-
- codex: https://github.com/openai/codex
|
|
35
|
-
- claude: https://github.com/anthropics/claude-code
|
|
36
|
-
|
|
37
|
-
Then run /gsd-review again.
|
|
38
|
-
```
|
|
39
|
-
Exit.
|
|
40
|
-
|
|
41
|
-
If only one CLI is the current runtime (e.g. running inside the agent), skip it for the review
|
|
42
|
-
to ensure independence. At least one DIFFERENT CLI must be available.
|
|
43
|
-
</step>
|
|
44
|
-
|
|
45
|
-
<step name="gather_context">
|
|
46
|
-
Collect phase artifacts for the review prompt:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
INIT=$(pi-gsd-tools init phase-op "${PHASE_ARG}")
|
|
50
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
51
|
-
```
|
|
81
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
52
82
|
|
|
53
83
|
Read from init: `phase_dir`, `phase_number`, `padded_phase`.
|
|
54
84
|
|
|
@@ -1,3 +1,29 @@
|
|
|
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="state" />
|
|
12
|
+
<arg string="load" />
|
|
13
|
+
<arg string="--raw" />
|
|
14
|
+
</args>
|
|
15
|
+
<outs>
|
|
16
|
+
<suppress-errors />
|
|
17
|
+
<out type="string" name="state" />
|
|
18
|
+
</outs>
|
|
19
|
+
</shell>
|
|
20
|
+
</gsd-execute>
|
|
21
|
+
|
|
22
|
+
## Context (pre-injected)
|
|
23
|
+
|
|
24
|
+
**State:**
|
|
25
|
+
<gsd-paste name="state" />
|
|
26
|
+
|
|
1
27
|
<purpose>
|
|
2
28
|
Interactive configuration of GSD workflow agents (research, plan_check, verifier) and model profile selection via multi-question prompt. Updates .planning/config.json with user preferences. Optionally saves settings as global defaults (~/.gsd/defaults.json) for future projects.
|
|
3
29
|
</purpose>
|
|
@@ -11,11 +37,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
11
37
|
<step name="ensure_and_load_config">
|
|
12
38
|
Ensure config exists and load current state:
|
|
13
39
|
|
|
14
|
-
|
|
15
|
-
pi-gsd-tools config-ensure-section
|
|
16
|
-
INIT=$(pi-gsd-tools state load)
|
|
17
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
18
|
-
```
|
|
40
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
19
41
|
|
|
20
42
|
Creates `.planning/config.json` with defaults if missing and loads current config values.
|
|
21
43
|
</step>
|
|
@@ -1,3 +1,43 @@
|
|
|
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="state" />
|
|
12
|
+
<arg string="json" />
|
|
13
|
+
<arg string="--raw" />
|
|
14
|
+
</args>
|
|
15
|
+
<outs>
|
|
16
|
+
<out type="string" name="state" />
|
|
17
|
+
</outs>
|
|
18
|
+
</shell>
|
|
19
|
+
<shell command="pi-gsd-tools">
|
|
20
|
+
<args>
|
|
21
|
+
<arg string="pi-gsd-tools" />
|
|
22
|
+
<arg string="validate" />
|
|
23
|
+
<arg string="health" />
|
|
24
|
+
<arg string="--raw" />
|
|
25
|
+
</args>
|
|
26
|
+
<outs>
|
|
27
|
+
<suppress-errors />
|
|
28
|
+
<out type="string" name="health" />
|
|
29
|
+
</outs>
|
|
30
|
+
</shell>
|
|
31
|
+
</gsd-execute>
|
|
32
|
+
|
|
33
|
+
## Context (pre-injected)
|
|
34
|
+
|
|
35
|
+
**State:**
|
|
36
|
+
<gsd-paste name="state" />
|
|
37
|
+
|
|
38
|
+
**Health:**
|
|
39
|
+
<gsd-paste name="health" />
|
|
40
|
+
|
|
1
41
|
<purpose>
|
|
2
42
|
Create a pull request from completed phase/milestone work, generate a rich PR body from planning artifacts, optionally run code review, and prepare for merge. Closes the plan → execute → verify → ship loop.
|
|
3
43
|
</purpose>
|
|
@@ -11,10 +51,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
11
51
|
<step name="initialize">
|
|
12
52
|
Parse arguments and load project state:
|
|
13
53
|
|
|
14
|
-
|
|
15
|
-
INIT=$(pi-gsd-tools init phase-op "${PHASE_ARG}")
|
|
16
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
17
|
-
```
|
|
54
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
18
55
|
|
|
19
56
|
Parse from init JSON: `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `padded_phase`, `commit_docs`.
|
|
20
57
|
|
|
@@ -1,3 +1,27 @@
|
|
|
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="stats" />
|
|
12
|
+
<arg string="json" />
|
|
13
|
+
<arg string="--raw" />
|
|
14
|
+
</args>
|
|
15
|
+
<outs>
|
|
16
|
+
<out type="string" name="stats" />
|
|
17
|
+
</outs>
|
|
18
|
+
</shell>
|
|
19
|
+
</gsd-execute>
|
|
20
|
+
|
|
21
|
+
## Stats (pre-injected)
|
|
22
|
+
|
|
23
|
+
<gsd-paste name="stats" />
|
|
24
|
+
|
|
1
25
|
<purpose>
|
|
2
26
|
Display comprehensive project statistics including phases, plans, requirements, git metrics, and timeline.
|
|
3
27
|
</purpose>
|
|
@@ -1,3 +1,57 @@
|
|
|
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="workstream" />
|
|
34
|
+
<arg string="list" />
|
|
35
|
+
<arg string="--raw" />
|
|
36
|
+
</args>
|
|
37
|
+
<outs>
|
|
38
|
+
<suppress-errors />
|
|
39
|
+
<out type="string" name="workstreams" />
|
|
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
|
+
|
|
52
|
+
**Workstreams:**
|
|
53
|
+
<gsd-paste name="workstreams" />
|
|
54
|
+
|
|
1
55
|
<internal_workflow>
|
|
2
56
|
|
|
3
57
|
**This is an INTERNAL workflow - NOT a user-facing command.**
|
|
@@ -1,3 +1,93 @@
|
|
|
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="plan-phase" />
|
|
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="resolve-model" />
|
|
50
|
+
<arg string="gsd-ui-researcher" />
|
|
51
|
+
<arg string="--raw" />
|
|
52
|
+
</args>
|
|
53
|
+
<outs>
|
|
54
|
+
<suppress-errors />
|
|
55
|
+
<out type="string" name="ui-researcher-model" />
|
|
56
|
+
</outs>
|
|
57
|
+
</shell>
|
|
58
|
+
<shell command="pi-gsd-tools">
|
|
59
|
+
<args>
|
|
60
|
+
<arg string="pi-gsd-tools" />
|
|
61
|
+
<arg string="agent-skills" />
|
|
62
|
+
<arg string="gsd-ui-researcher" />
|
|
63
|
+
</args>
|
|
64
|
+
<outs>
|
|
65
|
+
<suppress-errors />
|
|
66
|
+
<out type="string" name="agent-skills-ui-researcher" />
|
|
67
|
+
</outs>
|
|
68
|
+
</shell>
|
|
69
|
+
<shell command="pi-gsd-tools">
|
|
70
|
+
<args>
|
|
71
|
+
<arg string="pi-gsd-tools" />
|
|
72
|
+
<arg string="agent-skills" />
|
|
73
|
+
<arg string="gsd-ui-checker" />
|
|
74
|
+
</args>
|
|
75
|
+
<outs>
|
|
76
|
+
<suppress-errors />
|
|
77
|
+
<out type="string" name="agent-skills-ui-checker" />
|
|
78
|
+
</outs>
|
|
79
|
+
</shell>
|
|
80
|
+
</gsd-execute>
|
|
81
|
+
|
|
82
|
+
## Context (pre-injected)
|
|
83
|
+
|
|
84
|
+
**Phase:** <gsd-paste name="phase" />
|
|
85
|
+
|
|
86
|
+
**Init Data:**
|
|
87
|
+
<gsd-paste name="init" />
|
|
88
|
+
|
|
89
|
+
**UI Researcher Model:** <gsd-paste name="ui-researcher-model" />
|
|
90
|
+
|
|
1
91
|
<purpose>
|
|
2
92
|
Generate a UI design contract (UI-SPEC.md) for frontend phases. Orchestrates gsd-ui-researcher and gsd-ui-checker with a revision loop. Inserts between discuss-phase and plan-phase in the lifecycle.
|
|
3
93
|
|
|
@@ -18,12 +108,7 @@ Valid GSD subagent types (use exact names - do not fall back to 'general-purpose
|
|
|
18
108
|
|
|
19
109
|
## 1. Initialize
|
|
20
110
|
|
|
21
|
-
|
|
22
|
-
INIT=$(pi-gsd-tools init plan-phase "$PHASE")
|
|
23
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
24
|
-
AGENT_SKILLS_UI=$(pi-gsd-tools agent-skills gsd-ui-researcher 2>/dev/null)
|
|
25
|
-
AGENT_SKILLS_UI_CHECKER=$(pi-gsd-tools agent-skills gsd-ui-checker 2>/dev/null)
|
|
26
|
-
```
|
|
111
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
27
112
|
|
|
28
113
|
Parse JSON for: `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_context`, `has_research`, `commit_docs`.
|
|
29
114
|
|
|
@@ -1,3 +1,82 @@
|
|
|
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="resolve-model" />
|
|
50
|
+
<arg string="gsd-ui-auditor" />
|
|
51
|
+
<arg string="--raw" />
|
|
52
|
+
</args>
|
|
53
|
+
<outs>
|
|
54
|
+
<suppress-errors />
|
|
55
|
+
<out type="string" name="ui-auditor-model" />
|
|
56
|
+
</outs>
|
|
57
|
+
</shell>
|
|
58
|
+
<shell command="pi-gsd-tools">
|
|
59
|
+
<args>
|
|
60
|
+
<arg string="pi-gsd-tools" />
|
|
61
|
+
<arg string="agent-skills" />
|
|
62
|
+
<arg string="gsd-ui-reviewer" />
|
|
63
|
+
</args>
|
|
64
|
+
<outs>
|
|
65
|
+
<suppress-errors />
|
|
66
|
+
<out type="string" name="agent-skills-ui-reviewer" />
|
|
67
|
+
</outs>
|
|
68
|
+
</shell>
|
|
69
|
+
</gsd-execute>
|
|
70
|
+
|
|
71
|
+
## Context (pre-injected)
|
|
72
|
+
|
|
73
|
+
**Phase:** <gsd-paste name="phase" />
|
|
74
|
+
|
|
75
|
+
**Phase Data:**
|
|
76
|
+
<gsd-paste name="init" />
|
|
77
|
+
|
|
78
|
+
**UI Auditor Model:** <gsd-paste name="ui-auditor-model" />
|
|
79
|
+
|
|
1
80
|
<purpose>
|
|
2
81
|
Retroactive 6-pillar visual audit of implemented frontend code. Standalone command that works on any project - GSD-managed or not. Produces scored UI-REVIEW.md with actionable findings.
|
|
3
82
|
</purpose>
|
|
@@ -15,11 +94,7 @@ Valid GSD subagent types (use exact names - do not fall back to 'general-purpose
|
|
|
15
94
|
|
|
16
95
|
## 0. Initialize
|
|
17
96
|
|
|
18
|
-
|
|
19
|
-
INIT=$(pi-gsd-tools init phase-op "${PHASE_ARG}")
|
|
20
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
21
|
-
AGENT_SKILLS_UI_REVIEWER=$(pi-gsd-tools agent-skills gsd-ui-reviewer 2>/dev/null)
|
|
22
|
-
```
|
|
97
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
23
98
|
|
|
24
99
|
Parse: `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `commit_docs`.
|
|
25
100
|
|
|
@@ -1,25 +1,98 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings>
|
|
5
|
+
<keep-extra-args />
|
|
6
|
+
</settings>
|
|
7
|
+
<arg name="phase" type="number" />
|
|
8
|
+
</gsd-arguments>
|
|
9
|
+
|
|
10
|
+
<gsd-execute>
|
|
11
|
+
<shell command="pi-gsd-tools">
|
|
12
|
+
<args>
|
|
13
|
+
<arg string="init" />
|
|
14
|
+
<arg string="phase-op" />
|
|
15
|
+
<arg name="phase" wrap='"' />
|
|
16
|
+
</args>
|
|
17
|
+
<outs>
|
|
18
|
+
<out type="string" name="init" />
|
|
19
|
+
</outs>
|
|
20
|
+
</shell>
|
|
21
|
+
<if>
|
|
22
|
+
<condition>
|
|
23
|
+
<starts-with>
|
|
24
|
+
<left name="init" />
|
|
25
|
+
<right type="string" value="@file:" />
|
|
26
|
+
</starts-with>
|
|
27
|
+
</condition>
|
|
28
|
+
<then>
|
|
29
|
+
<string-op op="split">
|
|
30
|
+
<args>
|
|
31
|
+
<arg name="init" />
|
|
32
|
+
<arg type="string" value="@file:" />
|
|
33
|
+
</args>
|
|
34
|
+
<outs>
|
|
35
|
+
<out type="string" name="init-file" />
|
|
36
|
+
</outs>
|
|
37
|
+
</string-op>
|
|
38
|
+
<shell command="cat">
|
|
39
|
+
<args>
|
|
40
|
+
<arg name="init-file" wrap='"' />
|
|
41
|
+
</args>
|
|
42
|
+
<outs>
|
|
43
|
+
<out type="string" name="init" />
|
|
44
|
+
</outs>
|
|
45
|
+
</shell>
|
|
46
|
+
</then>
|
|
47
|
+
</if>
|
|
48
|
+
<shell command="pi-gsd-tools">
|
|
49
|
+
<args>
|
|
50
|
+
<arg string="agent-skills" />
|
|
51
|
+
<arg string="gsd-nyquist-auditor" />
|
|
52
|
+
</args>
|
|
53
|
+
<outs>
|
|
54
|
+
<suppress-errors />
|
|
55
|
+
<out type="string" name="agent-skills-auditor" />
|
|
56
|
+
</outs>
|
|
57
|
+
</shell>
|
|
58
|
+
<shell command="pi-gsd-tools">
|
|
59
|
+
<args>
|
|
60
|
+
<arg string="resolve-model" />
|
|
61
|
+
<arg string="gsd-nyquist-auditor" />
|
|
62
|
+
<arg string="--raw" />
|
|
63
|
+
</args>
|
|
64
|
+
<outs>
|
|
65
|
+
<suppress-errors />
|
|
66
|
+
<out type="string" name="auditor-model" />
|
|
67
|
+
</outs>
|
|
68
|
+
</shell>
|
|
69
|
+
<shell command="pi-gsd-tools">
|
|
70
|
+
<args>
|
|
71
|
+
<arg string="config-get" />
|
|
72
|
+
<arg string="workflow.nyquist_validation" />
|
|
73
|
+
<arg string="--raw" />
|
|
74
|
+
</args>
|
|
75
|
+
<outs>
|
|
76
|
+
<suppress-errors />
|
|
77
|
+
<out type="string" name="nyquist-cfg" />
|
|
78
|
+
</outs>
|
|
79
|
+
</shell>
|
|
80
|
+
</gsd-execute>
|
|
81
|
+
|
|
82
|
+
## Initialization Context (pre-injected by WXP)
|
|
83
|
+
|
|
84
|
+
**Phase:** <gsd-paste name="phase" />
|
|
85
|
+
|
|
86
|
+
**Phase Init Data:**
|
|
87
|
+
<gsd-paste name="init" />
|
|
88
|
+
|
|
89
|
+
**Auditor Model:** <gsd-paste name="auditor-model" />
|
|
13
90
|
|
|
14
91
|
<process>
|
|
15
92
|
|
|
16
93
|
## 0. Initialize
|
|
17
94
|
|
|
18
|
-
|
|
19
|
-
INIT=$(pi-gsd-tools init phase-op "${PHASE_ARG}")
|
|
20
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
21
|
-
AGENT_SKILLS_AUDITOR=$(pi-gsd-tools agent-skills gsd-nyquist-auditor 2>/dev/null)
|
|
22
|
-
```
|
|
95
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
23
96
|
|
|
24
97
|
Parse: `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`.
|
|
25
98
|
|