Automate GitHub operations using gh CLI - manage repositories, issues, pull requests, releases, and workflows.
This Skill helps you manage GitHub operations using the gh CLI, including repositories, issues, pull requests, releases, and GitHub Actions workflows.
Verify with:
gh auth status
Use gh CLI commands. Common patterns:
Repository Operations
gh repo view <owner>/<repo>
gh repo clone <owner>/<repo>
gh repo create <name> --public/--private
gh repo list <owner>
Issue Operations
gh issue list --repo <owner>/<repo>
gh issue create --repo <owner>/<repo> --title "Title" --body "Body"
gh issue view <number> --repo <owner>/<repo>
gh issue close <number> --repo <owner>/<repo>
gh issue comment <number> --repo <owner>/<repo> --body "Comment"
Pull Request Operations
gh pr list --repo <owner>/<repo>
gh pr create --repo <owner>/<repo> --title "Title" --body "Body"
gh pr view <number> --repo <owner>/<repo>
gh pr merge <number> --repo <owner>/<repo>
gh pr review <number> --repo <owner>/<repo> --approve/--comment/--request-changes
gh pr checks <number> --repo <owner>/<repo>
Search Operations
gh search repos <query>
gh search issues <query>
gh search prs <query>
gh search code <query>
GitHub Actions
gh run list --repo <owner>/<repo>
gh run view <run-id> --repo <owner>/<repo>
gh workflow list --repo <owner>/<repo>
Releases
gh release list --repo <owner>/<repo>
gh release create <tag> --repo <owner>/<repo> --title "Title" --notes "Notes"
--repo <owner>/<repo> when not in a cloned repository--json flag when you need to parse output programmaticallyWhen listing items, format clearly:
#123 - Issue title (open/closed) - @author
#456 - PR title (open/merged/closed) - @author
When creating items, always report:
Create an issue:
gh issue create --repo <owner>/<repo> --title "Bug: Login fails" --body "Steps to reproduce..."
List open PRs awaiting review:
gh pr list --repo <owner>/<repo> --state open --search "review:required"
Get PR details as JSON:
gh pr view <number> --repo <owner>/<repo> --json title,state,reviews,checks
This Skill requires the GitHub CLI (gh) to be installed.
When piping output to other commands like jq, use $(printenv VAR) for environment variables:
gh pr view <number> --repo <owner>/<repo> --json title,state | jq '.title'