About github-skill
github-skill uses the `gh` CLI to read, search, and manage GitHub pull requests and issues for developers tracking code reviews and notifications. It provides PR comments, reviews, CI status, and notification queries, and can format PR details as Markdown for notes.
Key features
- 01List and filter PRs and issues
- 02View PR details, comments, and reviews
- 03Check CI status and review decisions
- 04Find pending review requests
- 05List repositories and unread notifications
- 06Export PR details as Markdown
Use cases
- 01Preparing for standup by checking PRs awaiting review
- 02Tracking PR feedback and CI status
- 03Checking issues and unread GitHub notifications
- 04Organizing PR details as Obsidian notes
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ idanbeck/ claude-skills --skill github-skillAfter installing, type/github-skillin Claude Code to confirm it loaded.
Bundled filesgithub_skill.py
Details
From the project READMEGitHub Skill - PRs & Code Review
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