{"id":"code-work-pm-crontab-weekly-digest","audience":"product-managers","category":"coding","track":"coding","technique":"examples","title":"Add a cron line that matches the others in a crontab","free":false,"task":"Add one crontab line that runs weekly_digest.sh every Monday at 7:30 a.m. Chicago time. The server runs on UTC and Chicago is UTC-6 this winter, so convert the time. Match the existing lines exactly: same script folder and the same log redirect pattern. Give only the new line in one code block, then one line under 20 words giving the time in both Chicago and UTC.","materialLabel":"Current crontab on the reports server (attached to your prompt automatically)","material":"$ crontab -l   (reports-01, maintained by the data team)\n\n# nightly export of signups to the warehouse\n15 2 * * * /opt/reports/bin/export_signups.sh >> /var/log/reports/export_signups.log 2>&1\n\n# hourly health check\n0 * * * * /opt/reports/bin/healthcheck.sh >> /var/log/reports/healthcheck.log 2>&1\n\n# monthly invoice summary for finance, 1st of the month\n0 9 1 * * /opt/reports/bin/invoice_summary.sh >> /var/log/reports/invoice_summary.log 2>&1\n\n# friday churn snapshot (paused until Q1)\n# 0 21 * * 5 /opt/reports/bin/churn_snapshot.sh >> /var/log/reports/churn_snapshot.log 2>&1\n\nNotes from Priscilla (data eng):\n- The new script is already in the bin folder next to the others.\n- Scripts are owned by the reports user.\n- We moved off the old /home/reports/scripts path in June.\n- Ping me before adding anything that runs more than hourly.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":1},{"type":"maxProseWords","max":20}],"mistakes":[{"title":"Not saying the server's time zone","why":"The AI writes 30 7, so the job runs at 1:30 a.m. Chicago time.","fix":"Add: \"The server is on UTC and Chicago is UTC-6 now; convert.\"","checks":["r0"]},{"title":"Not pointing at the examples","why":"The AI invents its own path and skips the log redirect.","fix":"Add: \"Match the existing lines: same bin folder and log pattern.\"","checks":["r1"]},{"title":"Getting the whole crontab back","why":"The AI reprints every line plus a table explaining cron fields.","fix":"Add: \"Only the new line in one code block, then one line under 20 words.\"","checks":["codeBlocks","maxCodeLines","maxProseWords","r2"]}],"promptHints":[{"label":"Gives the time zones","patterns":["utc","chicago","time ?zone","central"]},{"label":"Points at the existing lines","patterns":["match","same (path|folder|pattern|format)","like the others"]},{"label":"Asks for only the new line","patterns":["only the (new )?line","one line","just the line"]},{"label":"Asks for both times","patterns":["both","chicago and utc|utc and chicago"]}],"hint":"The crontab already shows the pattern to follow. Tell the AI to copy it, and that the server clock isn't on Chicago time.","rubricLabels":["The schedule is 30 13 * * 1 (13:30 UTC on Mondays, which is 7:30 a.m. in Chicago at UTC-6), not 30 7 * * 1","Runs /opt/reports/bin/weekly_digest.sh and appends >> /var/log/reports/weekly_digest.log 2>&1, matching the other lines","The line after the code gives the time in both Chicago (7:30 a.m.) and UTC (13:30)"]}