| name | github |
| description | Interact with GitHub using the `gh` CLI. Use for issues, PRs, CI runs, releases, and advanced API queries. |
GitHub Skill
Use the gh CLI to interact with GitHub. Always specify --repo owner/repo when not inside a git directory, or pass URLs directly.
Disable interactive prompts in agent-run commands:
GH_PROMPT_DISABLED=1 gh <command>
Board-first issue mirroring
When this workspace uses .project/tasks.json as the canonical board, treat GitHub Issues as an external mirror unless the operator explicitly says otherwise.
Mapping:
- GitHub issue
number/URL -> task note/evidence external reference.
- GitHub issue title -> task description summary, preserving local task id as canonical id.
- GitHub labels -> task priority/milestone only through an explicit mapping recorded in the task notes.
- GitHub state closed/open -> mirror of local status, not an auto-close authority.
Sync policy:
- Prefer
.project -> GitHub for publication/mirror updates.
- Never close local tasks solely because a GitHub issue is closed; require local verification evidence.
- On conflict, append an audit note and ask for/rely on the board policy rather than overwriting silently.
- Do not mutate public GitHub metadata or issue state without explicit operator intent.
Issues
gh issue list --repo owner/repo
gh issue view 42 --repo owner/repo
GH_PROMPT_DISABLED=1 gh issue create --title "..." --body "..." --repo owner/repo
gh issue close 42 --repo owner/repo
Pull Requests
gh pr list --repo owner/repo
gh pr view 55 --repo owner/repo
GH_PROMPT_DISABLED=1 gh pr create --title "..." --body "..." --repo owner/repo
gh pr checks 55 --repo owner/repo
GH_PROMPT_DISABLED=1 gh pr merge 55 --squash --delete-branch --repo owner/repo
CI / Workflow Runs
gh run list --repo owner/repo --limit 10
gh run view <run-id> --repo owner/repo
gh run view <run-id> --repo owner/repo --log-failed
JSON Output
Most commands support --json with --jq for structured filtering:
gh issue list --repo owner/repo --json number,title,state \
--jq '.[] | "\(.number): \(.title) [\(.state)]"'
gh pr list --repo owner/repo --json number,title,headRefName \
--jq '.[] | "\(.number) [\(.headRefName)]: \(.title)"'
API for Advanced Queries
Use gh api for anything not covered by subcommands:
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
gh api repos/owner/repo/labels --jq '.[].name'
gh api --paginate repos/owner/repo/issues --jq '.[].title'