Learn-skills.dev gh

Use the GitHub CLI (`gh`) for repository operations including PR and issue inspection, GitHub search, checks, and API calls. Use when a user asks for GitHub URLs, PR metadata, issue details, checks, or repository automation.

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/adampoit/ai/gh" ~/.claude/skills/neversight-learn-skills-dev-gh && rm -rf "$T"
manifest: data/skills-md/adampoit/ai/gh/SKILL.md
source content

Gh

Use

gh
for GitHub-related tasks.

gh pr view 123 --json number,title,body,commits,files,headRefName,url

Inspect PRs And Issues

View one PR as JSON:

gh pr view 123 --json number,title,body,commits,files,headRefName,url

List open PRs:

gh pr list --state open --json number,title,headRefName,url

View one issue as JSON:

gh issue view 456 --json number,title,body,comments,url

Search GitHub

Prefer

gh search
for code/repo/issue/PR discovery.

Code search:

gh search code "TODO repo:owner/repo path:src" --limit 20

Repository search:

gh search repos "topic:cli language:go" --limit 20 --json name,description,url

Issue search:

gh search issues "repo:owner/repo is:issue is:open label:bug" --limit 50 --json number,title,url,state,updatedAt

PR search:

gh search prs "repo:owner/repo is:pr is:open author:alice" --limit 50 --json number,title,url,state,updatedAt

Search tips:

  • Use qualifiers to reduce noise:
    repo:
    ,
    path:
    ,
    language:
    ,
    is:open
    ,
    author:
    ,
    label:
  • Start broad, then refine filters
  • Combine with local search (
    rg
    ) in checked-out repos when validating context

Checks And CI

View checks for a PR branch:

gh pr checks 123

View run details with links:

gh run list --limit 20

API And Automation

Use

gh api
when subcommands do not expose required fields.

gh api repos/:owner/:repo/pulls --method POST -f title='My PR' -f head='feature-branch' -f base='main'

Prefer machine-readable output for automation:

  • Use
    --json
    where available
  • Use
    gh api
    output with
    jq
    for deterministic extraction of fields like
    number
    ,
    title
    ,
    body
    , and
    url

URL Handling

When the user provides a GitHub URL, parse owner/repo/number and fetch details with

gh
commands instead of browser scraping.

Examples:

  • PR URL ->
    gh pr view <number> --repo <owner>/<repo> ...
  • Issue URL ->
    gh issue view <number> --repo <owner>/<repo> ...

Guardrails

Default to read-only operations unless the user explicitly requests mutation.

Read-only examples:

  • gh pr view
    ,
    gh pr list
    ,
    gh pr checks
  • gh issue view
    ,
    gh search ...
    ,
    gh run list
    ,
    gh api
    GET calls

Mutating examples (require explicit user intent):

  • gh pr create
    ,
    gh pr merge
    ,
    gh pr close
  • gh issue create
    ,
    gh issue edit
    ,
    gh issue close
  • gh api
    POST/PATCH/DELETE calls