Weekly production digest
Improved documentation workflow visibility with automated review triage
169 open PRs, 67 issues sitting unacknowledged. The problem wasn't access to information — everyone could see it in GitHub. The problem was that no one had the same picture at the same time. Fixed with a weekly triage digest that classifies every open item into action tiers and posts to the team automatically, at zero cost.
169
PRs awaiting first review
67
Issues unacknowledged 7+ days
4
Action tiers per digest
$0
Operating cost
The problem
The documentation repository generates dozens of new PRs and issues every day. Every writer could see everything in GitHub. That wasn't the problem.
The problem was that individual notification reads don't give you a team-wide picture. A writer clearing their own queue was missing context: which PRs a teammate had already reviewed and was waiting on the author for, which approved PRs were stuck on stale CI rather than a missing review, which issues had been sitting for weeks because no one knew who owned them next. When the queue is everyone's problem, it ends up being no one's problem.
The baseline made the scale concrete:
- 169 PRs awaiting first review
- 24 approved but unmerged — 14 blocked by stale CI, not by a missing reviewer
- 9 PRs with unaddressed change requests
- 67 issues with no response in 7+ days
- 59 issues not updated in 30+ days
Product teams filing docs PRs had no idea when they'd hear back. Issues sat unacknowledged for weeks — not because no one cared, but because the state of the queue wasn't visible to anyone as a whole.
The approach
The answer was shared visibility, not more process. A weekly triage bot classifies every open PR and issue into four action tiers and posts the results to the team's messaging platform every Monday — same view, same time, whole team.
The classification system
Classification uses GitHub metadata the team already had: review history, team membership, CI status, labels. The bot checks the team roster to detect whether a documentation writer has reviewed a given PR. Items move between tiers as state changes — a reviewed PR waiting on the author moves from "Act now" to "Awaiting review"; when the author pushes a change, it comes back.
| Tier | What it means |
|---|---|
| Act now | The documentation team can unblock this |
| Awaiting review | Waiting on a reviewer or author response |
| Aging backlog | Low priority or has external blockers |
| Not actionable | Drafts, bot PRs, or deliberately held |
The implementation
Built in two weeks through daily sessions with AI, the bot runs on GitHub Actions using only Python's standard library and the GitHub API in read-only mode. No third-party dependencies, no external services, zero cost to run. PRs classified into 8 states; issues into 5. From prototype to live in the team's review channel: six days.
The outcomes
Every writer now sees the same queue every Monday instead of piecing together their own picture from notifications. A few things became visible that weren't before:
- Where things are stuck and why. An approved PR blocked by stale CI shows up differently than one waiting on a reviewer — writers stop chasing each other about PRs no one can merge yet.
- Which issues have gone quiet. The 67 unacknowledged issues were visible to anyone who looked, but they weren't anyone's job. The digest makes them a shared problem with a clear status.
- What product teams can expect. First-contact time became predictable because the team has a shared picture of what needs reviewing first.
Leadership also gets a weekly read on where bottlenecks are sitting — without a standup or a manual status check.
Why it mattered
When everyone sees the same queue, someone picks things up — not because a coordinator assigned it, but because the picture makes it obvious what needs attention. That's the mechanism.
The classification doesn't add new information. Review history, team roster, CI status, labels — all of it was already in GitHub. The bot applies consistent logic to it and publishes the result once a week. Scattered state becomes a shared picture, automatically.
One of those things that sounds small and isn't. Every week it runs, it stops review items from going quiet. Every product team that knows when to expect feedback is one fewer team sending a status-update message. The work itself doesn't change — just how visible it is.