{"id":"ops-forklift-cert-coverage-by-shift-table","audience":"managers","category":"operations-work","track":"operations","technique":"grounding","level":"intermediate","title":"Check forklift-certified coverage on each shift from a roster","free":false,"task":"Write a prompt for a markdown table with columns Shift, Certified operators and Status, one row per shift in the order listed. Count only operators whose certification is valid; expired or in-training people do not count. Status is COVERED for 2 or more, THIN for 1 and GAP for 0. Name the counted operators in the second column. Under 110 words.","materialLabel":"Your material (attached to your prompt automatically)","material":"FORKLIFT COVERAGE CHECK - week of Mar 10\n\nSCHEDULED\nMon Early: Ortiz, Chen, Ruiz, Svoboda\nMon Late: Hale, Jarvis, Kline, Pruitt\nTue Early: Okafor, Baptiste, Dunn\nTue Late: Lopez, Moreau, Nasser, Pruitt\nWed Early: Ortiz, Imani, Dunn\n\nCERTIFICATION LIST\nValid: Ortiz, Chen, Hale, Lopez, Moreau, Imani\nExpired: Okafor (expired Mar 1), Kline (expired Feb 20)\nIn training (not yet certified): Nasser\nEveryone else on the roster has no forklift certification.\n\nThe scheduler said, \"Every shift has somebody with a forklift ticket.\" The ops manager decides how to fix any gap; this check only reports it.","rules":[{"type":"maxWords","max":110}],"promptHints":[{"label":"Names the columns","patterns":["shift.*certified operators.*status","table"]},{"label":"Counts only valid certs","patterns":["valid","only","expired"]},{"label":"Gives the status rules","patterns":["covered","thin","gap"]},{"label":"Asks to name the operators","patterns":["name","operators"]},{"label":"Sets a length limit","patterns":["\\d+\\s*words","word (limit|count)","under \\d+"]}],"mistakes":[{"title":"Counting expired tickets","why":"The AI counts Okafor and Kline because they hold a ticket.","fix":"Say: \"Count only people on the Valid list.\"","checks":["r1"]},{"title":"Counting trainees","why":"The AI counts Nasser.","fix":"Say: \"In-training people do not count.\"","checks":["r2"]},{"title":"Wrong statuses","why":"The AI uses its own labels.","fix":"Say: \"COVERED 2+, THIN 1, GAP 0.\"","checks":["r0"]},{"title":"Trusting the AI to count words","why":"AI is bad at counting and usually runs long, so a vague \"keep it short\" lands over the limit.","fix":"Cap each part instead of the total, for example \"each line under 15 words\".","checks":["maxWords"]}],"hint":"Say who counts, how to name them and the three status rules.","mission":"Check forklift-certified coverage on every shift.","musts":["Valid certifications only","COVERED, THIN or GAP","Name counted operators"],"rubricLabels":["The output is a markdown table with the columns Shift, Certified operators and Status and one row per shift in the listed order","Mon Early lists Ortiz and Chen, Mon Late lists Hale only, Tue Early lists nobody, Tue Late lists Lopez and Moreau, and Wed Early lists Ortiz and Imani","Status is COVERED, THIN, GAP, COVERED, COVERED for the five shifts in order (Okafor, Kline and Nasser are not counted)"]}