gh-search

aaddrick's avatarfrom aaddrick

Use when searching GitHub via CLI for issues, PRs, repos, code, or commits - provides correct syntax for exclusions, qualifiers, quoting, and platform-specific handling to avoid command failures

⭐1stars🔀0forks📁View on GitHub🕐Updated Nov 16, 2025

When & Why to Use This Skill

The gh-search Claude skill optimizes GitHub CLI usage by providing precise syntax for searching issues, pull requests, repositories, and code. It eliminates common command-line errors by handling complex query qualifiers, exclusions, and platform-specific shell requirements for Unix and PowerShell, ensuring developers can navigate GitHub's vast data efficiently from the terminal.

Use Cases

  • Filtering issues and pull requests: Quickly find specific tasks by combining labels, authors, and states while correctly excluding unwanted tags like 'duplicate' or 'invalid'.
  • Advanced code discovery: Search for specific code patterns, TODOs, or library usages across multiple repositories or an entire organization with correct quoting and language filters.
  • Repository research: Discover high-quality projects by filtering for stars, specific programming languages, and recent update timestamps to stay current with tech trends.
  • Cross-platform CLI automation: Generate syntactically correct commands for different environments, such as using the --% operator in PowerShell to prevent shell interpretation errors.
namegh-search
descriptionUse when searching GitHub via CLI for issues, PRs, repos, code, or commits - provides correct syntax for exclusions, qualifiers, quoting, and platform-specific handling to avoid command failures

GitHub CLI Search

Overview

Search GitHub from the command line using gh search subcommands. The key principle: Always use -- before queries with exclusions to prevent shell interpretation of - prefixes.

When to Use

Use this skill when:

  • Searching GitHub via gh CLI for issues, PRs, repos, code, or commits
  • User requests searches with exclusions (NOT, minus prefix)
  • Constructing complex queries with multiple qualifiers
  • Queries contain spaces or special characters

Subcommands Quick Reference

Subcommand Use For Common Flags
gh search issues Issues (add --include-prs for PRs too) --label, --state, --author, --assignee
gh search prs Pull requests only --label, --state, --author, --draft, --merged
gh search repos Repositories --language, --stars, --topic, --owner
gh search code Code within files --repo, --language, --filename
gh search commits Commit messages --repo, --author, --committer

Critical Syntax Rules

1. Exclusions Require -- Flag

Unix/Linux/Mac:

gh search issues -- "bug -label:duplicate"

PowerShell:

gh --% search issues -- "bug -label:duplicate"

Why: The - prefix gets interpreted as a command flag without --. PowerShell needs --% to stop parsing.

2. Quoting Rules

Multi-word queries need quotes:

gh search issues "memory leak"

Entire query with spaces should be quoted:

gh search issues "bug label:urgent created:>2024-01-01"

Qualifier values with spaces need inner quotes:

gh search prs -- 'security label:"bug fix"'

3. Qualifier Syntax

Inline qualifiers (use within search query):

gh search repos "react stars:>1000 language:typescript"

Flag-based (use as separate flags):

gh search repos "react" --language typescript --stars ">1000"

Can mix both:

gh search issues "crash" --label bug created:>2024-01-01

Common Qualifiers

Comparison Operators

  • >, >=, <, <= - Numeric: stars:>100, comments:>=5
  • .. - Ranges: stars:10..50, created:2024-01-01..2024-12-31

Special Values

  • @me - Current user: author:@me, assignee:@me, owner:@me
  • Dates use ISO8601: created:>2024-01-01 or created:2024-01-01..2024-12-31
  • in:title - Search in title only
  • in:body - Search in body only
  • in:comments - Search in comments only

Exclusions

  • -qualifier:value - Exclude: -label:bug, -language:javascript
  • NOT keyword - For words only: "hello NOT world"

Examples

Find your open issues without bug label:

gh search issues -- "is:open author:@me -label:bug"

Find popular Python ML repos updated recently:

gh search repos "machine learning" --language python --stars ">1000" --updated ">2024-01-01"

Find PRs with specific label and text:

gh search prs -- 'security label:"bug fix" created:>2024-01-01'

Search code in organization repos:

gh search code "TODO" --owner myorg --language javascript

Common Mistakes

Mistake Problem Fix
gh search issues -label:bug -label interpreted as flag Add --: gh search issues -- "-label:bug"
gh search repos machine learning Searches "machine" OR "learning" Quote it: "machine learning"
in:title outside quotes Shell interprets : oddly Include in query: "crash in:title"
Mixing @ with value Invalid syntax Use @me or username, not both: author:@me ✓, author:@username ✗ (drop @)
PowerShell without --% Parsing breaks with exclusions Add gh --% before command

Output Options

All subcommands support:

  • --limit <n> - Max results (default: 30, max: 1000)
  • --json <fields> - JSON output for scripting
  • --web - Open results in browser
  • --sort <field> - Sort by: comments, created, reactions, updated, stars, etc.
  • --order asc|desc - Sort direction (default: desc)

Real-World Impact

Correct syntax prevents:

  • Command failures from misinterpreted flags
  • Missing results from incorrect exclusions
  • Errors from unquoted spaces
  • Platform-specific parsing issues