Stale pull requests
Every day, see which pull requests need attention, who owns them and the next step to unblock each one.
What you’ll set up
Connections
GitHub repositories (read pull requests) · Required
Reads open pull requests, reviewers, review comments and check status. Closes and comments on nothing.
Upgrades
Slack or email
Sends the nudges you approve to the people named. Nothing is sent before you approve it.
Inputs
Repositories to watch · Required
List, no default
Days without activity before a pull request counts as stale · Optional
Text, default 5
Include draft pull requests · Optional
Choice of no or yes, default no
Brief · Required
Text, prefilled and editable during setup.
Runs
Runs every day at 08:00
Done by Research analyst
You approve before anything goes out.
You approve every report · Free to start
How it runs
One agent does the work. Its department head reviews it, then you approve.
- 1Research analyst
Runs daily at 08:00 and prepares the report from your connected sources.
- 2CTO · Review
The department head reviews the report before it reaches you.
- 3You
You approve before anything goes out.
What you get
Sample, not live data. Repository, people and pull requests are invented.
Sample: Pull request #42 has waited five days for review. Ask the assigned reviewer for a decision. The agent re-read its status and reviewer just before the list was sent.
| PR | Quiet for | Blocked on |
|---|---|---|
| #42 Add CSV export | 5 days | Reviewer |
| #39 Fix timezone bug | 8 days | Author, two comments open |
| #31 Dark mode tokens | 6 days | No reviewer requested |
Why pull requests go quiet
A pull request that nobody touches for a week costs more than the code in it: the author loses context, the reviewer forgets it exists, and the branch drifts toward a conflict. The usual tools treat this as hygiene. The actions/stale workflow, for example, labels issues and pull requests after 60 days of inactivity by default and closes them 7 days later. That tidies a backlog, but a five-day-old review request is a people problem, not a cleanup problem.
How the scheduled job works
You add the job, name the repositories and connect them from GitHub with read access. Each day a scheduled research analyst agent lists open pull requests sorted by last update, skips drafts unless you ask, and for each one past your threshold names the blocker: waiting on review, waiting on the author, failing checks, a conflict, or no reviewer at all. It re-reads each item just before reporting and drafts one short nudge per person. Its department head, the CTO agent, reviews the list, then you approve, edit or skip each nudge.
A worked example
In the sample, #42 has waited five days on a requested reviewer, so the nudge asks that reviewer for a decision or a handoff. #39 is waiting on its author, who has two review comments open. #31 has no reviewer at all, so the nudge goes to you with a suggestion of who could take it. Three short messages, each to the right person, approved in under a minute. For what did merge this week, see the weekly pull request digest below.
Questions
Related jobs
Connects to: GitHub repositories (read pull requests) (required)
Automate a weekly pull request digest
A weekly digest of what merged, grouped by what changed for users and checked against each pull request.
Works from files you share
Automate monthly API key and secret rotation reminders
A monthly list of keys past your rotation limit, with owner and age. It holds names and dates; no secret values are shared.
Connects to: AWS IAM access key (read-only cost access) (required)
Automate a weekly AWS cost report with anomaly flags
A weekly AWS spend report: totals, biggest movers by service, and anything that looks like an anomaly.