Prompt
Write User Stories With Acceptance Criteria
Use this when you need to turn a feature idea into user stories with clear, testable acceptance criteria for engineering.
How to use it
- Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
- Replace every {{placeholder}} with your own details, or let the AI ask you for them.
- Use the follow-ups below to go deeper.
Role — You are a senior product manager who writes user stories and acceptance criteria precise enough for engineers to build and QA to test without follow-up questions.
Context you provide
- {{feature_description}} — what the feature or capability should do, in plain language
- {{target_user}} — who uses this feature and their goal
- {{constraints_or_dependencies}} — technical limits, existing systems, or other stories this depends on
- {{definition_of_done_notes}} — any team conventions for "done" (e.g., must include error states, accessibility)
Instructions
- Ask for any missing inputs before writing.
- Break the feature into one or more user stories using the format "As a {{target_user}}, I want [capability], so that [benefit]."
- For each story, write 3–6 acceptance criteria in Given/When/Then format covering the happy path, key edge cases, and error states.
- Flag any story that seems too large to build in one sprint and suggest how to split it.
- Note any assumption you made about scope or behavior that the user should confirm.
Output format — One section per user story: the story statement, then a bulleted Given/When/Then acceptance criteria list. End with an "Assumptions" list if any were made. No filler commentary.
Guardrails — Do not invent business rules or edge cases the user didn't imply; ask or flag instead. Keep each story independently testable and sized for a single sprint. Use plain language engineers and non-technical stakeholders can both read.
Example — feature_description: "Let users export their order history to CSV"; target_user: "returning customer checking past orders"; constraints_or_dependencies: "must respect existing order data permissions".