Monday engineering report

Every Monday morning, an AI agent collects last week's merged pull requests, releases, incidents and CI failures, and writes the team report for you.

Writing the weekly update takes an hour of clicking through GitHub. This workflow does the collecting and the first draft: an agent gathers what actually happened in the repository last week and writes a report your team (or your management) can read in two minutes.

How it works

  1. Collect: the agent gathers the merged pull requests, closed issues, releases and failed CI runs of the last seven days, with the contributors and the areas of the code that moved.
  2. Write: a second step turns those facts into a report for the audience you pick at launch: the team (details, follow-ups) or management (outcomes, risks, no jargon).

Both documents are kept in your SideHub Memory, so the next report can compare with this one.

What you need

Steps

  1. 1. Collect last week

    Collect the activity of the last 7 days of the git repository in the current directory. Facts only, no commentary.
    
    1. Check that the GitHub CLI works: `gh auth status`. If it fails, fail the step with the reason.
    2. Gather, for the last 7 days:
       - Merged pull requests: `gh pr list --state merged --search "merged:>=<date 7 days ago>" --json number,title,author,labels,mergedAt --limit 200`.
       - Closed issues: `gh issue list --state closed --search "closed:>=<date 7 days ago>" --json number,title,labels --limit 200`.
       - Releases: `gh release list --limit 20` (keep those of the week).
       - Failed CI runs on the default branch: `gh run list --branch <default branch> --status failure --limit 50` (keep those of the week).
       - The areas of the code that moved most: `git log --since=7.days --name-only --pretty=format:` grouped by top-level directory.
    3. Write the facts in Markdown, one section per category, each item with its number, title and author.
       Complete the step with `--value merged=<number of merged pull requests>` and `--value failures=<number of failed CI runs>`.
  2. 2. Write the report

    Write last week's engineering report from the facts collected by the previous step ({{steps.collect-last-week.outputs.merged}} merged pull requests, {{steps.collect-last-week.outputs.failures}} failed CI runs). The audience is: {{inputs.audience}}.
    
    - For the team: a three-line summary, then what shipped (grouped by area), what is in progress, CI health and the follow-ups worth discussing at the stand-up.
    - For management: a three-line summary of outcomes, then what changed for users, risks and blockers, and what comes next. No jargon, no pull request numbers in the summary.
    
    Use only the collected facts; never invent work. If a previous weekly report exists in the Drive (`sidehub-cli drive search "Weekly report"`), add a short "Compared with last week" section.

Secrets

Suggested schedule: Mondays at 7:00

FAQ

Can it report on several repositories?

Each run reports on the repository of the agent that runs it. Schedule the workflow on one agent per repository, or add a step that reads the other reports.

Does it invent progress that didn't happen?

The report is written only from the facts collected in the first step, which are kept next to it so anyone can check.

Use this template (free) ยท All templates