Fleet PR Agent
Multi-repository pull request monitoring, triage, and summary tool for engineering teams and AI agent fleets managing many repos at once.
What It Does
- Scans one or more GitHub repos for open PRs using the
ghCLI - Prioritizes by: staleness, review status, CI pass/fail, label priority
- Generates a structured Markdown triage report (no external dependencies — pure Python stdlib +
gh) - Supports concurrent scanning of multiple repos in a single run
Prerequisites
ghCLI authenticated (gh auth status)- Python 3.6+ (standard library only — no pip packages required)
- Repos accessible to your GitHub token
Quick Start
# Scan a single repo
python3 scripts/triage.py owner/repo
# Scan multiple repos
python3 scripts/triage.py owner/repo1 owner/repo2 owner/repo3
# Generate triage report to file
python3 scripts/triage.py owner/repo --output report.md
Usage as Claude Code Skill
When invoked as /fleet-pr-agent, provide repos:
/fleet-pr-agent owner/repo1 owner/repo2
The agent will:
- Fetch all open PRs from each repo via
gh - Score and rank them by urgency (stale > failing CI > needs review > draft)
- Output a prioritized Markdown summary
Triage Priority Rules
| Priority | Condition |
|---|---|
| P0 - Critical | CI failing + older than 3 days |
| P1 - High | Approved but not merged, or review requested > 2 days ago |
| P2 - Medium | Open > 5 days, no review activity |
| P3 - Low | Draft PRs, recently opened |
Output Format
## PR Triage Report — 2026-03-27
### P0 — Critical (2)
- [#123 Fix auth middleware](url) — CI failing since Mar 24, 2 approvals
- [#456 DB migration](url) — CI failing since Mar 25, no reviews
### P1 — High (1)
- [#789 Add caching layer](url) — Approved Mar 25, ready to merge
### P2 — Medium (3)
...
### Summary
- Total open PRs: 15
- Needing attention: 6
- Repos scanned: 2
Configuration
Set env vars to override defaults:
| Variable | Default | Description |
|---|---|---|
FLEET_PR_STALE_DAYS | 5 | Days before a PR is considered stale |
FLEET_PR_CI_WEIGHT | 3 | Weight multiplier for CI-failing PRs |
FLEET_PR_MAX_PRS | 50 | Max PRs to fetch per repo |
Architecture
scripts/triage.py— Pure Python 3 triage engine (stdlib only)- No external package dependencies
- Uses
gh pr list --jsonfor all data fetching - Portable across Linux, macOS, Windows (Python + gh required)
License
MIT