gh-review-requests
Fetch unread GitHub notifications for open PRs where review is requested from a specified team or opened by a team member. Use when asked to "find PRs I need to review", "show my review requests", "wh
Click Get this skill. Grab the .md file, one click, no account needed.
Add it to Claude. Drop it into ~/.claude/skills/. Claude picks it up the next time you open a session.
Ask normally. Type your question. The skill triggers on the right keywords — you don't have to remember anything.
Generate conventional commit messages by analyzing staged changes
Find and delete merged/stale local and remote branches
Safely undo the last git operation (commit, merge, rebase, etc.)
Generate CHANGELOG.md from git history using conventional commits
Analyze and suggest resolutions for merge conflicts
Automate git bisect to find the commit that introduced a bug
Fetch unread `review_requested` notifications for open (unmerged) PRs, filtered by a GitHub team.
**Requires**: GitHub CLI (`gh`) authenticated.
## Step 1: Identify the Team
If the user has not specified a team, ask:
> Which GitHub team should I filter by? (e.g. `streaming-platform`)
Accept either a team slug (`streaming-platform`) or a display name ("Streaming Platform") — convert to lowercase-hyphenated slug before passing to the script.
## Step 2: Run the Script
```bash
uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team-slug>
```
To filter by multiple teams, pass a comma-separated list:
```bash
uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team slugs>
```
### Script output
```json
{
"total": 3,
"prs": [
{
"notification_id": "12345",
"title": "feat(kafka): add workflow to restart a broker",
"url": "https://github.com/getsentry/ops/pull/19144",
"repo": "getsentry/ops",
"pr_number": 19144,
"author": "bmckerry",
"reasons": ["opened by: bmckerry"]
}
]
}
```
`reasons` will contain one or both of:
- `"review requested from: <Team Name>"` — the team is a requested reviewer
- `"opened by: <login>"` — the PR author is a team member
## Step 3: Present Results
Display results as a markdown table with full URLs:
| # | Title | URL | Reason |
|---|-------|-----|--------|
| 1 | feat(kafka): add workflow to restart a broker | https://github.com/getsentry/ops/pull/19144 | opened by: evanh |
If `total` is 0, say: "No unread review requests found for that team."
## Fallback
If the script fails, run manually:
```bash
gh api notifications --paginate
```
Then for each `review_requested` notification, check:
- `gh api repos/{repo}/pulls/{number}` — skip if `state == "closed"` or `merged_at` is set
- `gh api repos/{repo}/pulls/{number}/requested_reviewers` — check `teams[].name`
- `gh api orgs/{org}/teams/{slug}/members` — check if author is a member