Notifies only when a pull request is actually blocked.
A GitHub App that watches PRs, CI, and review threads — then stays quiet on drafts, bots, WIP titles, passing checks, and anything you already got pinged about.
Who it's for
Eng managers, staff engineers, and small teams whose GitHub notification inbox is a hostile workplace.
- Leads who only want failing CI, unanswered reviews, stale threads, and changes-requested
- Teams drowning in draft and bot noise
- Anyone who has muted GitHub and then missed a real blocker
The problem
You already know the draft exists. You do not need a ping that CI is still running. You do not need five messages because five jobs went red on the same SHA. You needed one note that the review you requested 12 hours ago never came.
What breaks without it
- Notification settings are global; blocker policy is not.
- Check suites fan out into a pile of identical reds.
- Stale threads and unanswered reviews have no sweeper.
How it works
Concrete path through the private beta — not a capability cloud.
Watch the events that matter
Failing / timed-out / startup-failed checks on open PRs. Unanswered review requests after unansweredReviewHours. Stale threads after staleThreadHours if the author has not replied. changes_requested reviews.
Stay quiet on purpose
Closed PRs, drafts, bot authors, WIP titles, ignored check names, ignored users (dependabot, renovate, github-actions by default). Duplicate fingerprints inside the dedupe window. Rate limits per PR and per repo.
One notify per failed SHA
Failing CI is deduped per head SHA, so five red jobs on the same commit produce one notification. Dry-run is the default; GitHub is never written to until you say so.
Sweep time-based blockers
POST /v1/sweep on a 15–30 minute schedule so unanswered reviews and stale threads fire without waiting for another webhook. Optional nudge comments stay off unless you enable them.
Proof points
From the working repo and demo scripts. Design partners welcome. No fabricated case studies.
- Fixture replay is the supported path: npm run dry-run -- fixtures/scenarios. No GitHub API required for CI.
- Policy is a JSON document (notifyOn / quietOn / windows / rate limits). PUT /v1/policy replaces it in-process for the private beta.
- Webhook signatures required unless DRY_RUN and ALLOW_UNSIGNED_WEBHOOKS are both set for local posts.
- Dockerfile ships a production image. State file is used only when not in dry-run.
- No “10,000 developers” banner. Install it on a repo you control, replay fixtures, then decide.
Join waitlist / book a 15-min pilot
Tell us you want PR Babysitter. We'll reply with a demo path, not a deck.
FAQ
Will this spam the PR?
Nudge comments are off by default and never sent in dry-run. Notifications themselves are capped (3 per PR per hour, 20 per repo per hour by default) and deduped.
What if five checks fail at once?
Failing CI is deduped per head SHA. You get one notify for that commit, not one per job name.
Does it comment as a drive-by bot?
Only if you turn nudgeComments.enabled on, with DRY_RUN=false and a real App key. The private-beta default is log the decision and stay out of the thread.
Can I ignore flaky checks?
Yes. quietOn.ignoredCheckNames never notify. Ignored users skip review-request noise from bots.
How do I try it without installing the App?
npm test and npm run dry-run -- fixtures/scenarios. Boot with DRY_RUN=true and POST fixtures at /v1/dry-run. Install the App only when that output matches what you wanted to be paged about.