gsd-opencode 1.22.0 → 1.30.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/agents/gsd-advisor-researcher.md +112 -0
- package/agents/gsd-assumptions-analyzer.md +110 -0
- package/agents/gsd-codebase-mapper.md +1 -2
- package/agents/gsd-debugger.md +119 -2
- package/agents/gsd-executor.md +25 -4
- package/agents/gsd-integration-checker.md +1 -2
- package/agents/gsd-nyquist-auditor.md +1 -2
- package/agents/gsd-phase-researcher.md +151 -5
- package/agents/gsd-plan-checker.md +71 -5
- package/agents/gsd-planner.md +50 -4
- package/agents/gsd-project-researcher.md +29 -3
- package/agents/gsd-research-synthesizer.md +1 -2
- package/agents/gsd-roadmapper.md +30 -2
- package/agents/gsd-ui-auditor.md +445 -0
- package/agents/gsd-ui-checker.md +305 -0
- package/agents/gsd-ui-researcher.md +368 -0
- package/agents/gsd-user-profiler.md +173 -0
- package/agents/gsd-verifier.md +124 -4
- package/commands/gsd/gsd-add-backlog.md +76 -0
- package/commands/gsd/gsd-audit-uat.md +24 -0
- package/commands/gsd/gsd-autonomous.md +41 -0
- package/commands/gsd/gsd-debug.md +5 -0
- package/commands/gsd/gsd-discuss-phase.md +10 -36
- package/commands/gsd/gsd-do.md +30 -0
- package/commands/gsd/gsd-execute-phase.md +20 -2
- package/commands/gsd/gsd-fast.md +30 -0
- package/commands/gsd/gsd-forensics.md +56 -0
- package/commands/gsd/gsd-list-workspaces.md +19 -0
- package/commands/gsd/gsd-manager.md +39 -0
- package/commands/gsd/gsd-milestone-summary.md +51 -0
- package/commands/gsd/gsd-new-workspace.md +44 -0
- package/commands/gsd/gsd-next.md +24 -0
- package/commands/gsd/gsd-note.md +34 -0
- package/commands/gsd/gsd-plan-phase.md +3 -1
- package/commands/gsd/gsd-plant-seed.md +28 -0
- package/commands/gsd/gsd-pr-branch.md +25 -0
- package/commands/gsd/gsd-profile-user.md +46 -0
- package/commands/gsd/gsd-quick.md +4 -2
- package/commands/gsd/gsd-reapply-patches.md +10 -6
- package/commands/gsd/gsd-remove-workspace.md +26 -0
- package/commands/gsd/gsd-research-phase.md +5 -0
- package/commands/gsd/gsd-resume-work.md +1 -1
- package/commands/gsd/gsd-review-backlog.md +61 -0
- package/commands/gsd/gsd-review.md +37 -0
- package/commands/gsd/gsd-session-report.md +19 -0
- package/commands/gsd/gsd-set-profile.md +24 -23
- package/commands/gsd/gsd-ship.md +23 -0
- package/commands/gsd/gsd-stats.md +18 -0
- package/commands/gsd/gsd-thread.md +127 -0
- package/commands/gsd/gsd-ui-phase.md +34 -0
- package/commands/gsd/gsd-ui-review.md +32 -0
- package/commands/gsd/gsd-workstreams.md +66 -0
- package/get-shit-done/bin/gsd-tools.cjs +410 -84
- package/get-shit-done/bin/lib/commands.cjs +429 -18
- package/get-shit-done/bin/lib/config.cjs +318 -45
- package/get-shit-done/bin/lib/core.cjs +822 -84
- package/get-shit-done/bin/lib/frontmatter.cjs +78 -41
- package/get-shit-done/bin/lib/init.cjs +836 -104
- package/get-shit-done/bin/lib/milestone.cjs +44 -33
- package/get-shit-done/bin/lib/model-profiles.cjs +68 -0
- package/get-shit-done/bin/lib/phase.cjs +293 -306
- package/get-shit-done/bin/lib/profile-output.cjs +952 -0
- package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
- package/get-shit-done/bin/lib/roadmap.cjs +55 -24
- package/get-shit-done/bin/lib/security.cjs +382 -0
- package/get-shit-done/bin/lib/state.cjs +363 -53
- package/get-shit-done/bin/lib/template.cjs +2 -2
- package/get-shit-done/bin/lib/uat.cjs +282 -0
- package/get-shit-done/bin/lib/verify.cjs +104 -36
- package/get-shit-done/bin/lib/workstream.cjs +491 -0
- package/get-shit-done/references/checkpoints.md +12 -10
- package/get-shit-done/references/decimal-phase-calculation.md +2 -3
- package/get-shit-done/references/git-integration.md +47 -0
- package/get-shit-done/references/model-profile-resolution.md +2 -0
- package/get-shit-done/references/model-profiles.md +62 -16
- package/get-shit-done/references/phase-argument-parsing.md +2 -2
- package/get-shit-done/references/planning-config.md +3 -1
- package/get-shit-done/references/user-profiling.md +681 -0
- package/get-shit-done/references/workstream-flag.md +58 -0
- package/get-shit-done/templates/UAT.md +21 -3
- package/get-shit-done/templates/UI-SPEC.md +100 -0
- package/get-shit-done/templates/claude-md.md +122 -0
- package/get-shit-done/templates/config.json +10 -3
- package/get-shit-done/templates/context.md +61 -6
- package/get-shit-done/templates/dev-preferences.md +21 -0
- package/get-shit-done/templates/discussion-log.md +63 -0
- package/get-shit-done/templates/phase-prompt.md +46 -5
- package/get-shit-done/templates/project.md +2 -0
- package/get-shit-done/templates/state.md +2 -2
- package/get-shit-done/templates/user-profile.md +146 -0
- package/get-shit-done/workflows/add-phase.md +2 -2
- package/get-shit-done/workflows/add-tests.md +4 -4
- package/get-shit-done/workflows/add-todo.md +3 -3
- package/get-shit-done/workflows/audit-milestone.md +13 -5
- package/get-shit-done/workflows/audit-uat.md +109 -0
- package/get-shit-done/workflows/autonomous.md +891 -0
- package/get-shit-done/workflows/check-todos.md +2 -2
- package/get-shit-done/workflows/cleanup.md +4 -4
- package/get-shit-done/workflows/complete-milestone.md +9 -6
- package/get-shit-done/workflows/diagnose-issues.md +15 -3
- package/get-shit-done/workflows/discovery-phase.md +2 -2
- package/get-shit-done/workflows/discuss-phase-assumptions.md +653 -0
- package/get-shit-done/workflows/discuss-phase.md +411 -38
- package/get-shit-done/workflows/do.md +104 -0
- package/get-shit-done/workflows/execute-phase.md +405 -18
- package/get-shit-done/workflows/execute-plan.md +77 -12
- package/get-shit-done/workflows/fast.md +105 -0
- package/get-shit-done/workflows/forensics.md +265 -0
- package/get-shit-done/workflows/health.md +28 -6
- package/get-shit-done/workflows/help.md +124 -7
- package/get-shit-done/workflows/insert-phase.md +2 -2
- package/get-shit-done/workflows/list-phase-assumptions.md +2 -2
- package/get-shit-done/workflows/list-workspaces.md +56 -0
- package/get-shit-done/workflows/manager.md +362 -0
- package/get-shit-done/workflows/map-codebase.md +74 -13
- package/get-shit-done/workflows/milestone-summary.md +223 -0
- package/get-shit-done/workflows/new-milestone.md +120 -18
- package/get-shit-done/workflows/new-project.md +178 -39
- package/get-shit-done/workflows/new-workspace.md +237 -0
- package/get-shit-done/workflows/next.md +97 -0
- package/get-shit-done/workflows/node-repair.md +92 -0
- package/get-shit-done/workflows/note.md +156 -0
- package/get-shit-done/workflows/pause-work.md +62 -8
- package/get-shit-done/workflows/plan-milestone-gaps.md +4 -5
- package/get-shit-done/workflows/plan-phase.md +332 -33
- package/get-shit-done/workflows/plant-seed.md +169 -0
- package/get-shit-done/workflows/pr-branch.md +129 -0
- package/get-shit-done/workflows/profile-user.md +450 -0
- package/get-shit-done/workflows/progress.md +145 -20
- package/get-shit-done/workflows/quick.md +205 -49
- package/get-shit-done/workflows/remove-phase.md +2 -2
- package/get-shit-done/workflows/remove-workspace.md +90 -0
- package/get-shit-done/workflows/research-phase.md +11 -3
- package/get-shit-done/workflows/resume-project.md +35 -16
- package/get-shit-done/workflows/review.md +228 -0
- package/get-shit-done/workflows/session-report.md +146 -0
- package/get-shit-done/workflows/set-profile.md +2 -2
- package/get-shit-done/workflows/settings.md +80 -11
- package/get-shit-done/workflows/ship.md +228 -0
- package/get-shit-done/workflows/stats.md +60 -0
- package/get-shit-done/workflows/transition.md +147 -20
- package/get-shit-done/workflows/ui-phase.md +302 -0
- package/get-shit-done/workflows/ui-review.md +165 -0
- package/get-shit-done/workflows/update.md +108 -25
- package/get-shit-done/workflows/validate-phase.md +15 -8
- package/get-shit-done/workflows/verify-phase.md +16 -5
- package/get-shit-done/workflows/verify-work.md +72 -18
- package/package.json +1 -1
- package/skills/gsd-audit-milestone/SKILL.md +29 -0
- package/skills/gsd-cleanup/SKILL.md +19 -0
- package/skills/gsd-complete-milestone/SKILL.md +131 -0
- package/skills/gsd-discuss-phase/SKILL.md +54 -0
- package/skills/gsd-execute-phase/SKILL.md +49 -0
- package/skills/gsd-plan-phase/SKILL.md +37 -0
- package/skills/gsd-ui-phase/SKILL.md +24 -0
- package/skills/gsd-ui-review/SKILL.md +24 -0
- package/skills/gsd-verify-work/SKILL.md +30 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Developer Profile
|
|
2
|
+
|
|
3
|
+
> This profile was generated from session analysis. It contains behavioral directives
|
|
4
|
+
> for OpenCode to follow when working with this developer. HIGH confidence dimensions
|
|
5
|
+
> should be acted on directly. LOW confidence dimensions should be approached with
|
|
6
|
+
> hedging ("Based on your profile, I'll try X -- let me know if that's off").
|
|
7
|
+
|
|
8
|
+
**Generated:** {{generated_at}}
|
|
9
|
+
**Source:** {{data_source}}
|
|
10
|
+
**Projects Analyzed:** {{projects_list}}
|
|
11
|
+
**Messages Analyzed:** {{message_count}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Quick Reference
|
|
16
|
+
|
|
17
|
+
{{summary_instructions}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Communication Style
|
|
22
|
+
|
|
23
|
+
**Rating:** {{communication_style.rating}} | **Confidence:** {{communication_style.confidence}}
|
|
24
|
+
|
|
25
|
+
**Directive:** {{communication_style.claude_instruction}}
|
|
26
|
+
|
|
27
|
+
{{communication_style.summary}}
|
|
28
|
+
|
|
29
|
+
**Evidence:**
|
|
30
|
+
|
|
31
|
+
{{communication_style.evidence}}
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Decision Speed
|
|
36
|
+
|
|
37
|
+
**Rating:** {{decision_speed.rating}} | **Confidence:** {{decision_speed.confidence}}
|
|
38
|
+
|
|
39
|
+
**Directive:** {{decision_speed.claude_instruction}}
|
|
40
|
+
|
|
41
|
+
{{decision_speed.summary}}
|
|
42
|
+
|
|
43
|
+
**Evidence:**
|
|
44
|
+
|
|
45
|
+
{{decision_speed.evidence}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Explanation Depth
|
|
50
|
+
|
|
51
|
+
**Rating:** {{explanation_depth.rating}} | **Confidence:** {{explanation_depth.confidence}}
|
|
52
|
+
|
|
53
|
+
**Directive:** {{explanation_depth.claude_instruction}}
|
|
54
|
+
|
|
55
|
+
{{explanation_depth.summary}}
|
|
56
|
+
|
|
57
|
+
**Evidence:**
|
|
58
|
+
|
|
59
|
+
{{explanation_depth.evidence}}
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Debugging Approach
|
|
64
|
+
|
|
65
|
+
**Rating:** {{debugging_approach.rating}} | **Confidence:** {{debugging_approach.confidence}}
|
|
66
|
+
|
|
67
|
+
**Directive:** {{debugging_approach.claude_instruction}}
|
|
68
|
+
|
|
69
|
+
{{debugging_approach.summary}}
|
|
70
|
+
|
|
71
|
+
**Evidence:**
|
|
72
|
+
|
|
73
|
+
{{debugging_approach.evidence}}
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## UX Philosophy
|
|
78
|
+
|
|
79
|
+
**Rating:** {{ux_philosophy.rating}} | **Confidence:** {{ux_philosophy.confidence}}
|
|
80
|
+
|
|
81
|
+
**Directive:** {{ux_philosophy.claude_instruction}}
|
|
82
|
+
|
|
83
|
+
{{ux_philosophy.summary}}
|
|
84
|
+
|
|
85
|
+
**Evidence:**
|
|
86
|
+
|
|
87
|
+
{{ux_philosophy.evidence}}
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Vendor Philosophy
|
|
92
|
+
|
|
93
|
+
**Rating:** {{vendor_philosophy.rating}} | **Confidence:** {{vendor_philosophy.confidence}}
|
|
94
|
+
|
|
95
|
+
**Directive:** {{vendor_philosophy.claude_instruction}}
|
|
96
|
+
|
|
97
|
+
{{vendor_philosophy.summary}}
|
|
98
|
+
|
|
99
|
+
**Evidence:**
|
|
100
|
+
|
|
101
|
+
{{vendor_philosophy.evidence}}
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Frustration Triggers
|
|
106
|
+
|
|
107
|
+
**Rating:** {{frustration_triggers.rating}} | **Confidence:** {{frustration_triggers.confidence}}
|
|
108
|
+
|
|
109
|
+
**Directive:** {{frustration_triggers.claude_instruction}}
|
|
110
|
+
|
|
111
|
+
{{frustration_triggers.summary}}
|
|
112
|
+
|
|
113
|
+
**Evidence:**
|
|
114
|
+
|
|
115
|
+
{{frustration_triggers.evidence}}
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Learning Style
|
|
120
|
+
|
|
121
|
+
**Rating:** {{learning_style.rating}} | **Confidence:** {{learning_style.confidence}}
|
|
122
|
+
|
|
123
|
+
**Directive:** {{learning_style.claude_instruction}}
|
|
124
|
+
|
|
125
|
+
{{learning_style.summary}}
|
|
126
|
+
|
|
127
|
+
**Evidence:**
|
|
128
|
+
|
|
129
|
+
{{learning_style.evidence}}
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Profile Metadata
|
|
134
|
+
|
|
135
|
+
| Field | Value |
|
|
136
|
+
|-------|-------|
|
|
137
|
+
| Profile Version | {{profile_version}} |
|
|
138
|
+
| Generated | {{generated_at}} |
|
|
139
|
+
| Source | {{data_source}} |
|
|
140
|
+
| Projects | {{projects_count}} |
|
|
141
|
+
| Messages | {{message_count}} |
|
|
142
|
+
| Dimensions Scored | {{dimensions_scored}}/8 |
|
|
143
|
+
| High Confidence | {{high_confidence_count}} |
|
|
144
|
+
| Medium Confidence | {{medium_confidence_count}} |
|
|
145
|
+
| Low Confidence | {{low_confidence_count}} |
|
|
146
|
+
| Sensitive Content Excluded | {{sensitive_excluded_summary}} |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Add a new integer phase to the end of the current milestone in the roadmap. Automatically calculates next phase number, creates phase directory, and updates roadmap structure.
|
|
3
|
-
</
|
|
3
|
+
</objective>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Generate unit and E2E tests for a completed phase based on its SUMMARY.md, CONTEXT.md, and implementation. Classifies each changed file into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
|
|
3
3
|
|
|
4
4
|
Users currently hand-craft `/gsd-quick` prompts for test generation after each phase. This workflow standardizes the process with proper classification, quality gates, and gap reporting.
|
|
5
|
-
</
|
|
5
|
+
</objective>
|
|
6
6
|
|
|
7
7
|
<required_reading>
|
|
8
8
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
@@ -146,7 +146,7 @@ find . -type d -name "*test*" -o -name "*spec*" -o -name "*__tests__*" 2>/dev/nu
|
|
|
146
146
|
# Find existing test files for convention matching
|
|
147
147
|
find . -type f \( -name "*.test.*" -o -name "*.spec.*" -o -name "*Tests.fs" -o -name "*Test.fs" \) 2>/dev/null | head -20
|
|
148
148
|
# Check for test runners
|
|
149
|
-
ls package.json *.sln 2>/dev/null
|
|
149
|
+
ls package.json *.sln 2>/dev/null || true
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
Identify:
|
|
@@ -243,7 +243,7 @@ For each approved E2E test:
|
|
|
243
243
|
|
|
244
244
|
1. **Check for existing tests** covering the same scenario:
|
|
245
245
|
```bash
|
|
246
|
-
grep -r "{scenario keyword}" {e2e test directory} 2>/dev/null
|
|
246
|
+
grep -r "{scenario keyword}" {e2e test directory} 2>/dev/null || true
|
|
247
247
|
```
|
|
248
248
|
If found, extend rather than duplicate.
|
|
249
249
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Capture an idea, task, or issue that surfaces during a GSD session as a structured todo for later work. Enables "thought → capture → continue" flow without losing context.
|
|
3
|
-
</
|
|
3
|
+
</objective>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
@@ -63,7 +63,7 @@ Use existing area from step 2 if similar match exists.
|
|
|
63
63
|
<step name="check_duplicates">
|
|
64
64
|
```bash
|
|
65
65
|
# Search for key words from title in existing todos
|
|
66
|
-
grep -l -i "[key words from title]" .planning/todos/pending/*.md 2>/dev/null
|
|
66
|
+
grep -l -i "[key words from title]" .planning/todos/pending/*.md 2>/dev/null || true
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
If potential duplicate found:
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Verify milestone achieved its definition of done by aggregating phase verifications, checking cross-phase integration, and assessing requirements coverage. 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.
|
|
3
|
-
</
|
|
3
|
+
</objective>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
7
|
</required_reading>
|
|
8
8
|
|
|
9
|
+
<available_agent_types>
|
|
10
|
+
Valid GSD subagent types (use exact names — do not fall back to 'general'):
|
|
11
|
+
- gsd-integration-checker — Checks cross-phase integration
|
|
12
|
+
</available_agent_types>
|
|
13
|
+
|
|
9
14
|
<process>
|
|
10
15
|
|
|
11
16
|
## 0. Initialize Milestone Context
|
|
@@ -13,6 +18,7 @@ read all files referenced by the invoking prompt's execution_context before star
|
|
|
13
18
|
```bash
|
|
14
19
|
INIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" init milestone-op)
|
|
15
20
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
21
|
+
AGENT_SKILLS_CHECKER=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-integration-checker 2>/dev/null)
|
|
16
22
|
```
|
|
17
23
|
|
|
18
24
|
Extract from init JSON: `milestone_version`, `milestone_name`, `phase_count`, `completed_phases`, `commit_docs`.
|
|
@@ -73,7 +79,8 @@ Milestone Requirements:
|
|
|
73
79
|
|
|
74
80
|
MUST map each integration finding to affected requirement IDs where applicable.
|
|
75
81
|
|
|
76
|
-
Verify cross-phase wiring and E2E user flows.
|
|
82
|
+
Verify cross-phase wiring and E2E user flows.
|
|
83
|
+
${AGENT_SKILLS_CHECKER}",
|
|
77
84
|
subagent_type="gsd-integration-checker",
|
|
78
85
|
model="{integration_checker_model}"
|
|
79
86
|
)
|
|
@@ -105,7 +112,8 @@ For each phase's VERIFICATION.md, extract the expanded requirements table:
|
|
|
105
112
|
For each phase's SUMMARY.md, extract `requirements-completed` from YAML frontmatter:
|
|
106
113
|
```bash
|
|
107
114
|
for summary in .planning/phases/*-*/*-SUMMARY.md; do
|
|
108
|
-
|
|
115
|
+
[ -e "$summary" ] || continue
|
|
116
|
+
node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$summary" --fields requirements_completed --pick requirements_completed
|
|
109
117
|
done
|
|
110
118
|
```
|
|
111
119
|
|
|
@@ -133,7 +141,7 @@ For each REQ-ID, determine status using all three sources:
|
|
|
133
141
|
Skip if `workflow.nyquist_validation` is explicitly `false` (absent = enabled).
|
|
134
142
|
|
|
135
143
|
```bash
|
|
136
|
-
NYQUIST_CONFIG=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config
|
|
144
|
+
NYQUIST_CONFIG=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-get workflow.nyquist_validation --raw 2>/dev/null)
|
|
137
145
|
```
|
|
138
146
|
|
|
139
147
|
If `false`: skip entirely.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<objective>
|
|
2
|
+
Cross-phase audit of all UAT and verification files. Finds every outstanding item (pending, skipped, blocked, human_needed), optionally verifies against the codebase to detect stale docs, and produces a prioritized human test plan.
|
|
3
|
+
</objective>
|
|
4
|
+
|
|
5
|
+
<process>
|
|
6
|
+
|
|
7
|
+
<step name="initialize">
|
|
8
|
+
Run the CLI audit:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
AUDIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" audit-uat --raw)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Parse JSON for `results` array and `summary` object.
|
|
15
|
+
|
|
16
|
+
If `summary.total_items` is 0:
|
|
17
|
+
```
|
|
18
|
+
## All Clear
|
|
19
|
+
|
|
20
|
+
No outstanding UAT or verification items found across all phases.
|
|
21
|
+
All tests are passing, resolved, or diagnosed with fix plans.
|
|
22
|
+
```
|
|
23
|
+
Stop here.
|
|
24
|
+
</step>
|
|
25
|
+
|
|
26
|
+
<step name="categorize">
|
|
27
|
+
Group items by what's actionable NOW vs. what needs prerequisites:
|
|
28
|
+
|
|
29
|
+
**Testable Now** (no external dependencies):
|
|
30
|
+
- `pending` — tests never run
|
|
31
|
+
- `human_uat` — human verification items
|
|
32
|
+
- `skipped_unresolved` — skipped without clear blocking reason
|
|
33
|
+
|
|
34
|
+
**Needs Prerequisites:**
|
|
35
|
+
- `server_blocked` — needs external server running
|
|
36
|
+
- `device_needed` — needs physical device (not simulator)
|
|
37
|
+
- `build_needed` — needs release/preview build
|
|
38
|
+
- `third_party` — needs external service configuration
|
|
39
|
+
|
|
40
|
+
For each item in "Testable Now", use grep/read to check if the underlying feature still exists in the codebase:
|
|
41
|
+
- If the test references a component/function that no longer exists → mark as `stale`
|
|
42
|
+
- If the test references code that has been significantly rewritten → mark as `needs_update`
|
|
43
|
+
- Otherwise → mark as `active`
|
|
44
|
+
</step>
|
|
45
|
+
|
|
46
|
+
<step name="present">
|
|
47
|
+
Present the audit report:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
## UAT Audit Report
|
|
51
|
+
|
|
52
|
+
**{total_items} outstanding items across {total_files} files in {phase_count} phases**
|
|
53
|
+
|
|
54
|
+
### Testable Now ({count})
|
|
55
|
+
|
|
56
|
+
| # | Phase | Test | Description | Status |
|
|
57
|
+
|---|-------|------|-------------|--------|
|
|
58
|
+
| 1 | {phase} | {test_name} | {expected} | {active/stale/needs_update} |
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
### Needs Prerequisites ({count})
|
|
62
|
+
|
|
63
|
+
| # | Phase | Test | Blocked By | Description |
|
|
64
|
+
|---|-------|------|------------|-------------|
|
|
65
|
+
| 1 | {phase} | {test_name} | {category} | {expected} |
|
|
66
|
+
...
|
|
67
|
+
|
|
68
|
+
### Stale (can be closed) ({count})
|
|
69
|
+
|
|
70
|
+
| # | Phase | Test | Why Stale |
|
|
71
|
+
|---|-------|------|-----------|
|
|
72
|
+
| 1 | {phase} | {test_name} | {reason} |
|
|
73
|
+
...
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Recommended Actions
|
|
78
|
+
|
|
79
|
+
1. **Close stale items:** `/gsd-verify-work {phase}` — mark stale tests as resolved
|
|
80
|
+
2. **Run active tests:** Human UAT test plan below
|
|
81
|
+
3. **When prerequisites met:** Retest blocked items with `/gsd-verify-work {phase}`
|
|
82
|
+
```
|
|
83
|
+
</step>
|
|
84
|
+
|
|
85
|
+
<step name="test_plan">
|
|
86
|
+
Generate a human UAT test plan for "Testable Now" + "active" items only:
|
|
87
|
+
|
|
88
|
+
Group by what can be tested together (same screen, same feature, same prerequisite):
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
## Human UAT Test Plan
|
|
92
|
+
|
|
93
|
+
### Group 1: {category — e.g., "Billing Flow"}
|
|
94
|
+
Prerequisites: {what needs to be running/configured}
|
|
95
|
+
|
|
96
|
+
1. **{Test name}** (Phase {N})
|
|
97
|
+
- Navigate to: {where}
|
|
98
|
+
- Do: {action}
|
|
99
|
+
- Expected: {expected behavior}
|
|
100
|
+
|
|
101
|
+
2. **{Test name}** (Phase {N})
|
|
102
|
+
...
|
|
103
|
+
|
|
104
|
+
### Group 2: {category}
|
|
105
|
+
...
|
|
106
|
+
```
|
|
107
|
+
</step>
|
|
108
|
+
|
|
109
|
+
</process>
|