Challenge: OpenClaw Build Showcase
Category: Developer Productivity / Automation
The Problem
If you've ever juggled multiple open pull requests, you know the feeling: you open GitHub at the end of the day and realize a reviewer left a comment three hours ago, CI silently failed, or a PR you marked "ready for review" has been sitting untouched for two days.
Context-switching to babysit PRs is expensive. But missing a review window is worse — it stalls your whole team.
I wanted a fix that required zero tab-switching. No dashboards. No email notifications buried under newsletters. Just a message, right where I already am.
What I Built
GitHub PR Watchdog is an OpenClaw skill that monitors your open pull requests and delivers smart, actionable alerts directly to your messaging app of choice — Telegram, Slack, Discord, or WhatsApp.
It runs silently in the background on a heartbeat schedule you control, and reaches out only when something actually needs your attention.
How It Works
The skill connects to GitHub's REST API using a personal access token stored securely in your local OpenClaw config. Every N minutes (configurable — I use 20), it:
- Fetches all open PRs across your watched repos
-
Checks each PR for new activity since your last check:
- New review comments or change requests
- CI status changes (pass / fail / pending)
- PRs that have been open longer than your staleness threshold
- Approvals that are ready to merge
- Sends you a concise digest — only for PRs where something changed
- Drafts a suggested response for review comments, which you can approve and post with a single reply
No noise. No duplicates. Just signal.
Example Alert (via Telegram)
🔴 CI Failed — my-app / feat/auth-refresh
↳ 3 checks failed | View run →
💬 New Review — my-api / fix/rate-limiter
@sarah_dev: "Can we extract this into a helper?"
Suggested reply ready — send "reply 1" to post it
✅ Approved & Ready — my-app / chore/upgrade-deps
2 approvals | No conflicts | Safe to merge
The Skill File
The core logic lives in a single SKILL.md with a small Node.js runner. OpenClaw handles the scheduling, secret management, and message routing — I just had to write the GitHub API calls and the formatting logic.
# skill.yaml (excerpt)
name: pr-watchdog
description: Monitor GitHub PRs and alert on review activity, CI status, and stale PRs
schedule: every 20 minutes
inputs:
- GITHUB_TOKEN
- WATCHED_REPOS # comma-separated list
- STALE_THRESHOLD_HRS # default: 24
- ALERT_CHANNEL # telegram | slack | discord
Total code: ~180 lines of JavaScript. Most of it is just formatting the output to be readable at a glance.
What Surprised Me
OpenClaw made the hard parts trivial.
Secret management, message routing, scheduling — all handled by the platform. I didn't write a single line of cron syntax or deal with webhook setup. The skill just declares what it needs and OpenClaw wires it together.
The part I didn't expect: once the skill was running, I found myself replying to the bot to take action. Typing merge 3 to merge an approved PR, or reply 2 to post a suggested response — all from Telegram, without opening a browser. That emergent interaction pattern wasn't something I planned; it just fell naturally out of how OpenClaw handles conversational context.
Impact
Since deploying PR Watchdog two weeks ago:
- Average time-to-first-response on reviews dropped from ~4 hours to ~35 minutes
- Caught 6 CI failures before they were flagged by teammates
- Zero PRs have gone stale past 24 hours
Small numbers, but real ones — for a solo dev managing 3 active repos.
Try It Yourself
@openclaw skill install pr-watchdog
Check out the full documentation on ClawHub
🦞 PR Watchdog — OpenClaw Skill
Monitor your GitHub pull requests and get smart Telegram alerts when something needs your attention. No dashboards. No tab switching. Just a message.
What it alerts on
- 🔴 CI failed (or recovered)
- 💬 New review comments or change requests
- ✅ PR approved and ready to merge
- ⏳ PR gone stale (no activity past your threshold)
Reply to take action
Reply
Action
reply 42 Sounds good, will fix
Post a review comment on PR #42
merge 42
Squash-merge PR #42
close 42
Close PR #42
remind 42 in 2h
Snooze stale alert for 2 hours
status
Summary of all open PRs
Setup
Prerequisites
- Node.js 22.16+ (Node 24 recommended)
- OpenClaw installed and running
- Telegram account
Step 1 — Install OpenClaw
npm install -g openclaw@latest
openclaw onboard --install-daemon
Follow the prompts to set up your workspace and connect your first channel.
Step 2 — Create a Telegram
…Requirements: OpenClaw installed, a GitHub personal access token, and a connected messaging channel.
What's Next
- Multi-user support — share a watchdog across a team with role-based alerting
- PR health scoring — surface PRs at risk of merge conflicts early
- Auto-assign reviewers based on CODEOWNERS file
Top comments (0)