返回 Skill 列表
extension
分类: 开发与工程无需 API Key

github-content

使用gh CLI获取GitHub问题、拉取请求、仓库内容和代码。当用户分享GitHub URL(问题、拉取请求、仓库、源文件)或询问有关GitHub内容时使用。gh CLI提供的内容比通过网页抓取更完整,因为网页抓取经常会因为JavaScript渲染而遗漏部分内容。

person作者: jakexiaohubgithub

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 Pattern | Example | | ---------------------------------------- | ------------------------------- | | 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