{"id":"pro-np-food-drive-volunteer-shifts","audience":"nonprofit","category":"planning","technique":"constraints","title":"Assign food distribution volunteers without breaking the rules","free":false,"task":"You coordinate Saturday's food distribution and need to text volunteers their stations. You want exactly 6 numbered lines (3 stations x 2 shifts), each as shift - station - name, under 60 words, plain text. Each volunteer gets one slot, minors can't work the loading dock, everyone fits their availability, and use the replacement for the volunteer who canceled. Write a prompt that gets you exactly that.","materialLabel":"Your volunteer notes (attached to your prompt automatically)","material":"Westside Pantry - Saturday distribution\nShifts: 8-10 and 10-12\nStations: Check-in, Packing, Loading dock\nRule from our insurance: Loading dock volunteers must be 18 or older (forklift area).\nEach volunteer works one slot only.\n\nVolunteers signed up:\n- Ana Ruiz (17) - either shift\n- Bill Ostrowski (68) - 8-10 only, has a doctor appt later\n- Cara Jensen (34) - either shift\n- Dev Patel (16) - either shift, needs hours for school\n- Eli Brooks (45) - either shift\n- Fay Morgan (29) - 10-12 only\n\nText from Fay (Fri 7pm): \"So sorry, can't make it tomorrow, my kid is sick.\"\nText from Gus Lin (Fri 8pm): \"Fay told me you're short, I can come 10-12! I'm 52, done the loading dock before.\"\n\nOther notes:\n- Need to pick up 40 turkeys Friday\n- Thank-you lunch for volunteers in December\n- Dev's mom asked if he can be with Ana","rules":[{"type":"numberedItems","count":6},{"type":"maxWords","max":60},{"type":"plainText"}],"mistakes":[{"title":"Not stating the rules","why":"The AI fills slots in list order and puts a teen on the loading dock.","fix":"Add: \"Loading dock is 18+ only. Each person one slot.\"","checks":["r1","r0"]},{"title":"Ignoring availability","why":"The AI puts Bill in the late shift or Gus in the early one.","fix":"Add: \"Bill 8-10 only, Gus 10-12 only.\"","checks":["r1"]},{"title":"Missing the cancellation","why":"Fay is in the sign-up list, so the AI may still assign her.","fix":"Add: \"Fay canceled; Gus replaces her.\"","checks":["r2"]},{"title":"Letting the AI pick the layout","why":"The AI builds a grid table that breaks in a text message.","fix":"Be exact: \"Exactly 6 numbered lines like '1. 8-10 - Check-in - Ana'. Plain text.\"","checks":["numberedItems","plainText"]},{"title":"Trusting the AI to count words","why":"AI is bad at counting. Ask for \"under 60 words\" and it often lands well over.","fix":"Cap each part instead: \"each line under 8 words.\"","checks":["maxWords"]}],"promptHints":[{"label":"Says how many lines","patterns":["\\b(6|six)\\b"]},{"label":"States the age rule","patterns":["18","minor","age","under 18"]},{"label":"Uses availability","patterns":["only","availab","bill","8-10"]},{"label":"Handles the cancellation","patterns":["fay","cancel","gus","replace"]},{"label":"Shows the line shape","patterns":["shift.{0,5}-.{0,10}station","one slot","each (person|volunteer)"]}],"hint":"Assignments have to follow the safety rule and people's times. Spell those out, and tell the AI who canceled and who's filling in.","rubricLabels":["Has 6 lines covering each station in each shift, each giving shift, station and one name, and every volunteer appears exactly once","Neither Ana (17) nor Dev (16) is on the loading dock, Bill is only in the 8-10 shift, and Gus is only in the 10-12 shift","Fay does not appear (she canceled) and Gus fills a slot; nothing outside the assignments is added (no turkeys, lunch or notes)"]}