dshbase

Plugin directory / Developer / pr-genius

pr-genius

Unverified zsxh1990

✓ Actively maintained 5 contributors

View on GitHub ↗ ← Back to plugin directory

2Stars
1Forks
0Open issues
Language
2026-08-23Last push
Cross-platformPlatform

What it does

PR Genius — 提交前改进顾问 + 大型开源项目 PR 知识库

Our take
Unverified — not yet verified

PR Genius — 提交前改进顾问 + 大型开源项目 PR 知识库 Not yet verified — install and test it yourself.

“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

Plugin author? Get the “Verified” label — submit your own evidence (screenshots, logs, or a short demo) and we'll review and flip the badge.

Submit verification evidence ↗

README


type: Knowledge Bundle
title: PR Genius — Pre-submission PR Advisor
description: Evidence-backed PR contribution advisor for large open-source projects
version: 1.4.0
created: 2026-07-01
updated: 2026-07-22
author: zsxh1990
conforms_to: OKF v0.1 (Sudhakaran88/okf-conformance) + agent_guidelines extension

mcp-name: io.github.zsxh1990/pr-genius

PR Genius — The advisor that knows which PRs get closed

1355 loaded patterns across 61 repos. 100% quality pass rate.
Clone → paste MCP config → ask "Should I open this PR to encode/httpx?"

CI
PyPI
Python
License
Glama score
DSH Plugin


🎯 What is PR Genius?

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 immediately
  • 🟡 STALE_REVIEW — ping after threshold
  • 🟡 STALE_NO_REVIEW — consider abandoning
  • 🟢 CLEAN / WAITING — continue waiting

🛡️ Why PR Genius?

PR 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 fastmcp-282-too-large anti-pattern
#2902 soxoj/maigret CI failure (tag dev not recognized) — fixed, merged maigret-tag-validation pattern

🚀 Quick Start

pip install prgenius-core

# Analyze PR
python3 -m prgenius analyze "feat: add feature" --repo org/repo --body "Fixes #123"

# Coach (pass/fail)
python3 -m prgenius coach "feat: add feature" --repo org/repo

# Triage (policy check)
python3 -m prgenius triage "docs: typo" --repo org/repo --diff-stat "docs/faq.md | 3 ++-"

# Status heartbeat (outbound PR monitoring)
python3 -m prgenius status --author zsxh1990
python3 -m prgenius status --author zsxh1990 --format json --save-snapshot

# Profile writeback suggestions (dry-run)
python3 -m prgenius profile writeback --author zsxh1990

🤖 GitHub Action

Use PR Genius as a GitHub Action in any repo:

# .github/workflows/pr-genius.yml
name: PR Genius Check
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  pr-genius:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: zsxh1990/pr-genius/.github/actions/pr-genius-check@v1
        id: pr-genius
        with:
          title: ${{ github.event.pull_request.title }}
          repo: ${{ github.repository }}
          body: ${{ github.event.pull_request.body }}
      - name: Comment on PR
        if: always()
        uses: actions/github-script@v7
        with:
          script: |
            const tier = '${{ steps.pr-genius.outputs.tier }}';
            const emoji = tier === 'high_risk' ? '🔴' : tier === 'medium_risk' ? '🟡' : '🟢';
            await github.rest.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: context.issue.number,
              body: `## ${emoji} PR Genius: ${tier}`
            });

Version Auto-Update

  • @v1 — Always points to the latest v1.x.x release (recommended)
  • @v1.7.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.

Docker Image (Alternative)

Use PR Genius as a Docker container via GitHub Container Registry:

# .github/workflows/pr-genius-docker.yml
name: PR Genius Check (Docker)
on:
  pull_request:
    types: [opened, synchronize]

permissions:
  contents: read
  pull-requests: write

jobs:
  pr-genius:
    runs-on: ubuntu-latest
    steps:
      - name: Run PR Genius
        uses: docker://ghcr.io/zsxh1990/pr-genius:latest
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          args: coach "${{ github.event.pull_request.title }}" --repo ${{ github.repository }} --format json

Docker Image Tags:

  • ghcr.io/zsxh1990/pr-genius:latest — Latest release
  • ghcr.io/zsxh1990/pr-genius:1.7.2 — Specific version
  • ghcr.io/zsxh1990/pr-genius:1.7 — Minor version
  • ghcr.io/zsxh1990/pr-genius:1 — Major version (auto-updated)

Auto-update with Dependabot:

# .github/dependabot.yml
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"

🤖 MCP Configuration

{
  "mcpServers": {
    "pr-genius": {
      "command": "python",
      "args": ["-m", "prgenius", "mcp", "serve"]
    }
  }
}

Docker: docker run --rm -i ghcr.io/zsxh1990/pr-genius:1.3.0

8 MCP Tools

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)

Tool Parameter Notes

  • 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 analysis
  • query (required for search_patterns): Search keywords, e.g. "connection timeout"

📊 Data Scale

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

🤖 Robots / Agents

  1. docs/index.md — file map
  2. AGENT_GUIDELINES_SCHEMA.md — agent_guidelines schema
  3. ROUNDS_SCHEMA.md — rounds schema
  4. BLACKLIST.md — repos we don't track

📖 Contributing

See CONTRIBUTING.md. AI-assisted PRs welcome.

🤝 Community

中文文档

中文版 README:README.zh-CN.md

Citation

@misc{pr-genius-2026,
  title  = {PR Genius — Evidence-backed PR Contribution Advisor},
  author = {zsxh1990},
  year   = {2026},
  url    = {https://github.com/zsxh1990/pr-genius}
}

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install pr-genius for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:zsxh1990/pr-genius

Headless (CLI) profile:

dsh plugin --profile headless add github:zsxh1990/pr-genius

Test report

Not yet L3-verified — see failure note below if we already ran it.

Status: pending · last test 2026-08-25
Note: 验证: install-fail Browse all pending failures →
Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7789 plugins →