{"id":"mkt2-content-calendar-csv-fixed-dates","audience":"marketing","category":"social-content","track":"marketing","technique":"format","level":"advanced","title":"Build a content calendar CSV and move posts off blocked days","free":false,"task":"You are scheduling November content and the office is closed Nov 26 and 27. Write a prompt that outputs one CSV code block with the header date,channel,topic,owner, one row per idea, dates as YYYY-MM-DD, sorted by date. Rule: one post per day, no weekends, and when an idea lands on a taken or closed day, move it to the next free weekday. Keep the idea order as listed when deciding who keeps a date. No text outside the block.","materialLabel":"Content ideas (attached to your prompt automatically)","material":"NOVEMBER 2026 CONTENT IDEAS - in priority order (all dates are the wished-for post date)\n\n1. Mon Nov 16 - Blog - \"Q4 buyer's guide\" - owner Sam\n2. Mon Nov 16 - LinkedIn - \"Customer story: Orchard Bikes\" - owner Lee\n3. Wed Nov 18 - Email - \"Black Friday tips\" - owner Sam\n4. Fri Nov 20 - Instagram - \"Behind the scenes\" - owner Lee\n5. Thu Nov 19 - Email - \"Webinar invite\" - owner Priya\n6. Tue Nov 24 - Blog - \"Year-end checklist\" - owner Sam\n7. Thu Nov 26 - Blog - \"What we're grateful for\" - owner Priya\n8. Fri Nov 27 - LinkedIn - \"Black Friday recap\" - owner Lee\n\nCalendar notes: Nov 28 and 29 are a weekend. Nov 30 is a Monday. The next day, Dec 1, is a Tuesday. The team Slack has a thread about moving the blog post to January; it hasn't been decided.","rules":[{"type":"codeBlocks","count":1},{"type":"maxProseWords","max":10}],"mistakes":[{"title":"Leaving posts on closed days","why":"The AI copies the wished-for dates.","fix":"Add: \"Nov 26 and 27 are closed; move to the next free weekday.\"","checks":["r1"]},{"title":"Moving posts to January","why":"The Slack thread tempts the AI to defer a post.","fix":"Add: \"Keep every idea in the calendar; only change dates as the rules say.\"","checks":["r2"]},{"title":"Wrong date format or order","why":"Without a format the AI writes 'Nov 16' and keeps list order.","fix":"Add: \"Dates as YYYY-MM-DD, sorted by date, header date,channel,topic,owner.\"","checks":["r0"]},{"title":"Wrong number of code blocks","why":"AI splits or skips the code block.","fix":"Ask for exactly one code block.","checks":["codeBlocks"]},{"title":"Chatty text around the block","why":"AI adds an intro and a recap around the block.","fix":"Say: \"Output only the block, no words outside it.\"","checks":["maxProseWords"]}],"promptHints":[{"label":"Gives the exact header","patterns":["date,channel,topic,owner"]},{"label":"Asks for one CSV block","patterns":["csv","code block"]},{"label":"States the date rules","patterns":["one post per day","weekend","next free weekday"]},{"label":"Names the closed days","patterns":["nov 26","nov 27","26 and 27","closed"]},{"label":"Says nothing outside the block","patterns":["only the (csv|block)","no (text|intro|explanation)"]}],"hint":"Scheduling with conflicts is a procedure. State the rules, the closed days and the tie-break order, and show the CSV header literally.","mission":"Build a November content calendar that avoids Nov 26-27.","musts":["One post per day","No weekends","Move to next free weekday"],"rubricLabels":["The code block starts with the header date,channel,topic,owner and has 8 data rows sorted by date, with dates in YYYY-MM-DD format","Dates are 2026-11-16, 2026-11-17, 2026-11-18, 2026-11-19, 2026-11-20, 2026-11-24, 2026-11-30 and 2026-12-01 (the customer story moves to Nov 17, the grateful post to Nov 30, the recap to Dec 1)","Each row's channel and owner match the idea list (for example the Orchard Bikes story is LinkedIn and Lee), and no post is moved to January"]}