{"id":"agent-sales-crm-cleanup-no-merges","audience":"sales","category":"agents","track":"agents","technique":"grounding","title":"Brief an assistant to clean a CRM export without guessing","free":false,"task":"Before the quarterly import, you want an AI assistant to clean your CRM export. Write its brief: fill a blank only when another row of the export gives the answer, never invent emails or phones, flag each suspected duplicate pair to you with ASK_HUMAN instead of merging, and never delete. Output a plain-text numbered action log of at most 8 lines ending with a DONE line counting updates and questions.","materialLabel":"CRM export and actions (attached to your prompt automatically)","material":"CRM export - Ridgeline Software, East region (8 rows)\n\nRow | Name | Company | Email | Phone | Title\n1 | Jordan Pike | Alder Systems | jpike@aldersys.com | 617-555-0141 | VP Operations\n2 | Maya Chen | Lumen Bay | maya.chen@lumenbay.io | (blank) | IT Director\n3 | Sam Ortiz | Kestrel Health | sortiz@kestrelhealth.org | 401-555-0190 | CFO\n4 | J. Pike | Alder Systems | (blank) | 617-555-0141 | VP Ops\n5 | Rafael Diaz | (blank) | rdiaz@lumenbay.io | 508-555-0122 | Engineer\n6 | Nina Park | Brightwater Bank | (blank) | (blank) | Procurement Lead\n7 | Maya Chen | Lumen Bay | (blank) | 978-555-0177 | IT Director\n8 | Leo Grant | Kestrel Health | lgrant@kestrelhealth.org | (blank) | COO\n\nAvailable actions:\nupdate_field(row, field, value)\nmerge_records(row_a, row_b)\ndelete_record(row)\nASK_HUMAN(question)\nDONE(summary)","rules":[{"type":"maxBullets","max":8},{"type":"plainText"}],"promptHints":[{"label":"Forbids merging or deleting","patterns":["merge","delete"]},{"label":"Rules out made-up data","patterns":["don'?t (invent|guess|make up)","never (invent|guess|make up)","only (use )?(facts|info|data|what)","not in the","no guess"]},{"label":"Flags duplicates","patterns":["duplicate","dupe"]},{"label":"Makes it ask before anything risky","patterns":["ask_human","ask (me|first|before)","approv","confirm","permission"]},{"label":"Shows the action-log format","patterns":["action:","action log","numbered","\\b1\\.","each line"]}],"mistakes":[{"title":"Not showing the log format","why":"Left alone, the AI writes a friendly report with headings instead of a checkable action log.","fix":"Show it literally: \"Format every line like 1. ACTION: tool(args), then ASK_HUMAN: and DONE: lines. Plain text.\"","checks":["maxBullets","plainText"]},{"title":"Letting it merge or delete","why":"Asked to clean data, the AI merges duplicates itself, and a wrong merge loses history you can't get back.","fix":"Add: \"Never merge or delete. Flag each possible duplicate pair with ASK_HUMAN.\"","checks":["r0"]},{"title":"Allowing guesses","why":"The AI fills blanks with plausible emails like nina.park@brightwater.com.","fix":"Add: \"Fill a blank only if another row shows the answer. Never guess emails or phones.\"","checks":["r1"]},{"title":"No finish line","why":"Without a done rule you can't see how much changed.","fix":"Say: \"End with DONE: N updates, N questions.\"","checks":["r2"]}],"hint":"Cleaning data is mostly about what the assistant must not do. Say where a filled value may come from, and what happens to duplicates.","rubricLabels":["There is no merge_records or delete_record line, and both suspected duplicate pairs (rows 1 and 4, rows 2 and 7) are raised in ASK_HUMAN lines","Doesn't invent any email or phone: Nina Park's (row 6) blanks stay empty or go to ASK_HUMAN, and any filled value is copied from another row (for example Lumen Bay for row 5's company)","The last line is a DONE line that gives a count of updates and questions"]}