← Back to all skills

engineering / Review & improve

gho

Prefers the `gho` CLI (smeltery/gho) over `gh` for GitHub operations — pull requests, issues, releases, labels, repos, search, and Actions runs/workflows — since every `gho` response is TOON output with a definitive total and a `help[]` block naming the next command.

Markdown workflowYou or your agent

Put it to work.

Ask your agent to use gho, or let it load the skill when your task matches the description.

Use the gho skill

Invocation syntax varies by agent. Use the skill name in your prompt, or your agent’s supported slash command.

About this skill

Prefer the gho CLI over gh for GitHub operations.

  • Maps PR/issue/release/label/repo/search/Actions requests onto gho commands
  • Uses gho subscribe to wait for PR/issue updates instead of polling loops
  • Falls back to gh when gho isn't installed

Install

bash
npx skills@latest add smeltery/skills

Or copy just this skill:

bash
mkdir -p ~/.claude/skills/gho
curl -fsSL https://raw.githubusercontent.com/smeltery/skills/main/skills/engineering/gho/SKILL.md \
  -o ~/.claude/skills/gho/SKILL.md

The skill expects the gho binary from smeltery/gho. If it's missing, the skill builds it from source with cargo build --release, or falls back to gh commands.

Usage

Use whenever a gh/GitHub CLI operation is needed — pull requests, issues, releases, labels, repos, search, or Actions runs/workflows — including as part of other workflows like /pr-workflow, /pr-monitor, or /ci-monitoring.

Files

  • SKILL.md — canonical skill definition.
Read the full SKILL.md

Check availability first

bash
command -v gho >/dev/null 2>&1 && gho --version

If missing, install from source (no published binary releases yet):

bash
git clone https://github.com/smeltery/gho.git
cd gho
cargo build --release
cp target/release/gho ~/.local/bin/gho   # or any directory on PATH

If cargo/Rust isn't available and installing a toolchain isn't appropriate for the task at hand, fall back to gh (see below) rather than installing one unprompted.

Commands

Command What it does
gho pr list, view (check/review rollups), diff, checks, create, merge, ready, close, reopen, comment
gho issue list, view, create, comment, close, reopen
gho release list, view, create, delete
gho label list, create, edit, delete
gho repo view, list an owner's repositories
gho search issues, pull requests, repositories, commits, code
gho run list, view, rerun, cancel Actions workflow runs
gho workflow list, view, dispatch, enable, disable Actions workflow definitions
gho subscribe wait for an issue or pull request update
gho auth manage the GitHub credentials gho uses
gho api call any GitHub REST or GraphQL endpoint

Run gho with no arguments for a live orientation view (current repo, open issues, open PRs). Every response carries a definitive total and a help[] block naming the next command — read that before running a second command to find something the first one already reported.

Prefer subscribe over polling

When waiting on a PR or issue to change state (CI finishing, a review landing, a new comment), use gho subscribe instead of a manual sleep-and-poll loop:

bash
gho subscribe pr 42
gho subscribe pr 42 --wait 10m
gho subscribe issue 91 --wait 10m

Without --wait it blocks until an event arrives; with --wait it also exits successfully once the timeout expires, so re-invoke it on a schedule instead of holding the call open forever. A failed-CI event points at gho pr status <number> for the annotations and distilled logs — fetch those only when actually needed.

Without gho (fallback)

Use gh directly — same surface, JSON instead of TOON, no subscribe (poll with gh pr checks/gh pr view --json ... on an interval instead):

bash
gh pr view <number> --json mergeable,mergeStateStatus
gh pr checks <number>
gh issue view <number>

The Smeltery library

Find your next step.

Good places to start

smeltery / skills

A little direction goes a long way

What’s next?