{"id":"cs-call-log-minutes-per-csm-csv","audience":"revops","category":"support-work","technique":"format","track":"support","level":"intermediate","title":"Total customer-call minutes per CSM from mixed formats","free":false,"task":"Return one code block with CSV using the header csm,total_min,below_target. Convert every duration to minutes (like 1h05 = 65). Only customer calls count; entries marked \"(internal)\" are excluded. below_target is yes if total_min is LESS than 250 (equal is no). Sort by total_min from highest to lowest. Write no more than 6 words outside the block.","materialLabel":"Your material (attached to your prompt automatically)","material":"CALL LOG - week of Nov 2 (durations as typed by each CSM)\n\nAna: 1h05, 45m, 30 min, 2h\nBen: 50m, 1h15, 1h, 20m\nCleo: 2h30, 1h10, 25m\nDev: 3h, 1h45, 15m, 30m (internal)\n\nTarget: at least 250 customer-call minutes per week.\nNote: Cleo's 25m entry is a customer call that was cut short; it still counts.\nDev said the last 30m was a team standup that ran over.\nSource: each CSM types durations into the shared call log, so formats vary. The log covers Monday Nov 2 to Friday Nov 6, and every customer call is expected to be logged. The weekly review with the director is on Monday at 10am, and the director reads the CSV in a spreadsheet.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":6},{"type":"maxProseWords","max":6}],"mistakes":[{"title":"Including the internal entry","why":"The AI counts Dev's 30m standup.","fix":"Say: \"Entries marked (internal) are excluded.\"","checks":["r1"]},{"title":"Misreading formats","why":"The AI treats 1h05 as 105 or 1.05 hours.","fix":"Say: \"Convert to minutes: 1h05 = 65.\"","checks":["r1"]},{"title":"Wrong sort","why":"The AI sorts alphabetically.","fix":"Say: \"Sort by total_min, highest first.\"","checks":["r2"]},{"title":"Skipping the code block","why":"The AI writes prose around the data instead of one block.","fix":"Say \"return exactly one code block\".","checks":["codeBlocks"]},{"title":"Letting the block sprawl","why":"The AI pretty-prints and adds extra lines.","fix":"Say \"keep the block under N lines\".","checks":["maxCodeLines"]},{"title":"Talking around the block","why":"The AI adds an intro and notes outside the block.","fix":"Say \"no words outside the block except ...\".","checks":["maxProseWords"]},{"title":"Leaving a requirement unstated","why":"The AI follows its own defaults unless the prompt spells this out.","fix":"State it plainly in your prompt: the code block has the header csm,total_min,below_target and four rows.","checks":["r0"]}],"promptHints":[{"label":"Gives the header","patterns":["csm,total_min","header"]},{"label":"Explains conversion","patterns":["1h05","minutes","convert"]},{"label":"Excludes internal","patterns":["internal","exclude"]},{"label":"States the target rule","patterns":["less than 250","equal","below_target"]},{"label":"Asks for one code block","patterns":["code block","json","csv"]},{"label":"Keeps the block short","patterns":["lines","one line","compact"]},{"label":"Limits text outside the block","patterns":["no (intro|notes|text|words)","only the","nothing (else|outside)"]}],"hint":"Messy durations need an example conversion, an exclusion rule and a strict threshold rule.","mission":"Total each CSM's customer-call minutes and flag who is below target.","musts":["Skip internal calls","Convert 1h05 to 65","Below 250 only"],"rubricLabels":["The code block has the header csm,total_min,below_target and four rows","The totals are Dev 300 (the internal 30m excluded), Ana 260, Cleo 245 and Ben 205","below_target is no for Dev and Ana and yes for Cleo and Ben, and the rows are sorted Dev, Ana, Cleo, Ben"]}