Skip to content

Turn a user story into testable acceptance criteria

Given/When/Then acceptance criteria for one user story — happy path, edge cases, and error states — plus an explicit list of what the model couldn't infer and needs you to decide.

Works in any frontier model — ChatGPT, Claude, Gemini

The prompt

Convert the user story below into acceptance criteria an engineer could
build against and a tester could verify.

Output three sections:

1. HAPPY PATH — the main success scenarios, each in Given / When / Then form.
2. EDGE CASES — boundary conditions, empty/max states, permissions,
   concurrency, and anything unusual but valid, each in Given / When / Then.
3. ERROR STATES — what the system does when something goes wrong (bad input,
   timeouts, unauthorized, not-found), each in Given / When / Then, including
   the message or behavior the user should see.

Then a final section:

4. CANNOT INFER — everything you needed to know but the story didn't tell
   you: specific numbers, thresholds, business rules, permission models, or
   downstream effects. Phrase each as a direct question to me.

Hard rules:
- Do NOT invent business rules, limits, thresholds, or policies. If the story
  doesn't state it, it goes in CANNOT INFER as a question — never assume a
  value and write a criterion around it.
- Keep each Given/When/Then concrete and singular — one behavior per
  criterion, no "and also."

User story:
"""
<paste one user story, e.g. "As a <role>, I want <capability> so that <outcome>">
"""
Built-in guardrail: Refuses to invent business rules, limits, or policies — anything the story doesn't state is routed to a "Cannot infer" question list instead of becoming a fabricated criterion.

Then

Answer the "Cannot infer" questions yourself (that's the real product thinking), then reply "fold my answers in and regenerate the criteria" — what returns is buildable.

Field-tested Jul 25, 2026. If it stops working, tell us.