YP AI Logo
Software Engineering

How do you get stalled pull requests moving again?

A code review AI Employee that reads every open pull request across your repos once a day, flags the ones past a review SLA, gone stale, or sitting on unaddressed change requests, and nudges the author or reviewer in Slack with exactly what's blocking. It reads GitHub and posts to Slack, nothing else.

YP×GitHubSlack
When
Runs on a daily schedule
Systems
GitHubSlack
Mode
Read only on GitHub, nudge and summarize only
Problem

A review SLA is easy to write down and hard to enforce. Nobody is watching the review queue full time, so a PR opened Monday morning and still unreviewed Wednesday afternoon looks the same in the repo list as one opened five minutes ago, until someone happens to scroll far enough to notice. Stale PRs are worse: a branch with no commits, no comments, and no reviews in a week has usually just been forgotten, and it silently rots until a rebase conflict forces someone to deal with it. And "requested changes" is a state, not an alert. A reviewer asks for changes, the author sees it, life happens, and the PR sits there looking open while actually being blocked. The common approaches don't close this loop. GitHub's own notifications are easy to mute and don't distinguish a PR that's five minutes old from one that's five days old. A weekly standup catches the loudest blockers, not the quiet ones. Manually skimming the PR list is thorough the first time and skipped the second.

What it does

Runs on a daily schedule, the code review AI Employee reads every open PR across your repos through the gh CLI with read only access, and classifies each one against three rules: awaiting review past the SLA, stale with no activity in N days, or carrying requested changes the author hasn't addressed. For each PR that trips a rule, it posts a Slack nudge to whoever owns the next move: the requested reviewer if it's overdue, the author if it's stale or has unaddressed feedback. The nudge carries a one line summary of what's actually blocking it. It never merges, closes, or approves anything.

How it works

See exactly how the work gets done.

Runs on a daily schedule

A scheduled run fires once a day. Each run recomputes the review state from GitHub's current state, so nothing carries over from yesterday's nudges. The repo is the record, not the AI Employee's memory.

Carries your SLA rules

What counts as "past SLA," "stale," and "unaddressed" travels with it as a skill: the review SLA clock, the staleness window, how to tell a requested changes review has actually been addressed versus just sitting there, and who to nudge for each case.

Connects to GitHub read only, with permissions you set

Through the gh CLI it reads open pull requests across the configured repos: their age, author, requested reviewers, and current state, plus the reviews and comments on each. Then it posts the nudge to Slack. Credentials stay in memory, injected at run time, never written to disk or exposed to the model.

No write access to GitHub, ever

It cannot merge a PR, close it, approve it, or dismiss a review. Its only output is the Slack nudge. Everything else is a read.

Nudges the right person

Each morning brings a Slack nudge for every PR that's stuck: who it's for, why it's stuck (overdue, stale, or unaddressed changes), how long it's been that way, and a link straight to the PR. The team decides what to do next: review it, ping the reviewer, or close it.

Guardrails

Runs in your environment

Every run is isolated inside your own infrastructure, reaching only GitHub (read only) and Slack. Your data never leaves it.

Permissions you set

The GitHub credential stays in memory, injected at run time, never exposed to the model or written to logs.

Nudge and summarize only

It never merges, closes, or approves a PR, and never dismisses or resolves a review. It reports what's blocking and leaves the decision to a person.

Judged against the current state

Every run is recomputed from GitHub's current state, with no stale carryover and no acting on a nudge that yesterday's run already resolved.

You own the rules

The SLA thresholds, the staleness window, and the GitHub permissions are yours, versioned and changed on your terms, not in a vendor dashboard.

The outcome

A review queue that used to require someone remembering to scroll through it now surfaces its own blockers every morning, in Slack, addressed to whoever owns the next move. The AI Employee only reads and nudges; the team still decides what happens to every PR.

Every day

Every open PR rechecked against GitHub's current state

3 checks

Overdue for review, stale, and unaddressed changes, in one pass

0 writes

Merges, closes, or approvals made by the AI Employee

Not sure where to start?

Our free AI audit shows you where AI fits, what your security risks are, and gets your first AI employee working.

Ready to transform your business?

Ready to see your own AI employees in action?

How do you get stalled pull requests moving again? | YP AI