Help us improve
Share bugs, ideas, or general feedback.
From teams
Fetches and filters human review comments from recent merged PRs in GitHub repos using Python script and gh CLI. Outputs clean JSON of comments, reviewers, and PR details for team coding rules analysis.
npx claudepluginhub openshift-eng/ai-helpers --plugin teamsHow this skill is triggered — by the user, by Claude, or both
Slash command
/teams:coderabbit-rules-from-pr-reviewsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill runs a Python script that fetches human review comments from recent merged PRs in a given GitHub repository. It handles all GitHub API calls, bot filtering, noise removal, rate limiting, and pagination, returning clean JSON output for AI analysis.
Fetches, organizes, and presents GitHub PR comments—issue-level, review bodies, inline—grouped by human/bot with extracted must-fix/optional actionable items.
Automatically resolves all PR review comments (human and bot) by fetching unanswered comments, evaluating each, fixing real issues, dismissing false positives, and replying with outcomes.
Triages unresolved GitHub PR review comments from bots/humans, deduplicates issues, produces severity-ordered fix plan, resolves ignored threads, and fixes others with subagents before merge.
Share bugs, ideas, or general feedback.
This skill runs a Python script that fetches human review comments from recent merged PRs in a given GitHub repository. It handles all GitHub API calls, bot filtering, noise removal, rate limiting, and pagination, returning clean JSON output for AI analysis.
Use this skill as Step 2-3 of the /teams:coderabbit-rules-from-pr-reviews command to collect review comments. The script replaces manual gh api calls with a single Python invocation.
gh): Must be installed and authenticated.plugins/teams/skills/coderabbit-rules-from-pr-reviews/fetch_pr_comments.py
# Default: 30 most recent merged PRs
python3 plugins/teams/skills/coderabbit-rules-from-pr-reviews/fetch_pr_comments.py openshift/origin
# Custom count
python3 plugins/teams/skills/coderabbit-rules-from-pr-reviews/fetch_pr_comments.py openshift/origin --count 50
# Full URL
python3 plugins/teams/skills/coderabbit-rules-from-pr-reviews/fetch_pr_comments.py https://github.com/openshift/origin
owner/repo or full GitHub URLgh pr list/pulls/{number}/comments)/issues/{number}/comments)[bot] or matching known bots (coderabbitai, openshift-ci, openshift-bot, openshift-merge-robot, codecov, dependabot, renovate, k8s-ci-robot, etc.)//lgtm, /approve, /hold, etc.JSON to stdout, progress to stderr:
{
"repo": "openshift/origin",
"prs_analyzed": 30,
"total_comments": 142,
"unique_reviewers": 18,
"reviewers": ["alice", "bob", "carol"],
"prs": [
{
"number": 29500,
"title": "Fix flaky test in e2e suite",
"author": "dave",
"url": "https://github.com/openshift/origin/pull/29500",
"merged_at": "2026-03-25T14:30:00Z"
}
],
"comments": [
{
"pr": 29500,
"user": "alice",
"body": "This error should be wrapped with fmt.Errorf to preserve context",
"path": "pkg/cmd/server/start.go",
"type": "review",
"pr_title": "Fix flaky test in e2e suite",
"pr_author": "dave"
},
{
"pr": 29500,
"user": "bob",
"body": "We should add a unit test for this edge case",
"path": "",
"type": "issue",
"pr_title": "Fix flaky test in e2e suite",
"pr_author": "dave"
}
]
}
repo: The normalized owner/repo stringprs_analyzed: Number of merged PRs fetchedtotal_comments: Number of human review comments after filteringunique_reviewers: Count of distinct human reviewersreviewers: Sorted list of reviewer loginsprs[].number: PR numberprs[].title: PR titleprs[].author: PR author loginprs[].url: PR URLprs[].merged_at: Merge timestampcomments[].pr: PR number the comment belongs tocomments[].user: Reviewer logincomments[].body: Full comment textcomments[].path: File path (for inline review comments; empty for discussion comments)comments[].type: "review" for inline code comments, "issue" for general discussioncomments[].pr_title: Title of the PRcomments[].pr_author: Author of the PR