{"id":"cx-save-offer-eligibility-four-customers","audience":"customer-support","category":"support-work","technique":"constraints","track":"support","level":"advanced","title":"Check four cancelling customers against save-offer conditions","free":false,"task":"Output a table with the header \"Customer | Eligible? | Failed condition\" and four rows, then a last line \"Offer 20% to: C#, C#\" (or \"Offer 20% to: none\"). A customer is eligible only if all three conditions are met. Failed condition lists the first failed condition by its letter, or \"none\". Plain text, under 70 words.","materialLabel":"Your material (attached to your prompt automatically)","material":"SAVE-OFFER POLICY (20% off for 3 months)\nOffer only if ALL are true:\nA. The customer's stated reason for cancelling is price.\nB. The customer has been subscribed for at least 6 months.\nC. The customer has not received a save offer in the last 12 months.\nIf not eligible, process the cancellation without a sales pitch.\n\nCANCELLATION REQUESTS (today is Nov 6)\nC1: reason 'too expensive for me now', subscribed 4 months, no previous offer.\nC2: reason 'too expensive', subscribed 14 months, got a save offer in June.\nC3: reason 'costs more than I use it', subscribed 8 months, no previous offer.\nC4: reason 'switching to another tool', subscribed 20 months, no previous offer.","rules":[{"type":"plainText"},{"type":"maxWords","max":70}],"mistakes":[{"title":"Treating any complaint about money as price","why":"The AI marks C4 eligible or C3 ineligible.","fix":"Say: \"Condition A: the stated reason is price.\"","checks":["r1"]},{"title":"Missing the 12-month check","why":"The AI forgets the June offer for C2.","fix":"Say: \"Check all three conditions per customer.\"","checks":["r1"]},{"title":"Wrong output format","why":"The AI writes advice paragraphs.","fix":"Give the header and the last-line format.","checks":["r0","r2"]},{"title":"Getting markdown back","why":"AI adds bold and headings by default, which show up as stray symbols where this is pasted.","fix":"Say \"plain text, no bold, no headings, no asterisks\".","checks":["plainText"]},{"title":"Trusting the AI to count words","why":"AI is bad at counting and usually runs long, so a vague \"keep it short\" lands well over the limit.","fix":"Cap each part instead of the total, for example \"each line under 15 words\".","checks":["maxWords"]}],"promptHints":[{"label":"Gives the header","patterns":["customer \\| eligible"]},{"label":"States the all-conditions rule","patterns":["all three","every condition","only if all"]},{"label":"Asks for the first failed letter","patterns":["first failed","failed condition"]},{"label":"Asks for plain text","patterns":["plain","no bold","no markdown","no formatting","no headings"]},{"label":"Sets a length limit","patterns":["\\d+\\s*words","word (limit|count)","under \\d+"]}],"hint":"Give the header, say all three conditions must hold and how to report the failure.","rubricLabels":["The first row is \"Customer | Eligible? | Failed condition\" followed by rows C1 to C4","C1 is No (B), C2 is No (C), C3 is Yes (none), C4 is No (A)","The last line is \"Offer 20% to: C3\""]}