{"id":"pm-user-stories-given-when-then","audience":"product-managers","category":"planning","track":"productivity","technique":"format","title":"Turn a feature request into user stories with criteria","free":false,"task":"Engineering wants user stories for the first version of the break-reminder feature. You need exactly 3 numbered stories in the form 'As a [role], I want [goal] so that [reason]', each followed by exactly 2 acceptance criteria lines starting with '- Given', plain text. Write them for the specific roles in the request, not a generic 'user', and leave out anything the notes say is not in v1.","materialLabel":"The feature request (attached to your prompt automatically)","material":"Feature request: Break reminders (Shiftly app)\nFrom: Nora Pike, PM. Reviewed with eng lead Sam on Oct 21.\n\nBackground: Shift workers at our restaurant customers often skip breaks during a rush. Shift supervisors get blamed when breaks are missed, and store owners want a record of breaks taken.\n\nWhat people asked for:\n- Shift workers: a phone reminder when their break is due, based on their shift start time.\n- Shift workers: a one-tap \"Start break\" / \"End break\" button.\n- Shift supervisors: an alert if someone on their shift is 15 minutes past their break due time and hasn't started it.\n- Store owners: a weekly report of breaks taken vs. due, as a PDF.\n- Store owners: export of break data to their payroll provider.\n\nDecisions from the Oct 21 review:\n- v1 = reminder, one-tap button, supervisor alert.\n- Weekly PDF report and payroll export are NOT in v1 (moved to Q2).\n- Reminder fires 5 minutes before the break is due (earlier draft said 10; Sam changed it to 5).\n- Supervisor alert goes to the supervisor's phone only, not to the owner.\n\nOpen question (not decided): should workers be able to snooze a reminder?","rules":[{"type":"numberedItems","count":3},{"type":"plainText"}],"mistakes":[{"title":"Saying 'write user stories'","why":"The AI writes one story per idea in the notes, often 6 or more, with bold headings.","fix":"Be exact: \"Exactly 3 numbered stories, each followed by 2 lines starting '- Given'. Plain text.\"","checks":["numberedItems","plainText"]},{"title":"Generic 'As a user'","why":"Without a nudge, the AI often writes 'As a user', which tells engineering nothing.","fix":"Add: \"Use the real roles: shift worker or shift supervisor.\"","checks":["r0"]},{"title":"No criteria shape","why":"The AI writes vague criteria like 'works well on mobile' or a long checklist.","fix":"Show it: \"Exactly 2 criteria per story, each like '- Given..., when..., then...'\"","checks":["r1"]},{"title":"Including what was cut","why":"The cut items are still in the notes, and the AI writes stories for everything.","fix":"Add: \"Only the v1 items from the Oct 21 decisions. Skip anything marked not in v1 or undecided.\"","checks":["r2","r0"]}],"promptHints":[{"label":"Sets the number of stories","patterns":["\\b(3|three)\\b.{0,20}stor"]},{"label":"Shows the criteria shape","patterns":["given","acceptance criteria","criteria"]},{"label":"Names the real roles","patterns":["supervisor","shift worker","role"]},{"label":"Limits to v1","patterns":["v1","version 1","not in v1","scope","cut"]},{"label":"Asks for plain text","patterns":["plain","no bold","no markdown","no formatting","no headings"]}],"hint":"Engineering builds what the stories say. Tell the AI how many stories, the exact shape of each criterion, which roles to use, and that only v1 is in scope.","rubricLabels":["Each of the 3 stories uses a specific role from the request (shift worker or shift supervisor), never a generic 'user', and covers only the v1 items (reminder, one-tap start/end break, supervisor alert)","Each story is followed by exactly 2 acceptance criteria lines in Given/When/Then form, and if the reminder timing appears it says 5 minutes before the break is due (not 10)","Leaves out the weekly PDF report, payroll export and snooze, and adds no intro, notes or open questions section"]}