GitHub PR operations - create, list, merge, update, and manage pull requests using gh CLI
Manages GitHub pull requests using the `gh` CLI to create, list, review, merge, and update PRs. Claude uses this when you need to create a PR from your current branch, check the status of existing PRs, or merge approved changes.
/plugin marketplace add Nice-Wolf-Studio/agent-github-skills/plugin install nice-wolf-studio-github-skills@Nice-Wolf-Studio/agent-github-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill provides comprehensive pull request (PR) management operations including creating, listing, reviewing, merging, and managing PR status.
Create a new pull request from one branch to another.
List PRs with filters (state, base branch, head branch, etc.).
Retrieve detailed information about a specific PR.
View the list of files changed in a PR.
Check the status of CI/CD checks and reviews.
View review comments on a PR.
View all reviews submitted on a PR.
Update PR branch with latest changes from base branch.
Merge a pull request using different merge strategies.
Basic PR:
gh pr create --repo owner/repo-name \
--base main \
--head feature-branch \
--title "Add new feature" \
--body "This PR adds a new feature to the application"
PR with labels and reviewers:
gh pr create --repo owner/repo-name \
--base main \
--head feature-branch \
--title "Fix critical bug" \
--body "Fixes issue #123" \
--label "bug" \
--label "urgent" \
--reviewer reviewer1,reviewer2
Draft PR:
gh pr create --repo owner/repo-name \
--base main \
--head feature-branch \
--title "WIP: New feature" \
--body "Work in progress" \
--draft
Interactive PR creation:
gh pr create --repo owner/repo-name
# Follow prompts for base, title, and body
PR from current branch:
cd repo-name
git checkout feature-branch
gh pr create --title "My feature" --body "Description"
PR with template:
gh pr create --repo owner/repo-name --template pull_request_template.md
List all open PRs:
gh pr list --repo owner/repo-name
List all PRs (including closed):
gh pr list --repo owner/repo-name --state all
List closed/merged PRs:
gh pr list --repo owner/repo-name --state closed
gh pr list --repo owner/repo-name --state merged
Filter by base branch:
gh pr list --repo owner/repo-name --base main
Filter by head branch:
gh pr list --repo owner/repo-name --head feature-branch
Filter by label:
gh pr list --repo owner/repo-name --label "needs-review"
Filter by author:
gh pr list --repo owner/repo-name --author username
Filter by assignee:
gh pr list --repo owner/repo-name --assignee username
Limit results:
gh pr list --repo owner/repo-name --limit 50
Custom JSON output:
gh pr list --repo owner/repo-name --json number,title,state,headRefName --jq '.[] | "\(.number): \(.title) (\(.headRefName))"'
View PR in terminal:
gh pr view 123 --repo owner/repo-name
View with comments:
gh pr view 123 --repo owner/repo-name --comments
View in browser:
gh pr view 123 --repo owner/repo-name --web
JSON output:
gh pr view 123 --repo owner/repo-name --json number,title,body,state,isDraft,mergeable,reviews,statusCheckRollup
Get PR by branch:
gh pr view feature-branch --repo owner/repo-name
List changed files:
gh pr diff 123 --repo owner/repo-name --name-only
View full diff:
gh pr diff 123 --repo owner/repo-name
View diff for specific file:
gh pr diff 123 --repo owner/repo-name -- path/to/file.js
Get file list with stats:
gh api repos/owner/repo-name/pulls/123/files --jq '.[] | "\(.filename): +\(.additions) -\(.deletions)"'
Check overall status:
gh pr view 123 --repo owner/repo-name --json statusCheckRollup
Check if checks passed:
gh pr checks 123 --repo owner/repo-name
Watch checks in real-time:
gh pr checks 123 --repo owner/repo-name --watch
Check specific workflow:
gh pr checks 123 --repo owner/repo-name --json | jq '.[] | select(.name=="CI")'
View comments:
gh pr view 123 --repo owner/repo-name --comments
Get review comments as JSON:
gh api repos/owner/repo-name/pulls/123/comments --jq '.[] | {author: .user.login, body: .body, path: .path}'
List all conversation threads:
gh pr view 123 --repo owner/repo-name --json comments --jq '.comments[] | "\(.author.login): \(.body)"'
View all reviews:
gh pr view 123 --repo owner/repo-name --json reviews
Check review status:
gh pr view 123 --repo owner/repo-name --json reviewDecision
# Returns: APPROVED, CHANGES_REQUESTED, or REVIEW_REQUIRED
List reviewers:
gh pr view 123 --repo owner/repo-name --json reviews --jq '.reviews[] | {reviewer: .author.login, state: .state}'
Update with base branch:
gh pr checkout 123 --repo owner/repo-name
git pull origin main
git push
Rebase on base branch:
gh pr checkout 123 --repo owner/repo-name
git fetch origin
git rebase origin/main
git push --force-with-lease
Merge base into PR branch:
gh pr checkout 123 --repo owner/repo-name
git merge origin/main
git push
Using GitHub API to update:
gh api repos/owner/repo-name/pulls/123/update-branch -X PUT
Merge with merge commit:
gh pr merge 123 --repo owner/repo-name --merge
Squash and merge:
gh pr merge 123 --repo owner/repo-name --squash
Rebase and merge:
gh pr merge 123 --repo owner/repo-name --rebase
Auto-merge when checks pass:
gh pr merge 123 --repo owner/repo-name --auto --squash
Merge with custom commit message:
gh pr merge 123 --repo owner/repo-name --squash --subject "feat: add new feature" --body "Detailed description"
Delete branch after merge:
gh pr merge 123 --repo owner/repo-name --squash --delete-branch
Merge and close issues:
gh pr merge 123 --repo owner/repo-name --squash --body "Fixes #456, closes #457"
# 1. Create feature branch
cd repo-name
git checkout -b feature/new-feature
git commit -m "Add feature"
git push -u origin feature/new-feature
# 2. Create PR
gh pr create --title "Add new feature" --body "Implements feature X"
# 3. Check status
gh pr checks --watch
# 4. Request reviews
gh pr edit --add-reviewer team1,user1
# 5. Respond to feedback
git commit -m "Address review comments"
git push
# 6. Merge when ready
gh pr merge --squash --delete-branch
# 1. List PRs needing review
gh pr list --label "needs-review" --repo owner/repo-name
# 2. View PR details
gh pr view 123 --comments
# 3. Check out PR locally
gh pr checkout 123
# 4. Test changes
npm test
# 5. Add review (see code-review skill)
gh pr review 123 --approve --body "LGTM!"
# 6. Merge if approved
gh pr merge 123 --squash
# 1. Check if PR has conflicts
gh pr view 123 --json mergeable
# 2. Check out PR
gh pr checkout 123
# 3. Update with base branch
git fetch origin
git merge origin/main
# 4. Resolve conflicts
# (manually edit files)
# 5. Complete merge
git add .
git commit -m "Resolve merge conflicts"
git push
# 1. Create draft PR
gh pr create --draft --title "WIP: Feature X"
# 2. Continue working
git commit -m "Progress on feature"
git push
# 3. Mark as ready when done
gh pr ready 123
# 4. Request reviews
gh pr edit 123 --add-reviewer team1
# Enable auto-merge when checks pass
gh pr merge 123 --auto --squash
# Cancel auto-merge
gh pr merge 123 --auto=false
# Check for existing PR from branch
gh pr list --head feature-branch --repo owner/repo-name
# Check if PR is mergeable
gh pr view 123 --json mergeable --jq '.mergeable'
# If not mergeable, update branch
gh pr checkout 123
git merge origin/main
# Resolve conflicts, commit, push
# View failed checks
gh pr checks 123 --repo owner/repo-name
# View workflow runs
gh run list --branch feature-branch
# Rerun failed checks
gh run rerun <run-id>
# Check permissions
gh api repos/owner/repo-name --jq '.permissions'
# Ensure you're authenticated
gh auth status
[Draft] -> [Ready for Review] # gh pr ready
[Open] -> [Merged] # gh pr merge
[Open] -> [Closed] # gh pr close
[Closed] -> [Open] # gh pr reopen
[Open] -> [Auto-merge Enabled] # gh pr merge --auto
issue-management to link PRs to issuescode-review to add reviews and commentscommit-operations to view commit historyrepository-management to manage branchesApplies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.