Keep pull requests and issues healthy using gh CLI (list, view, comment, close).
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: gh-pr-issue
description: Keep pull requests and issues healthy using gh CLI (list, view, comment, close).
---
## When to Use
Invoke this skill when triaging review queues, summarizing checks, or updating GitHub issues. It wraps `gh pr` and `gh issue` commands so you can stay on top of reviews without leaving Opencode.
## Prerequisites
1. `gh` CLI authenticated (`gh auth login --scopes repo,workflow`).
2. `jq` installed for JSON parsing.
3. Environment variables (ask for them if absent):
- `GITHUB_REPOSITORY`
- `DEFAULT_BRANCH`
## Pull Request Procedures
### List Pull Requests (`/pr-list`)
1. Command template:
```bash
gh pr list --repo "$GITHUB_REPOSITORY" \
--state ${STATE:-open} \
${LABEL:+--label "$LABEL"} \
${SEARCH:+--search "$SEARCH"} \
--limit ${LIMIT:-20} \
--json number,title,author,reviewDecision,updatedAt,url
```
2. Pipe to `jq '.'`.
3. Highlight numbers, titles, reviewDecision, and last updated timestamps.
### View Pull Request (`/pr-checks`, `/pr-open`)
1. Fetch metadata + checks:
```bash
gh pr view "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" \
--json number,title,author,baseRefName,headRefName,isDraft,mergeable,reviewDecision,checks
```
2. Summarize failing checks with names, status, and URLs.
3. To open in browser, run `gh pr view "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --web` (gh will launch the default browser; echo the URL when possible).
### Comment on Pull Request (`/pr-comment`)
1. Ensure a comment body exists; request it if missing.
2. Run `gh pr comment "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --body "$BODY"`.
3. Share the resulting comment URL from gh output.
### Close / Reopen Pull Request (`/pr-close`)
1. Optional: leave a note explaining why the PR is closing.
2. If deleting the branch, append `--delete-branch`.
3. Command:
```bash
[ -n "$BODY" ] && gh pr comment "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --body "$BODY"
gh pr close "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" ${DELETE_BRANCH:+--delete-branch}
```
4. Report final state.
## Issue Procedures
### List Issues (`/issue-list`)
1. Command template:
```bash
gh issue list --repo "$GITHUB_REPOSITORY" \
--state ${STATE:-open} \
${LABEL:+--label "$LABEL"} \
${SEARCH:+--search "$SEARCH"} \
--limit ${LIMIT:-20} \
--json number,title,author,assignees,updatedAt,url
```
2. Use `jq '.'` and summarize.
### View Issue (`/issue-view`)
1. Fetch metadata:
```bash
gh issue view "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" \
--json number,title,state,body,labels,assignees,url
```
2. Surface body excerpt, labels, assignees, and share the URL.
### Comment on Issue (`/issue-comment`)
1. Confirm comment body.
2. Run `gh issue comment "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY" --body "$BODY"`.
3. Return confirmation output.
### Close or Reopen Issue (`/issue-close`, `/issue-reopen`)
1. For closing:
- Optionally comment with context first.
- Run `gh issue close "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY"`.
2. For reopening:
- Optionally state the reason.
- Run `gh issue reopen "$ISSUE_NUMBER" --repo "$GITHUB_REPOSITORY"`.
3. Confirm the resulting state.
## Safety Checks
- Never mutate PRs/issues outside `GITHUB_REPOSITORY`.
- Validate required arguments (PR/issue numbers, comment bodies) before running gh commands.
- When summarizing checks, focus on failing or pending contexts to avoid noisy output.
No comments yet. Be the first to comment!