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
This Claude skill enables seamless interaction with GitHub repositories directly through the official GitHub CLI (gh). It empowers developers to manage the entire software development lifecycle—from tracking issues and reviewing pull requests to monitoring CI/CD pipelines and performing advanced data queries via the GitHub API—all within the AI conversation interface.
Use Cases
- CI/CD Pipeline Monitoring: Quickly check the status of GitHub Actions, identify failed workflow steps, and retrieve error logs to accelerate debugging and deployment cycles.
- Pull Request Management: Streamline code reviews by listing active PRs, checking CI status, and fetching specific PR metadata using structured JSON output.
- Issue Tracking & Automation: Efficiently manage project backlogs by creating, listing, and filtering issues without switching context to a web browser.
- Advanced Repository Analytics: Utilize the GitHub API integration with JQ filtering to extract specific repository data, contributor statistics, or custom reports for project management.
| 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)"'