The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Pr Genius listing page.
mcp-name: io.github.zsxh1990/pr-genius
1355 loaded patterns across 61 repos. 100% quality pass rate. Clone → paste MCP config → ask "Should I open this PR to encode/httpx?"
PR Genius is not a PR dashboard. It's an Outbound PR CRM for professional OSS contributors and AI agents:
Manage PRs you've submitted to other repos — when to fix CI, rebase, wait, ping, or abandon.
| Capability | gh CLI | PR Genius |
|---|---|---|
| Cross-repo PR list | ✅ | ✅ |
| Status classification | ❌ | ✅ (9 states) |
| Stale detection | ❌ | ✅ |
| Action suggestions | ❌ | ✅ |
| Repo-specific policy | ❌ | ✅ |
| Snapshot & transitions | ❌ | ✅ |
Status heartbeat runs daily via cron, auto-detecting:
NEEDS_REBASE / CI_FAILING — fix immediatelySTALE_REVIEW — ping after thresholdSTALE_NO_REVIEW — consider abandoningCLEAN / WAITING — continue waitingPR Genius doesn't write PRs for you. It knows which PRs get closed.
| Capability | LLM directly | Scraper Agent | PR Genius |
|---|---|---|---|
| Knowledge source | Training data | Real-time scrape | 1355 structured patterns |
| Repo understanding | Generic | Surface data (stars) | 17-field agent_guidelines |
| Failure patterns | Unknown | Unknown | 752 anti-patterns |
| Success patterns | Unknown | Unknown | 703 success patterns |
| Maintainer preference | Guess | Recent PRs | Structured policy files |
| Merge probability | Can't estimate | Can't estimate | Based on repo merge rate + signals |
Real cases (PR Genius helped avoid these rejections):
| PR | Repo | What happened | PR Genius would have flagged |
|---|---|---|---|
| #491 | MisakaNet | "Destructive README rewrite" — closed | breaking_change_no_compat anti-pattern |
| #47434 | huggingface/transformers | "We'll handle internally" — closed | maintainer_internal_handling anti-pattern |
| #10393 | awesome-mcp-servers | Missing Glama badge — auto-flagged | awesome-mcp-servers-glama-badge-required anti-pattern |
| #282 | punkpeye/fastmcp | +271 lines, first PR — closed without review | punkpeye-fastmcp-282-too-large anti-pattern |
| — | contribai | Issue claim without due diligence — auto-closed | contribai-issue-claim-no-due-diligence anti-pattern |
| #2902 | soxoj/maigret | CI failure (tag dev not recognized) — fixed, merged | maigret-tag-validation pattern |
| — | Ikalus1988/MisakaNet | Claimed issue without due diligence — auto-closed | contribai-issue-claim-no-due-diligence anti-pattern |
| #928 | Ikalus1988/MisakaNet | Voice hooks PR — scope creep, closed | ikalus1998-misakanet-928 lesson |
| #936 | Ikalus1988/MisakaNet | Global disable switch — incomplete impl | ikalus1998-misakanet-936 lesson |
| #938 | Ikalus1988/MisakaNet | Anti-patterns reference doc — premature PR | ikalus1998-misakanet-938 lesson |
| #965 | Ikalus1988/MisakaNet | README numbers sync — stale data | ikalus1998-misakanet-965 lesson |
| #248 | punkpeye/awesome-mcp-devtools | Listing PR — still pending, no maintainer response | punkpeye-awesome-mcp-devtools-248-pending case study |
Use PR Genius as a GitHub Action in any repo:
comment_mode controls whether the full analysis is posted as a visible PR
comment (mirrors pr-agent's /review):
never — do not post (default when unset and comment_on_high_risk is false)high_risk — post only when the risk tier is high_riskalways — post on every run; existing comments are updated in place (no spam)Legacy:
comment_on_high_risk: trueis still supported and behaves likecomment_mode: high_risk.
@v1 — Always points to the latest v1.x.x release (recommended)@v1.9.1 — Pinned to specific version (for reproducibility)@main — Latest development version (not recommended for production)The v1 tag is automatically updated when a new version is published to PyPI.
Use PR Genius as a Docker container via GitHub Container Registry:
Docker Image Tags:
ghcr.io/zsxh1990/pr-genius:latest — Latest releaseghcr.io/zsxh1990/pr-genius:1.9.1 — Specific versionghcr.io/zsxh1990/pr-genius:1.9 — Minor versionghcr.io/zsxh1990/pr-genius:1 — Major version (auto-updated)Auto-update with Dependabot:
Docker: docker run --rm -i ghcr.io/zsxh1990/pr-genius:1.9.1
| Tool | Purpose | Required Args |
|---|---|---|
analyze_pr | Merge probability + optimization path + 3-tier risk | title, repo |
coach_pr | Go/no-go decision (pass/fail) | title, repo |
triage_pr | Maintainer policy check (9 rules) | title, repo |
get_repo_profile | Repo profile (17 fields) | repo |
list_open_prs | Open PR list | repo |
get_case_study | PR case study details | case_id |
search_patterns | Anti-pattern/success-pattern search | query |
schema_info | OKF schema versions | (none) |
status_prs | Outbound PR status heartbeat | author |
profile_writeback_suggestions | Profile update suggestions (dry-run) | author |
maintainer_view | Maintainer-side PR view | repo |
review_queue | Prioritized review queue | repo |
title (required for analyze_pr, coach_pr, triage_pr): The PR title, e.g. "fix: timeout in connection pool"repo (required for most tools): Repository in owner/name format, e.g. "encode/httpx"pr_description (optional): Additional PR body text for deeper analysisquery (required for search_patterns): Search keywords, e.g. "connection timeout"| Dimension | Count |
|---|---|
| Repo profiles | 61 |
| Case studies | 50+ |
| Success patterns | 687 (431 .md + 256 .json) |
| Anti-patterns | 668 (561 .md + 107 .json) |
| Total patterns | 1355 (all loaded) |
| Quality pass rate | 100% (994/994 markdown ≥75分) |
| Covered repos | 35+ (react, kubernetes, rust, uv, pydantic, etc.) |
| 规模 | Success | Anti | 总计 |
|---|---|---|---|
| 大仓 (>10k ⭐) | 208 | 205 | 413 |
| 中仓 (1k-10k ⭐) | 169 | 88 | 257 |
| 小仓 (<1k ⭐) | 169 | 88 | 257 |
| 通用 | 203 | 414 | 617 |
| 其他 (特定仓库) | 312 | 260 | 572 |
See CONTRIBUTING.md. AI-assisted PRs welcome.
中文版 README:README.zh-CN.md