| name | github-content |
| description | 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. |
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 100or use--jqto filter - Use
--jsonflag withgh pr vieworgh issue viewfor structured data - For private repos, ensure
gh auth statusshows you're authenticated - When browsing files, the API returns base64-encoded content that needs decoding