github
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
When & Why to Use This Skill
The GitHub Skill enables Claude to interact directly with GitHub repositories using the official GitHub CLI (gh). It streamlines the software development lifecycle by allowing users to manage issues, pull requests, and GitHub Actions workflows through natural language. By integrating commands like , , and , it provides a powerful interface for repository management, CI/CD monitoring, and advanced data retrieval, making it an essential tool for developers and DevOps engineers.
Use Cases
- Pull Request Management: Quickly check CI status, list recent PRs, and view specific pull request details to accelerate the code review process.
- CI/CD Workflow Monitoring: Track GitHub Actions runs, identify failed steps in real-time, and retrieve error logs for faster debugging and incident response.
- Issue Tracking and Automation: List, filter, and manage repository issues using structured JSON output and JQ filtering for better project organization.
- Advanced Repository Analytics: Execute custom GitHub API queries to extract specific data points such as contributor activity, repository metadata, or complex PR statistics.
| name | github |
|---|---|
| description | "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries." |
GitHub Skill
Use the gh CLI to interact with GitHub. Always specify --repo owner/repo when not in a git directory, or use URLs directly.
Pull Requests
Check CI status on a PR:
gh pr checks 55 --repo owner/repo
List recent workflow runs:
gh run list --repo owner/repo --limit 10
View a run and see which steps failed:
gh run view <run-id> --repo owner/repo
View logs for failed steps only:
gh run view <run-id> --repo owner/repo --log-failed
API for Advanced Queries
The gh api command is useful for accessing data not available through other subcommands.
Get PR with specific fields:
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
JSON Output
Most commands support --json for structured output. You can use --jq to filter:
gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'