Skip to content

Repository files navigation

Human UAT Kit

A universal prompt kit that turns a capable AI coding agent into a merciless simulated user-acceptance-test department, plus an adversarial tester, for any game or commercial software product.

Point an AI agent (Claude Code or any comparable tool with repo and shell access) at your project, hand it this kit, and it runs a structured pre-release review: an architecture and code-health statement, an adversarial robustness pass over inputs, saves, locales, and clocks, a fleet of simulated users at scale, slow think-aloud sessions that test the experience rather than the spec, a simulated user panel spanning your market, and a release-readiness verdict with a ranked checklist of exactly what still needs human eyes.

The kit was distilled from a real, full-depth pre-launch UAT of a commercial desktop product. The methods survived contact with reality; the product specifics did not come along. The prompt speaks in product-neutral abstractions (sessions, completion, resources, teaching) that a translation table instantiates per product type, so the same run adapts to a CRM, a puzzle game, an invoicing SaaS, or a CLI, and per interaction modality: pointer, touch, controller, terminal, voice, or API-only.

Why this exists

Conventional automated review verifies that code matches its spec. The defect class that actually generates refunds and bad reviews lives elsewhere: parts that are individually correct but incoherent together, counters that stop meaning what users read them to mean, completion flows that silently discard what the user was still working toward, tools that fight the user's intent. In the field, a thirty-minute human session found four such defects that a maximum-depth automated review had missed. This kit exists to catch that class by construction, not by luck; the story and the reasoning are in METHOD-NOTES.md.

Four ideas do most of the work:

  • The two-context architecture. The run splits into an Operator that reads everything (code, specs, internal docs) to build and drive, and a Tester that receives only what a real user could know. Project context divides into operational (how to act: safe to absorb) and normative (what should happen: the audit subject, poison to expectations), and with AI subagents the separation is enforced by construction, not discipline: a clean-room agent cannot be contaminated by documents that were never in its prompt.
  • The user charter, written before the docs. The Tester enumerates what any reasonable user of the product category would expect, BEFORE contact with any internal document, and those expectations outrank the spec. Where the docs and the charter disagree, the disagreement is the finding.
  • The expectation loop. Every action is preceded by a written expectation with a cited source, then executed against the real product, then diffed. Surprises cannot be rationalized away after the fact, and "the spec says so" never closes a finding.
  • The independent oracle. Nothing is verified against expectations derived from the code under test, and every dramatic finding survives an adversarial refutation attempt before it reaches the report.

What is in the kit

File What it is
UAT-PROMPT.md The universal prompt: seven phases (0 through 6), rules of engagement, and the definition of done. This is what you hand to the agent.
PROJECT-PROFILE.template.md The input file. Copy to PROJECT-PROFILE.md, fill in what you know; the run asks for the rest interactively.
ADVERSARIAL-INPUT-CATALOG.md The ammunition list: ten families of hostile input and state abuse, applied to every input and persistence surface your profile names.
METHOD-NOTES.md Field notes: why each rule exists, the traps the method itself fell into, and the guards that fixed them.

Quick start

  1. Clone or download this repo, then copy the four kit files (UAT-PROMPT.md, PROJECT-PROFILE.template.md, ADVERSARIAL-INPUT-CATALOG.md, METHOD-NOTES.md) into your project (a uat/ folder is fine; anywhere works, as long as they stay together).

  2. Copy PROJECT-PROFILE.template.md to PROJECT-PROFILE.md beside UAT-PROMPT.md (the run looks there first, then searches the repo) and fill it in. The single most important section is the drive surface: how an AI can execute real user actions on your product without a screen (a public API, a service layer, a CLI, a test harness). The run is only as deep as this surface. If you skip the profile entirely, the run interviews you at the start.

  3. Tell your agent:

    Execute UAT-PROMPT.md in full, at maximum effort.

    Or run a subset (the prompt's appendix maps goals to phases):

    Execute UAT-PROMPT.md, Phases 0 through 2 only.

Reports land in docs/uat/ (configurable), on a dedicated review branch. The run never touches your default branch, your task tracker, or anything on the profile's no-touch list.

What you get

Phase Deliverable
0 Intake A verified environment, a green (or honestly red) baseline, a review branch
1 Architecture A ten-minute code-health statement: boundaries, coverage map, doc drift, extensibility probes
2 Robustness A findings table from hostile input, locale/clock/persistence abuse, plus small test-backed fixes
3 Fleet Telemetry from hundreds of simulated sessions; every marketing claim measured; a rerunnable harness that becomes your standing regression gate
4 Think-aloud The experience findings: expectation-vs-observation diffs, unmet wants, a verified-working ledger
5 Panel A synthesized market read from 9+ personas: frictions, delighters, price expectations, segmentation
6 Verdict A three-axis release verdict with confidence grades, a ranked human checklist, and consolidated recommendations

What it will not do

  • See pixels, feel input, hear audio. Every judgment in those domains is labeled [PROXY] and routed to a ranked checklist for you. The kit's promise is that your limited human testing hours get spent only where humans are irreplaceable.
  • Replace user research. It arrives at human testing with everything findable already found; it does not substitute for it.
  • Attack systems you do not own. The adversarial catalog is for testing your own product's robustness in development environments. The profile's no-touch list (production, real payments, real recipients, releases) is binding on every phase.

Requirements

  • An AI coding agent that can read your repo, run shell commands, and (ideally) spawn subagents. The prompt is agent-agnostic; it was developed and battle-tested with Claude Code.
  • A way to drive your product's logic headlessly. If you do not have one, the run will tell you the cheapest one to build; it is the best testing investment most products can make.
  • Budget awareness: the full seven-phase run is deliberately expensive (it stands in for a test department, and it spends tokens like one). The appendix's subset table is the answer when you want less.

Adapting it

The prompt reads all product specifics from the profile, so most adaptation is filling in the template honestly. The prompt's "One vocabulary, many products" table does the rest: every abstract concept (a session, completion, resources, teaching, recurring hooks) carries its game instantiation and its business-software instantiation side by side, and your product type plus your critical flows select the column. Games lean on the persona cast, the economy probes, and the completion/reward audits; business software leans on the business-logic flows ("walk the money"), the form-input families, the concurrency/identity vectors, and the administrator/power-user personas. Interaction modalities adapt the same way: the input tests instantiate for pointer, touch, focus-only navigation, or terminal, per what the profile declares. A concept your product lacks is recorded as N/A, never silently skipped. Both worlds get the full expectation-loop treatment: an invoice total that silently stops matching its line items and a resource counter that fails to zero at completion are the same defect wearing different clothes.

Contributing

Issues and PRs welcome, especially: new adversarial input families with the failure class they catch, charter clauses that earned their keep on a real product, and tester traps (with guards) from your own runs. Keep contributions generic: no product-specific content.

License

MIT.

About

A universal prompt kit that turns an AI coding agent into a simulated human UAT department and adversarial tester, for games and commercial software.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors