gh-cli
Interact with GitHub repositories, PRs, and issues using the `gh` CLI. Use when the user asks to "list PRs", "check out PR", "view issue", or "create release".
When & Why to Use This Skill
This Claude skill integrates the GitHub CLI (gh) to streamline repository management and development workflows. It enables users to interact with Pull Requests, issues, and releases directly through natural language, automating routine version control tasks and enhancing developer productivity within the AI interface.
Use Cases
- Pull Request Management: Quickly list, filter, and view details of open PRs to monitor team progress or identify merge conflicts.
- Local Development Workflow: Automate the process of checking out specific PR branches locally for immediate testing and debugging.
- Issue Tracking and Context: Retrieve comprehensive issue history and comments to provide context for code fixes without leaving the workspace.
- Release Orchestration: Draft, view, and manage repository releases and tags to streamline the software deployment and versioning process.
| name | gh-cli |
|---|---|
| description | Interact with GitHub repositories, PRs, and issues using the `gh` CLI. Use when the user asks to "list PRs", "check out PR", "view issue", or "create release". |
| allowed-tools | Bash |
Use GitHub CLI
Instructions
- Ensure gh is available and authenticated: run
gh auth status(do not use --show-token); respect GH_HOST if set. Prefer GH_TOKEN/GITHUB_TOKEN env auth; never print tokens or add them to files. - Set repo context explicitly with
--repo owner/nameor by checking the current repo viagh repo view; avoid assuming defaults. - Prefer structured output with
--jsonfields and--limitto keep responses concise (e.g.,gh pr list --state open --json number,title,author,headRefName,baseRefName,url --limit 20). - Common reads:
gh pr view <number> --json number,title,state,author,mergedAt,commits,files,comments,url,gh issue list --state all --json number,title,state,author,url --limit 30,gh release list --limit 20,gh release view <tag> --json tagName,name,publishedAt,url. - For write operations (create/update PRs, issues, comments, releases), confirm intent and required fields; use
--title,--body, or--body-filewithout secrets. Avoid noisy outputs; capture URLs/results only. - When checking out PRs locally, use
gh pr checkout <number>and handle branch existence gracefully; do not alter remotes or push unless explicitly requested.
Example prompts
- "List open PRs with authors for repo owner/name using gh"
- "Show issue 42 details and comments via gh"
- "Checkout PR 17 locally with gh"
- "Draft release v1.2.0 on repo owner/name using gh"