
gh
Complete GitHub tasks using the gh CLI — pull request inspection, review, and merge, issues, CI checks, releases, workflow runs, code search, repo and label management. Use when the user says "merge PR", "check CI", "list issues", "review PR", "PR status", "close issue", "trigger workflow", "view release", "search repos", or invokes /gh. Use git (log, diff, status) for read-only local context only. Do NOT use for committing, staging, pushing, or PR creation — use /plate for those. Do NOT use for code-quality review — use a dedicated review skill.
- Installs
- 59
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/paulnsorensen/skillz-that-grillz --skill gh- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads gh automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
gh
GitHub operations via the gh CLI. Wraps every
common operation — PRs, issues, releases, workflow runs, repos, search — in
idiomatic, token-efficient invocations.
git is read-only here — log, diff, status. No commits, no pushes, no PR
creation through this skill. Pair with /plate (from the companion
easy-cheese repo) for
committing, pushing, and opening PRs — single or stacked.
CLI rules
Don't pipe gh into a separate jq binary. gh ships with --jq
and --template flags; inlining them avoids spawning jq and triggering
any compound-command sandbox heuristics some harnesses apply. Piping
gh ... --jq into downstream consumers like xargs or sed is fine —
the goal is to keep JSON extraction inside gh itself:
# wrong — needs jq binary, triggers a compound command
gh pr list --json number | jq '.[].number'
# right — inline jq, no pipe
gh pr list --json number --jq '.[].number'
# also fine — --jq inlined, then piped to xargs for a bulk op
gh pr list --json number --jq '.[].number' | xargs -I{} gh pr view {}
# Go template alternative
gh pr view 42 --json title --template '{{.title}}'
Never use heredoc --body for issue or comment bodies. The
$(cat <<'EOF' ... EOF) pattern can trip "# hides arguments" sandbox
heuristics when the body contains markdown headers. Write the body to a
file and pass --body-file:
gh issue create --title "flaky health-endpoint test" \
--body-file "$TMPDIR/issue-body.md" --label bug
Always check JSON field names with --help. They differ from the GitHub
REST API names:
gh pr list --help | sed -n '/JSON FIELDS/,/^$/p'
Common gotchas: stargazerCount (not stargazersCount), forkCount
(not forksCount), watchers (not watchersCount).
Pull requests
PR creation lives in /plate — this skill picks up once the PR exists.
# Request review on an existing PR
gh pr edit 123 --add-reviewer @copilot
# View
gh pr list # repo PRs
gh pr list --author @me # mine
gh pr list --search "is:open label:bug" # full search syntax
gh pr view 123
gh pr view 123 --web
gh pr diff 123
gh pr diff 123 --exclude '*.lock' # skip lockfile noise
# Status & checks
gh pr status # PRs touching you
gh pr checks 123 # CI checks for the PR
gh pr checks 123 --watch # block until done
# Review & merge
gh pr review 123 --approve --body "LGTM"
gh pr review 123 --request-changes --body-file review.md
gh pr merge 123 --squash --delete-branch
gh pr merge 123 --auto --squash # auto-merge when checks pass
gh pr update-branch 123 # bring up to date with base
# Lifecycle
gh pr close 123
gh pr reopen 123
gh pr ready 123 # un-draft
gh pr revert 123 # creates new revert PR
gh pr checkout 123 # check out PR branch locally
For --jq filter patterns and bulk operations, see
references/jq-recipes.md.
For end-to-end PR / release / CI scripts, see
references/automation.md.
Issues
gh issue create --title "..." --body-file body.md --label bug
gh issue create --title "..." --assignee @me
gh issue list # repo issues
gh issue list --label bug --state open
gh issue list --search "is:open label:bug sort:created-desc"
gh issue view 456
gh issue view 456 --web
gh issue edit 456 --add-label needs-triage
gh issue edit 456 --add-assignee @user
gh issue comment 456 --body-file comment.md
gh issue close 456
gh issue close 456 --duplicate-of 123
gh issue reopen 456
gh issue develop 456 --checkout # branch off the issue
CI / workflows / runs
gh workflow list
gh workflow run ci.yml --ref feature-branch
gh workflow run deploy.yml -f environment=production -f version=v1.2.3
gh run list # all recent runs
gh run list --workflow=ci.yml --status=failure
gh run list --branch=main --limit 10
gh run view 789
gh run view 789 --log # full logs
gh run view 789 --log-failed # only failed jobs
gh run view 789 --web
gh run watch 789 # block until run completes
gh run rerun 789 --failed # re-run failed jobs only
gh run cancel 789
# Inspect a run programmatically
gh run view 789 --json status,conclusion,jobs \
--jq '.jobs[] | select(.conclusion=="failure") | .name'
Releases
gh release create v1.0.0 # interactive
gh release create v1.0.0 --notes-file NOTES.md
gh release create v1.0.0 --generate-notes # auto-generate from PRs
gh release create v1.0.0 --draft
gh release create v1.0.0 dist/*.tar.gz # upload assets at create time
gh release upload v1.0.0 dist/*.tar.gz # add assets later
gh release list
gh release view v1.0.0
gh release download v1.0.0
gh release verify v1.0.0 # supply-chain attestation
Repos & search
gh repo view # current repo
gh repo view owner/repo --json description,stargazerCount,defaultBranchRef
gh repo clone owner/repo
gh repo fork owner/repo --remote
gh repo set-default # disambiguate origin
gh search repos "machine learning" --language=python --stars=">1000"
gh search code "TODO" --owner=myorg --language=rust
gh search issues "memory leak" --state=open
gh search prs "refactor" --created=">2024-01-01"
For label / codespace / gist / secret operations, see
references/extras.md.
Auth
gh auth login # interactive web login
gh auth login --clipboard # auto-copy OAuth code
gh auth status # current identity
gh auth refresh -h github.com -s repo,workflow # add scopes
gh auth setup-git # use gh as git credential helper
Common scopes: repo (private repo write), workflow (Actions),
admin:org (org admin), write:packages (registry).
If a call returns HTTP 401, run gh auth refresh. If it returns
HTTP 403 Resource not accessible by personal access token, scopes are
missing — re-run gh auth refresh -s <scope>. For deeper diagnosis see
references/troubleshooting.md.
What you don't do
- Stage, commit, push, create PRs, rebase, or otherwise mutate the working
tree — that's
/plate's job - Code-quality review — use a dedicated review skill
- Worktree creation — out of scope
- Destructive operations.
gh repo delete,gh release delete,gh secret delete,gh ssh-key delete,gh codespace delete, and similar irreversible commands stay outside this skill. Run them only with explicit user confirmation; never bake them into automation.
Gotchas
- Compound
cd <dir> && git ...can be blocked by a harness's bare-repo sandbox heuristic. Use git's-C <dir>flag instead, or run from the worktree root. - Heredoc
--bodywith markdown headers trips the "# hides arguments" guard — always use--body-file. gh apiraw calls are flakier than the named subcommands and rarely needed. Prefergh pr ...,gh issue ...,gh run ...overgh apiwhenever a subcommand exists; reach forgh apionly for endpoints that have no subcommand wrapper.- Rate limits:
gh api rate_limitshows current quota. Authenticated requests get 5000/hr, unauthenticated 60/hr. - Default repo ambiguity: when a clone has multiple remotes, run
gh repo set-defaultonce or pass--repo owner/nameper call.
See also
references/jq-recipes.md— token-efficient--jqpatterns for PR / run / issue queriesreferences/automation.md— release flow, CI monitor, bulk operationsreferences/extras.md— labels, codespaces, gists, secrets/variables, projects, aliasesreferences/troubleshooting.md— auth, permissions, rate limits, common error codes- Official manual: https://cli.github.com/manual
FAQ
What does the gh skill do?
Complete GitHub tasks using the gh CLI — pull request inspection, review, and merge, issues, CI checks, releases, workflow runs, code search, repo and label management. Use when the user says "merge PR", "check CI", "list issues", "review PR", "PR status", "close issue", "trigger workflow", "view release", "search repos", or invokes /gh. Use git (log, diff, status) for read-only local context only. Do NOT use for committing, staging, pushing, or PR creation — use /plate for those. Do NOT use for code-quality review — use a dedicated review skill.
How do I install gh?
Run npx skills add https://github.com/paulnsorensen/skillz-that-grillz --skill gh in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/gh/ (personal) or .claude/skills/gh/ (project).
Which AI agents can use gh?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is gh safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains gh?
It is published by paulnsorensen in paulnsorensen/skillz-that-grillz. It has 59 recorded installs.
More from paulnsorensen/skillz-that-grillz
skillz
paulnsorensen/skillz-that-grillz
Add, improve, audit, wedge, or autoimprove a skill. Improve and audit also accept a sub-agent definition. The result runs predictably on Claude Code, Codex, OMP, and other Agent Skills hosts. Use for /skillz , "improve this skill", "autoimprove this skill", "optimize this skill", "tighten this skill", "audit this agent", "new skill for X", "skill not triggering", "fix trigger rate", "wedge this", "turn this repeated work into a CLI", or "what in this skill should be a CLI". Do NOT use for CLAUDE.md or system-prompt edits, or for code changes that a cheese pipeline skill owns.
prek
paulnsorensen/skillz-that-grillz
Onboard prek (Rust-powered pre-commit) into any project and suggest hooks tailored to the language/framework. Use when the user says "add prek", "set up pre-commit hooks", "configure prek", "what hooks should I use", or when you notice a project without a prek.toml that would benefit from pre-commit checks. Also trigger when the user wants to add new hooks to an existing prek.toml, audit their hook config, or migrate from pre-commit to prek. Covers Rust, Python, TypeScript/JavaScript, Go, Ruby, and Shell projects. Do NOT use for husky, lint-staged, or CI pipeline hook configuration — this skill is specifically for prek.
copilot
paulnsorensen/skillz-that-grillz
Use when the user says "copilot review", "review with copilot", "delegate to copilot", "have copilot fix this", "copilot agent task", "set up copilot", "generate copilot instructions", "bootstrap copilot for this repo", or invokes /copilot. Three modes: review (run a code review on a PR and route fixes to Copilot via inline @copilot fix this comments), delegate (create a gh agent-task, poll until the coding agent opens a PR, optionally hand off to review), and setup (one-time bootstrap that writes .github/copilot-instructions.md and the per-role .github/instructions/.instructions.md files). review and delegate are routine; setup is a one-time repo bootstrap loaded on demand from references/setup.md only when the user explicitly asks. Do NOT use for plain GitHub PR work — that is /gh's job.
serena-config
paulnsorensen/skillz-that-grillz
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.