GitHub CLI Reference (gh)
IMPORTANT: This skill is for READ-ONLY operations only. DO NOT execute any commands that create, modify, or delete resources.
Repository Identification
Always be specific about which repository to use.
Method Command
Use -R flag gh <command> -R owner/repo
List remotes git remote -v
Best Practice: Use -R owner/repo explicitly instead of relying on the default repository to avoid ambiguity.
Issues (Read-Only)
Task Command
List issues gh issue list -R owner/repo
View issue gh issue view <number> -R owner/repo
View issue (web) gh issue view <number> -R owner/repo --web
Issue status gh issue status -R owner/repo
List options: --state open|closed|all , --label bug , --assignee @me , --limit 10
Pull Requests (Read-Only)
Task Command
List PRs gh pr list -R owner/repo
View PR gh pr view <number> -R owner/repo
View PR diff gh pr diff <number> -R owner/repo
View PR checks gh pr checks <number> -R owner/repo
PR status gh pr status -R owner/repo
List options: --state open|closed|merged|all , --label enhancement , --draft , --limit 10
Repository (Read-Only)
Task Command
View repo info gh repo view owner/repo
View repo (web) gh repo view owner/repo --web
List your repos gh repo list
List org repos gh repo list <org>
GitHub Actions - Workflow Runs (Read-Only)
Task Command
List runs gh run list -R owner/repo
View run gh run view <run-id> -R owner/repo
View run log gh run view <run-id> -R owner/repo --log
Watch run gh run watch <run-id> -R owner/repo
List options: --workflow <name> , --branch <branch> , --limit 10 , --status completed|failed|in_progress
GitHub Actions - Workflows (Read-Only)
Task Command
List workflows gh workflow list -R owner/repo
View workflow `gh workflow view <name
View workflow YAML `gh workflow view <name
GitHub Actions - Cache (Read-Only)
Task Command
List caches gh cache list -R owner/repo
List options: --limit 10 , --sort size|created_at , --order asc|desc
Releases (Read-Only)
Task Command
List releases gh release list -R owner/repo
View release gh release view <tag> -R owner/repo
View latest gh release view --latest -R owner/repo
Search (Read-Only)
Task Command
Search repos gh search repos <query>
Search issues gh search issues <query>
Search PRs gh search prs <query>
Search code gh search code <query>
Search commits gh search commits <query>
Examples:
gh search repos "language:go stars:>1000" gh search issues "is:open label:bug repo:cli/cli" gh search code "function main" --language=go
Status (Read-Only)
Task Command
View status gh status
Org status gh status -o <org>
Exclude repos gh status -e owner/repo1 -e owner/repo2
Shows assigned issues, PRs, review requests, mentions across your subscribed repositories.
API (Read-Only GET Requests)
Task Command
GET endpoint gh api <endpoint> -R owner/repo
With jq filter gh api <endpoint> -R owner/repo --jq '.[]'
Paginate gh api <endpoint> -R owner/repo --paginate
Examples:
gh api repos/owner/repo/issues --paginate gh api repos/owner/repo/pulls -q '.[] | {number, title}' gh api graphql -f query='query { viewer { login } }'
Common Output Options
Goal Flag Example
JSON output --json
gh issue list -R owner/repo --json number,title,state
JSON fields --json <fields>
gh pr view 123 -R owner/repo --json headRefName,baseRefName
Quiet (IDs only)
--jq '.[] .number'
Web browser --web
gh issue view 123 -R owner/repo --web
Identifying the Current Repository
Before running commands, determine the repository:
From git remote
git remote -v
From jj (if using Jujutsu)
jj git remote list
Always use explicit -R owner/repo to ensure you're querying the correct repository.