uat-guide
Expand a UAT journey into click-by-click tester instructions, then update the result log on completion
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- uat-guide
- type
- analysis
- version
- v0.6
- description
- Expand a UAT journey into click-by-click tester instructions, then update the result log on completion
- visual_tier
- prototype
- argument-hint
- [optional: journey number, journey name, or 'next']
- required_conventions
- [ "alignment-page" ]
02 资源文件 3
- 参考文档agents/openai.yaml247 B
- 参考文档ALIGNMENT-PAGE.md52.6 KB
- 参考文档CHANGELOG.md1.1 KB
03 SKILL.md 正文
Pack Availability Guard
Before telling the user to run a skill from another project-local pack, check .agents/project.json.enabled_packs. If the target pack is not enabled, recommend npx skillpacks install <pack> from the project shell, before the target skill. Only the currently running skill and skills verified available in the active session or project-local install state are directly recommendable. For unavailable pack skills, recommend npx skillpacks install <pack-or-skill>; for unavailable base skills, recommend npx skillpacks init before the skill.
UAT Guide
Invoke as $uat-guide.
Expand a single UAT journey from research/uat-plan.md into detailed, step-by-step tester instructions. UAT planning ($uat) produces acceptance journeys and tester checklists; this skill turns each journey into a click-by-click, command-by-command, or request-by-request checklist that a tester unfamiliar with the product can follow without ambiguity.
Do not generate UAT journeys. If no UAT plan exists, stop and recommend $uat from the product-testing pack.
Process
-
Locate UAT plan
- Read
research/uat-plan.md. - If the file does not exist, stop and tell the user: "No UAT plan found. Run
$uatfirst to generate acceptance journeys."
- Read
-
Select journey
- Parse all
### Journey N:headings and their#### UAT result logstatus fields. - If
$ARGUMENTSis non-empty, match by journey number or name (case-insensitive substring match). - If
$ARGUMENTSisnextor empty, pick the first journey whose status isNot run. - If all journeys have status
Pass,Fail, orBlocked, tell the user all journeys are complete and offer to re-run a specific one.
- Parse all
-
Gather project context
- Read
.agents/project.json,README.md,AGENTS.md,CLAUDE.md, relevantspecs/,docs/, andtasks/files when present. - Search the codebase for routes, UI components, CLI entry points, API endpoints, environment variables, configuration files, and navigation structure relevant to the selected journey's task sequence.
- Read
-
Detect product interface type
- Classify the product surface the journey touches:
- Web app -> click-by-click instructions (buttons, links, forms, pages).
- CLI -> command-by-command instructions (exact commands, flags, expected output).
- API -> request-by-request instructions (method, URL, headers, body, expected response).
- Hybrid -> mixed instructions matching each step's surface.
- Use the detected type to shape the instruction style for step 6.
- Classify the product surface the journey touches:
-
Research current instructions
- Use web search to find up-to-date documentation for any external services or platforms referenced in the journey (OAuth providers, third-party dashboards, payment processors, DNS registrars, etc.).
- Prioritize official documentation over blog posts.
- Service UIs change frequently -- never rely solely on prior knowledge; always search.
- If current web research is unavailable in the active environment, state that limitation clearly and keep external-service steps scoped to what local project evidence proves.
-
Expand task sequence
- For each step in the journey's task sequence, produce:
- Checklist sub-steps with exact UI elements to click, commands to run, or requests to make. Use project-specific values (URLs, routes, field names, env vars) drawn from codebase context.
- Checkpoint tied to the journey's acceptance criteria -- what the tester should observe to confirm the step succeeded.
- Evidence capture point -- what to screenshot, copy, or record at this step.
- Gotchas -- common mistakes, timing issues, or easy-to-miss details.
- Use Markdown checkboxes for every executable tester action so the user can work through the guide item by item.
- Begin the guide with a Preparation section drawn from the journey's Setup field (accounts, data, environment, permissions needed before starting).
- End the guide with a Final verification section drawn from the journey's acceptance criteria and expected success state.
- For each step in the journey's task sequence, produce:
-
Present guide
- Output the guide directly in the conversation. Do not write it to a file.
-
Collect results
- After presenting the guide, tell the user: "When you've completed this journey, let me know the result (Pass / Fail / Blocked) and any notes, and I'll update the result log."
- When the user reports completion:
- Update the
#### UAT result logsection for this journey inline inresearch/uat-plan.mdwith the reported status, evidence, tester notes, and any follow-up tasks promoted. - Check off the corresponding item in
tasks/manual-todo.md. - If the result is
FailorBlocked, suggest follow-up routing:$debugfor reproducible failures,$guidefor external blockers,$user-flow-mapfrom the product-design pack when acceptance criteria are unclear because journey flow, states, or recovery paths are underspecified,$ux-variations --layout-modewhen the unresolved issue is layout alternatives, or$uat-guide nextfor the next journey. Apply the Pack Availability Guard before recommending a skill from another pack.
- Update the
Output
## UAT Guide: Journey N -- [Journey Name]
**Target user**: [persona or role]
**User goal**: [what the user is trying to accomplish]
**Product surface**: [Web app | CLI | API | Hybrid]
### Preparation
- [Account, data, environment, or permission setup needed before starting]
- [Pre-existing state or sample data to have ready]
### Steps
#### Step 1: [Task sequence step name]
- [ ] [Exact action -- click, type, run, send]
- [ ] [Next action with specific UI element / command / request detail]
- [ ] [Observe the checkpoint before moving on]
- [ ] [Capture the named evidence]
**Checkpoint**: [What the tester should see or verify]
**Evidence**: [What to capture -- screenshot, output, response]
**Gotchas**: [Common mistake or easy-to-miss detail, if any]
#### Step 2: [Task sequence step name]
- [ ] ...
...
### Final Verification
- [ ] [Acceptance criterion from the journey]
- [ ] [Another acceptance criterion]
- [ ] Expected success state: [observable user-visible result]
### Non-Acceptance Signals
- [Confusion, delay, missing affordance, incorrect result, trust issue, or blocker to watch for]
### Tester Notes Prompt
> [Question from the journey that captures whether the target user would accept this]
---
When you've completed this journey, let me know the result (Pass / Fail / Blocked) and any notes, and I'll update the result log.
Alignment Page
Follow the shared alignment-page convention via the packaged convention resolver; output path is alignment/uat-guide-{topic}.html.
Constraints
- Always web search for external services and platforms referenced in the journey when the active environment permits web access. Service UIs change; stale steps are worse than none.
- Project-specific values -- never give generic placeholders when the codebase contains the actual values to use (URLs, routes, env vars, field names, commands).
- Read-only except result log -- this skill does not modify code. The only files it may edit are
research/uat-plan.md(result log section) andtasks/manual-todo.md(to check off a completed item), and only after the user reports completion. - No shipping contract -- updating a result log and checking off a manual-todo item is minor bookkeeping, not a code change. Do not auto-commit just for that. If other tracked changes are present, leave them for a proper shipping skill.
- One journey at a time -- guide the user through one journey per invocation. They can run
$uat-guide nextfor the next one. - Don't execute the product -- produce instructions for the user to follow. Do not start dev servers, launch browsers, call APIs, create accounts, or perform CLI workflows.
- Don't mark complete unprompted -- only update the result log after the user explicitly reports the outcome.
- Don't invent acceptance criteria -- use only the criteria defined in the UAT plan. If criteria are missing or unclear because flow, states, recovery, or handoff structure is underspecified, recommend
$user-flow-mapfrom the product-design pack; use$ux-variations --layout-modeonly when the missing decision is layout alternatives. - Handle all product surface types -- web apps get click-by-click, CLIs get command-by-command, APIs get request-by-request, hybrids get mixed. Detect from codebase context; don't assume web.
- Prerequisite: UAT plan must exist -- if
research/uat-plan.mdis missing, stop immediately and recommend$uatfrom the product-testing pack. - When recommending a skill from another pack, verify the pack is installed via
.agents/project.jsonenabled_packs. If not installed, prependnpx skillpacks install <pack-name>from the project shell, to the recommendation.
Default Shipping Contract
Follow the shared shipping contract convention in CLAUDE.md.
04 同仓库更多 Skills
source-checkout-allowed
Valid source-checkout-only fixture.
deck-install-valid
Valid deck install fixture.
codex-pack-guard-valid
Valid Codex Pack Availability Guard fixture.
codex-missing-skill-valid
Valid Codex missing skill fallback fixture.
codex-base-skill-fallback-valid
Valid Codex base skill fallback fixture.
claude-pack-guard-valid
Valid Claude Pack Availability Guard fixture.