Awesome-omni-skill github-search
Search GitHub for repos, code, and usage examples using gh CLI. Capabilities: repo discovery, code search, finding library usage patterns, issue/PR search. Actions: search, find, discover repos/code/examples. Keywords: gh, github, search repos, search code, find examples, how to use library, stars, language filter. Use when: finding repositories, searching code patterns, discovering how libraries are used, exploring open source.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/github-search" ~/.claude/skills/diegosouzapw-awesome-omni-skill-github-search-0bd94b && rm -rf "$T"
skills/development/github-search/SKILL.mdGitHub Search
Quick Commands
| Goal | Command |
|---|---|
| Search repos | |
| Search code | |
| Search issues | |
| Search PRs | |
Direct API Search (Web-Exact Results)
For complex queries where
gh search repos gives different results than web:
# Template - URL-encodes query automatically gh api "search/repositories?q=$(printf '%s' 'YOUR_QUERY_HERE' | jq -sRr @uri)&sort=updated&per_page=30" --jq '.items[].full_name'
Example - Multi-language with exclusions:
gh api "search/repositories?q=$(printf '%s' 'stars:>500 language:rust language:go language:TypeScript language:javascript -topic:ethereum -topic:cryptocurrency -topic:blockchain -topic:bitcoin -topic:web3' | jq -sRr @uri)&sort=updated&per_page=10" --jq '.items[].full_name'
Why use this?
is a convenience wrapper with its own query parsinggh search repos
hits the raw API, matching web behavior exactlygh api search/repositories- Required when combining: multiple languages + topic exclusions + star filters
Common jq extractions:
| Output | jq filter |
|---|---|
| Names only | |
| Full names | |
| With stars | |
| URLs | |
| Full JSON | (omit --jq) |
Patterns
Finding Repositories
When you see: User wants to find projects/repos by criteria Use:
gh search repos
# Basic search with stars gh search repos "stars:>500 language:rust" --sort=stars --limit=50 # Multiple languages (OR logic) gh search repos "language:rust language:go language:typescript" # Exclude topics gh search repos "stars:>1000 -topic:cryptocurrency -topic:blockchain" # By topic gh search repos "topic:cli topic:terminal stars:>100" # Recently updated gh search repos "language:python pushed:>2024-01-01"
Output formats:
--json name,url,description,stargazersCount # JSON output --web # Open in browser
Finding Code Examples
When you see: User wants to know how to use a library Use:
gh search code
# Find usage patterns gh search code "from zod import" --limit=20 gh search code "import { z } from 'zod'" --limit=20 # In specific file types gh search code "useQuery" extension:tsx --limit=30 # In specific paths gh search code "tanstack/query" path:src/ extension:ts # Exact phrase gh search code '"createTRPCRouter"' extension:ts
Pro tip: Combine with repo filter for focused results:
gh search code "pattern" repo:owner/repo
Finding Issues/Discussions
When you see: User looking for bug reports, feature requests, or discussions Use:
gh search issues or gh search prs
# Open issues with label gh search issues "is:open label:bug repo:facebook/react" # PRs by author gh search prs "author:username is:merged" # Issues mentioning error gh search issues '"connection refused" language:go'
Query Qualifiers Reference
Repo Search
| Qualifier | Example | Description |
|---|---|---|
| , | Star count |
| | Fork count |
| | Primary language |
| | Repository topic |
| | Exclude topic |
| | Last push date |
| | Creation date |
| | License type |
| | Archive status |
| , | Visibility |
Code Search
| Qualifier | Example | Description |
|---|---|---|
| | File extension |
| | File path |
| | Specific repo |
| | Code language |
| | File name |
Common Flags
| Flag | Description |
|---|---|
| Number of results (max 1000) |
| Sort by: stars, forks, updated, best-match |
| asc or desc |
| JSON output with specific fields |
| Open results in browser |
Common Use Cases
"Find popular X repos"
gh search repos "language:X stars:>500" --sort=stars --limit=50
"How do people use library Y"
gh search code "import Y" extension:ts --limit=30 gh search code "from Y import" extension:py --limit=30
"Find repos like Z but exclude crypto"
gh search repos "topic:Z -topic:cryptocurrency -topic:blockchain -topic:web3"
"Find recent active projects"
gh search repos "language:go pushed:>2024-06-01 stars:>100" --sort=updated
Tips
- Quote the query when it contains special chars:
gh search repos "stars:>500" - Multiple languages = OR:
matches eitherlanguage:rust language:go - Use
for scripting:--json--json name,url,stargazersCount - Date ranges:
pushed:2024-01-01..2024-06-01 - Numeric ranges:
stars:100..500 - Use
for complex queries: Whengh api
gives unexpected results, usegh search repos
for exact web paritygh api search/repositories?q=...