{"id":"cx-account-handoff-json-state","audience":"customer-support","category":"support-work","technique":"format","track":"support","level":"advanced","title":"Hand off an account state as a small JSON object","free":false,"task":"Summarize the account for the next agent as one JSON object in a single code block, nothing else. Keys: customer (string), open_issues (array of at most 2 strings, open only), promised (string: what we promised and the date), mood (exactly one of \"calm\", \"frustrated\", \"angry\"). Use the latest dates. At most 12 lines of code.","materialLabel":"Your material (attached to your prompt automatically)","material":"ACCOUNT: Pinecrest Dental Supplies (contact: Hal Brandt)\n\nOct 20: Hal reported invoices show the wrong tax rate. Status: open.\nOct 22: Hal reported the shipping label printer integration fails. We fixed it Oct 24 and Hal confirmed it works.\nOct 28: Hal asked for a copy of the September statement. Sent the same day. Closed.\nOct 30: Hal reported a user cannot log in after a password reset. Open, engineering is looking.\nOct 31: Hal's message: \"This is the third time I'm writing. I want a manager to call me.\" Agent: promised a manager call by Nov 4. On Nov 3 the manager asked to move it to Nov 5 and Hal agreed.\nNov 4: Hal wrote again, curt: \"Still waiting on the tax rate issue.\"","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":12}],"mistakes":[{"title":"Listing closed items","why":"The AI includes everything in the history.","fix":"Say: \"Open issues only.\"","checks":["r1"]},{"title":"Using the first promise date","why":"The AI reports Nov 4, not the agreed move to Nov 5.","fix":"Say: \"Use the latest date.\"","checks":["r2"]},{"title":"Wrapping in chatter","why":"The AI adds prose or invents keys.","fix":"Say: \"One JSON code block, only these four keys.\"","checks":["r0"]},{"title":"Skipping the code block shape","why":"The AI splits output into several code blocks or none.","fix":"Say \"exactly one code block and nothing else\".","checks":["codeBlocks"]},{"title":"Letting the code sprawl","why":"The AI adds extra lines and comments.","fix":"Say \"at most N lines of code\".","checks":["maxCodeLines"]}],"promptHints":[{"label":"Asks for one code block","patterns":["code block","```"]},{"label":"Caps the code length","patterns":["lines"]},{"label":"Names the four keys","patterns":["customer","open_issues","promised","mood"]},{"label":"Uses open items and latest dates","patterns":["open","latest"]}],"hint":"A JSON handoff needs fixed keys, a filter for open items, and the latest dates. Spell all three out.","rubricLabels":["The output is one JSON code block with the keys customer, open_issues, promised and mood, and nothing else outside the block","open_issues lists exactly the tax rate issue and the login-after-reset issue, and not the printer integration or the September statement","promised mentions the manager call on Nov 5 (not Nov 4) and mood is one of the three allowed values, \"frustrated\" or \"angry\""]}