Read, search, and manage GitHub pull requests and issues. View reviews, check CI status, track notifications.
No Setup Required
This skill uses the gh CLI which should already be authenticated. Verify with:
gh auth status
Commands
List Open PRs
python3 ~/.claude/skills/github-skill/github_skill.py prs [--repo OWNER/REPO] [--mine] [--limit N] [--state STATE]
Arguments:
--repo/-r- Repository inowner/repoformat (optional if in git repo)--mine/-m- Only show your PRs--limit/-l- Number of results (default: 20)--state/-s- Filter:open,closed,merged,all(default: open)
Get PR Details
python3 ~/.claude/skills/github-skill/github_skill.py pr NUMBER [--repo OWNER/REPO] [--format FORMAT]
Arguments:
NUMBER- PR number--repo/-r- Repository--format/-f- Output format:json(default) orvault(markdown for notes)
Get PR Review Comments
python3 ~/.claude/skills/github-skill/github_skill.py pr-comments NUMBER [--repo OWNER/REPO]
Get PR Reviews
python3 ~/.claude/skills/github-skill/github_skill.py pr-reviews NUMBER [--repo OWNER/REPO]
PRs Awaiting Your Review
python3 ~/.claude/skills/github-skill/github_skill.py review-requests [--repo OWNER/REPO] [--limit N]
Perfect for morning standup prep - shows all PRs where your review is requested.
List Issues
python3 ~/.claude/skills/github-skill/github_skill.py issues [--repo OWNER/REPO] [--mine] [--limit N] [--state STATE]
Get Issue Details
python3 ~/.claude/skills/github-skill/github_skill.py issue NUMBER [--repo OWNER/REPO]
List Your Repos
python3 ~/.claude/skills/github-skill/github_skill.py repos [--limit N]
Unread Notifications
python3 ~/.claude/skills/github-skill/github_skill.py notifications [--limit N]
Workflow Examples
Morning Standup Prep
# See what PRs need your review
python3 ~/.claude/skills/github-skill/github_skill.py review-requests
# Check status of your open PRs
python3 ~/.claude/skills/github-skill/github_skill.py prs --mine
This gives you:
- PRs awaiting your review (with CI status)
- Your open PRs (with review decisions)
Format for standup: "Review Andre's PR (EPO-428) - CI passing, needs approval"
Check Specific PR
# Get full details
python3 ~/.claude/skills/github-skill/github_skill.py pr 123 --repo epochml/epoch
# See review comments
python3 ~/.claude/skills/github-skill/github_skill.py pr-comments 123 --repo epochml/epoch
# Get vault-formatted markdown
python3 ~/.claude/skills/github-skill/github_skill.py pr 123 --repo epochml/epoch --format vault
Cross-Reference with Linear
PR titles often include Linear issue IDs (e.g., "EPO-428: Fix manifest flattening"). The skill extracts these automatically in output:
{
"number": 123,
"title": "EPO-428: Fix manifest flattening",
"linear_id": "EPO-428",
...
}
Use with Linear skill:
# Get PR details
python3 ~/.claude/skills/github-skill/github_skill.py pr 123 --repo epochml/epoch
# Get Linear issue details
python3 ~/.claude/skills/linear-skill/linear_skill.py issue EPO-428
Output
All commands output JSON by default. The --format vault option (for pr command) outputs markdown suitable for Obsidian notes:
## PR #123: EPO-428: Fix manifest flattening
**Status:** OPEN, Changes Requested
**Author:** @andre
**Linear:** EPO-428
**Link:** [epochml/epoch#123](https://github.com/epochml/epoch/pull/123)
### Checks
- CI: OK
- lint: OK
### Reviews
- @idan: CHANGES_REQUESTED - "Need to handle edge case..."
Output Fields
PR List Output
{
"number": 123,
"title": "EPO-428: Fix manifest flattening",
"author": {"login": "andre"},
"state": "OPEN",
"reviewDecision": "CHANGES_REQUESTED",
"linear_id": "EPO-428",
"checks_summary": "5 passed, 1 pending",
"url": "https://github.com/epochml/epoch/pull/123"
}
Review Decision Values
APPROVED- Ready to mergeCHANGES_REQUESTED- Needs workREVIEW_REQUIRED- Waiting for reviewnull- No reviews yet
Requirements
ghCLI installed and authenticated- Python 3.9+
Security Notes
- Uses existing
ghCLI authentication - No credentials stored in this skill
- Inherits permissions from
gh auth status