{"id":"cx-sentiment-vs-priority-table","audience":"operations","category":"support-work","technique":"constraints","track":"support","level":"intermediate","title":"Tag five tickets for sentiment and priority separately","free":false,"task":"Output a table with the header \"Ticket | Sentiment | Priority\" and five rows. Sentiment is Positive, Neutral or Negative, judged from the tone of the message. Priority comes only from what is broken: P1 if the customer cannot log in or pay, P2 if a feature is broken, otherwise P3. Plain text, under 60 words, nothing else.","materialLabel":"Your material (attached to your prompt automatically)","material":"T1: \"Love your product! Quick thing though, I can't pay with my card, checkout keeps failing. Would be great to get that fixed soon. Thanks!\"\nT2: \"THIS IS RIDICULOUS. The font on my invoice is ugly. Fix it NOW.\"\nT3: \"Hello, how do I change the email address on my account?\"\nT4: \"The reports page shows an error when I filter by date. Everything else is fine.\"\nT5: \"Terrible service. I've been locked out of my account since this morning and nobody answers.\"","rules":[{"type":"plainText"},{"type":"maxWords","max":60}],"mistakes":[{"title":"Letting tone set priority","why":"The AI makes the angry invoice font complaint high priority.","fix":"Say: \"Priority comes only from what is broken.\"","checks":["r2"]},{"title":"Mixing the two columns","why":"The AI merges sentiment and urgency.","fix":"Say: \"Sentiment from tone, priority from what is broken.\"","checks":["r1"]},{"title":"Missing the table","why":"The AI writes explanations per ticket.","fix":"Give the header and say nothing else.","checks":["r0"]},{"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":["ticket \\| sentiment"]},{"label":"Separates tone and priority","patterns":["tone","what is broken","separately"]},{"label":"Defines P1 P2 P3","patterns":["p1 if","p2 if","cannot log in"]},{"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, define sentiment and priority as separate columns and state each priority rule.","rubricLabels":["The first row is \"Ticket | Sentiment | Priority\" and rows T1 to T5 follow in order","Sentiment: T1 Positive, T2 Negative, T3 Neutral, T4 Neutral, T5 Negative","Priority: T1 P1, T2 P3, T3 P3, T4 P2, T5 P1"]}