guidesWeekly Reports

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

  1. Fetches the previous Mon–Fri messages from #engineering.
  2. Filters out automated bot posts (CI failures, bot replies).
  3. Groups remaining messages by topic using semantic clustering.
  4. Drafts the summary in your requested format.
  5. Posts to #leadership with 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 Eastern or 9am UTC).