Guide: Weekly Reports
Automate the weekly summary nobody wants to write.
The Setup
Pick a channel Chief should summarize from (e.g., #engineering) and a destination channel (e.g., #leadership). Make sure Chief is in both — /invite @chief in each.
The Slack Message
Chief, every Monday at 9am Eastern, summarize last week's
#engineering activity and post the summary in #leadership.
Format:
- 1 paragraph TL;DR at the top
- "Wins" section (3-5 bullets)
- "Risks & Asks" section (anything raised but unresolved)
- Don't include the long tail of routine PR comments.Chief replies confirming the cron, the timezone, and shows you the first run preview. React 👍 to activate.
What Chief Does Each Week
- Fetches the previous Mon–Fri messages from
#engineering. - Filters out automated bot posts (CI failures, bot replies).
- Groups remaining messages by topic using semantic clustering.
- Drafts the summary in your requested format.
- Posts to
#leadershipwith the previous week’s date range in the heading.
Iterating
After a few weeks, you’ll want to tune. Just tell Chief.
Chief, the summaries are too long. Cap each "Wins" bullet
at 12 words. And drop the TL;DR paragraph — go straight
to bullets.The cron updates immediately and the new format applies on next run. Chief saves the format as a feedback memory so it persists across edits.
Pausing for Holidays
Chief, pause the weekly report from May 23 through May 30.Chief skips runs in that window and resumes automatically.
Pitfalls
- No activity → empty summary. If a week has nothing in
#engineering, Chief reports “no significant activity this week” rather than fabricating filler. - Wrong channel. If you set up the cron for the wrong source channel, edit it: “Chief, change the source channel on the weekly report to #engineering-leads.”
- TZ mismatch. “9am Monday” in a multi-timezone team gets ambiguous. Always specify a timezone (
9am Easternor9am UTC).