name: gsd-audit-uat description: "Cross-phase audit of all outstanding UAT and verification items" allowed-tools:
- Read
- Glob
- Grep
- Bash
<objective> Scan all phases for pending, skipped, blocked, and human_needed UAT items. Cross-reference against codebase to detect stale documentation. Produce prioritized human test plan. </objective> <purpose> 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. </purpose> <process> <step name="initialize"> Run the CLI audit:
AUDIT=$(node "$GSD_TOOLS" audit-uat --raw)
Parse JSON for results array and summary object.
If summary.total_items is 0:
## All Clear
No outstanding UAT or verification items found across all phases.
All tests are passing, resolved, or diagnosed with fix plans.
Stop here. </step>
<step name="categorize"> Group items by what's actionable NOW vs. what needs prerequisites:Testable Now (no external dependencies):
pending— tests never runhuman_uat— human verification itemsskipped_unresolved— skipped without clear blocking reason
Needs Prerequisites:
server_blocked— needs external server runningdevice_needed— needs physical device (not simulator)build_needed— needs release/preview buildthird_party— needs external service configuration
For each item in "Testable Now", use Grep/Read to check if the underlying feature still exists in the codebase:
- If the test references a component/function that no longer exists → mark as
stale - If the test references code that has been significantly rewritten → mark as
needs_update - Otherwise → mark as
active</step>
## UAT Audit Report
**{total_items} outstanding items across {total_files} files in {phase_count} phases**
### Testable Now ({count})
| # | Phase | Test | Description | Status |
|---|-------|------|-------------|--------|
| 1 | {phase} | {test_name} | {expected} | {active/stale/needs_update} |
...
### Needs Prerequisites ({count})
| # | Phase | Test | Blocked By | Description |
|---|-------|------|------------|-------------|
| 1 | {phase} | {test_name} | {category} | {expected} |
...
### Stale (can be closed) ({count})
| # | Phase | Test | Why Stale |
|---|-------|------|-----------|
| 1 | {phase} | {test_name} | {reason} |
...
---
## Recommended Actions
1. **Close stale items:** `/gsd-verify-work {phase}` — mark stale tests as resolved
2. **Run active tests:** Human UAT test plan below
3. **When prerequisites met:** Retest blocked items with `/gsd-verify-work {phase}`
</step>
<step name="test_plan">
Generate a human UAT test plan for "Testable Now" + "active" items only:
Group by what can be tested together (same screen, same feature, same prerequisite):
## Human UAT Test Plan
### Group 1: {category — e.g., "Billing Flow"}
Prerequisites: {what needs to be running/configured}
1. **{Test name}** (Phase {N})
- Navigate to: {where}
- Do: {action}
- Expected: {expected behavior}
2. **{Test name}** (Phase {N})
...
### Group 2: {category}
...
</step>
</process>