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, GeminiThe 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.