Claude-skill-registry github-content

Fetch GitHub issues, PRs, repo contents, and code using the gh CLI. Use when the user shares GitHub URLs (issues, PRs, repos, source files) or asks about GitHub content. The gh CLI provides complete content that web fetching often misses due to JavaScript rendering.

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

GitHub Content Fetching

When to activate:

  • User pastes a GitHub URL (issue, PR, repo, or source file)
  • User asks about PR comments, reviews, or discussions
  • User wants to browse or search code in a GitHub repository
  • User references a GitHub issue or PR by number and repo

Why use gh CLI instead of web fetching:

GitHub's web interface relies heavily on JavaScript to load comments, reviews, and discussions. Web fetching often retrieves only partial content. The

gh
CLI accesses the API directly and returns complete data.

Issues

View an issue with all comments:

gh issue view <number> --repo owner/repo --comments

Pull Requests

View a PR with comments and review status:

gh pr view <number> --repo owner/repo --comments

View the diff for a PR:

gh pr diff <number> --repo owner/repo

View PR review comments (inline code comments):

gh api repos/owner/repo/pulls/<number>/comments

List files changed in a PR:

gh pr view <number> --repo owner/repo --json files --jq '.files[].path'

Repository Browsing

List contents of a directory (defaults to root):

gh api repos/owner/repo/contents/path/to/dir

View a specific file's contents:

gh api repos/owner/repo/contents/path/to/file --jq '.content' | base64 -d

Get the full repository tree (all files):

gh api repos/owner/repo/git/trees/main?recursive=1 --jq '.tree[] | select(.type=="blob") | .path'

Replace

main
with the appropriate branch name if needed.

Code Search

Search for code within a specific repository:

gh search code "search query" --repo owner/repo

Search with language filter:

gh search code "search query" --repo owner/repo --language python

Search with path filter:

gh search code "search query" --repo owner/repo --path "src/"

View search results with more context:

gh search code "search query" --repo owner/repo --json path,repository,textMatches

Parsing GitHub URLs

Extract owner/repo from common URL patterns:

URL PatternExample
github.com/owner/repo
github.com/zed-industries/zed
github.com/owner/repo/issues/123
Issue #123 in that repo
github.com/owner/repo/pull/456
PR #456 in that repo
github.com/owner/repo/blob/branch/path
Source file at path
github.com/owner/repo/tree/branch/path
Directory at path

Tips

  • For large outputs, pipe through
    head -n 100
    or use
    --jq
    to filter
  • Use
    --json
    flag with
    gh pr view
    or
    gh issue view
    for structured data
  • For private repos, ensure
    gh auth status
    shows you're authenticated
  • When browsing files, the API returns base64-encoded content that needs decoding