GitHub Repo Monitoring
Stay on top of repository activity without drowning in GitHub's default notification firehose. Moltbot checks the repos you care about at intervals you define and only notifies you when something actually happens.
Prerequisites
- Moltbot running and connected to Telegram
- Scheduled tasks enabled — See Scheduled Tasks
- GitHub MCP tool installed and authenticated — Moltbot needs a GitHub personal access token with appropriate scopes (typically
repofor private repos, or just public access for open source projects)
Why Not Just Use GitHub Notifications?
GitHub's built-in notifications are all-or-nothing for watched repos. You get every comment on every issue, every CI status update, every review request — regardless of relevance. Most people end up with thousands of unread notifications and eventually ignore them entirely.
Moltbot's approach is different:
- You define what matters. Only new issues? Only releases? Only PRs from specific people? You control the filter.
- AI-powered summarization. Instead of raw notification titles, you get a concise summary of what changed and why it might matter to you.
- Silence when nothing happens. The critical instruction
"If nothing changed, do NOT send a message"eliminates noise completely.
Setup
Step 1: Basic Repo Watcher
Start with a simple configuration that checks a few repos every 30 minutes:
cron:
- name: repo-watcher
schedule: "*/30 * * * *"
channel: telegram
prompt: |
Use the GitHub tool to check activity in the last 30 minutes:
- steipete/moltbot
- langchain-ai/langchain
If there are new Issues, PRs, or Releases, notify me.
If nothing changed, do NOT send a message.The last line is essential. Without it, you would receive a "nothing to report" message every 30 minutes — exactly the kind of noise this recipe is designed to eliminate.
Step 2: Customize the Check Interval
Choose a frequency that matches the repo's activity level:
| Repo Activity | Suggested Schedule | Cron Expression |
|---|---|---|
| Very active (100+ events/day) | Every 15 minutes | */15 * * * * |
| Moderately active | Every 30 minutes | */30 * * * * |
| Low activity | Every 2 hours | 0 */2 * * * |
| Releases only | Once daily | 0 9 * * * |
Step 3: Filter by Event Type
You don't have to monitor everything. Tailor the prompt to your needs:
Releases only:
cron:
- name: release-watcher
schedule: "0 9 * * *"
channel: telegram
prompt: |
Check for new releases published in the last 24 hours on:
- ollama/ollama
- astral-sh/ruff
- denoland/deno
For each new release, include the version number and a one-line summary of changes.
If no new releases, do NOT send a message.Issues with specific labels:
cron:
- name: bug-watcher
schedule: "*/30 * * * *"
channel: telegram
prompt: |
Check the steipete/moltbot repo for new issues labeled "bug" or "critical"
opened in the last 30 minutes.
If found, include the issue title, number, and a brief excerpt.
If none, say nothing.PRs awaiting your review:
cron:
- name: review-reminder
schedule: "0 10,14 * * 1-5"
channel: telegram
prompt: |
Check GitHub for any open pull requests where I am requested as a reviewer.
List them with repo name, PR title, and how long they've been waiting.
If none are pending, do NOT send a message.Step 4: Multi-Repo Dashboard
For a broader view, create a daily digest that covers all your projects:
cron:
- name: daily-github-digest
schedule: "0 9 * * 1-5"
channel: telegram
prompt: |
Generate a GitHub activity digest for the past 24 hours across these repos:
- steipete/moltbot
- langchain-ai/langchain
- ollama/ollama
For each repo, summarize:
- New issues opened (count + notable titles)
- PRs merged (count + notable titles)
- New releases (version + highlights)
Format as a clean report with repo headers.
Skip repos with zero activity.Edge Cases and Troubleshooting
- GitHub API rate limits: Unauthenticated requests are limited to 60/hour. Authenticated requests get 5,000/hour. If you are monitoring many repos at short intervals, make sure your GitHub MCP tool uses a personal access token.
- Time window mismatches: If your cron runs every 30 minutes but the GitHub tool checks "last 30 minutes," there is a small risk of missing events at the boundary. You can overlap slightly by checking "last 35 minutes" to be safe.
- Private repos: Ensure your GitHub token has the
reposcope if you need to monitor private repositories. - Large repos with high activity: For extremely active repos (e.g., kubernetes/kubernetes), narrow your filter to specific event types or labels. Otherwise, the summary may be too long or hit token limits.
Pro Tips
- Combine with memory for context. When Moltbot notifies you about a new issue, you can reply with notes: "This is related to the refactor we discussed last week." Memory stores this, so future notifications about the same topic carry context.
- Use different channels for different urgency levels. If Moltbot supports multiple notification channels, route critical repo alerts (production bugs) to a high-priority channel and routine updates to a daily digest.
- Track competitor repos. Monitor open source projects in your space to stay aware of new features, architectural decisions, and community discussions.
- Create issues from Telegram. This recipe is about monitoring, but remember you can also create issues directly:
"Create an issue on steipete/moltbot titled 'Add webhook support' with a description of the feature."See Code Snippets on the Go for more. - Pair with the Daily Briefing. Instead of a separate GitHub cron job, incorporate repo checks into your Personalized Daily Briefing for a single consolidated morning message.
Related Pages
- Memory System — Store context about issues and PRs you are tracking
- Scheduled Tasks — Cron configuration reference
- MCP Tools — Setting up the GitHub MCP tool
- Personalized Daily Briefing — Incorporate GitHub updates into your morning summary
- Code Snippets on the Go — Create issues and code from Telegram