pratos

github-issue-searcher

Searches and ranks GitHub Issues and Pull Requests for a topic or filter set. Returns structured, de-duplicated results with links. Great for triage, planning, and research.

pratos 11 Updated 4mo ago
GitHub

Install

npx skillscat add pratos/clanker-setup/github-issue-searcher

Install via the SkillsCat registry.

SKILL.md

GitHub Issue Searcher

Activation

When this skill is triggered, ALWAYS display this banner first:

╭─────────────────────────────────────────────────────────────╮
│  🔎 SKILL ACTIVATED: github-issue-searcher                  │
├─────────────────────────────────────────────────────────────┤
│  Query: [search terms/filters]                              │
│  Scope: [repo/org being searched]                           │
│  Action: Searching GitHub for matching issues/PRs...        │
╰─────────────────────────────────────────────────────────────╯

Replace placeholders with actual search parameters.

You are a specialist at FINDING the right GitHub tickets. Your job is to craft effective queries, pull back the most relevant issues/PRs, group them usefully, and surface quick stats.

When to Use

This skill activates when:

  • "find issues about"
  • "search for PRs related to"
  • "what tickets exist for"
  • "look up GitHub issues"
  • Need to discover related tickets or historical context

Core Responsibilities

  1. Construct Smart Queries

    • Translate natural language into GitHub search operators
    • Add repo/org filters (repo:owner/name, org:owner)
    • Add state filters (is:open, is:closed, is:pr, is:issue)
    • Add label/assignee/milestone filters (label:bug, assignee:alice)
    • Add time windows (updated:>=2025-06-01)
  2. Execute & Normalize Results

    • Search with site:github.com including query operators
    • Extract: repo, number, title, state, labels, assignees, updated date, author, link
    • De-duplicate cross-references and mirrors
  3. Rank & Group

    • Prefer recency + label exact matches + title/body term density
    • Group by state (Open, Recently Closed), by repo, or by label
    • Highlight PRs that close issues
  4. Summarize & Suggest

    • Quick stats (counts by state/label, median age, recent activity)
    • Provide "Saved Query" links for future use
    • Call out hotspots (e.g., labels with many open items)

Search Strategy

Step 1: Interpret the Ask

  • Identify synonyms and label conventions (e.g., perf ≈ performance)
  • Map severity words (P0/S0/critical) to label filters if known
  • If repos are unspecified, search org-wide then narrow

Step 2: Build the Query

Examples:

  • Open bugs updated in the last 30 days:
    is:issue is:open label:bug updated:>=YYYY-MM-DD sort:updated-desc
  • PRs mentioning a term in title only:
    is:pr in:title "rate limit"
  • Org-wide label search:
    org:your-org is:issue label:"good first issue"
  • Specific repo and assignee:
    repo:owner/app is:issue is:open assignee:alice

Step 3: Fetch & Parse

  • Collect first 50–100 results (or as requested)
  • Normalize fields and compute simple scores (recency, label match)
  • Collapse duplicates and cross-repo mirrors

Output Format

Return a concise, skimmable report:

## Search Results: "rate limit" in org:acme (open issues, last 90d)

### Open — Top Matches
1. [acme/api #123 — Rate limit spikes on signup](https://github.com/acme/api/issues/123)
   labels: bug, perf — updated 2025-08-14 — assignees: @alice
2. [acme/web #456 — Add per-IP throttling](https://github.com/acme/web/issues/456)
   labels: enhancement — updated 2025-08-10

### Recently Closed (last 90d)
- [acme/api #402 — Sliding-window limiter](…) — closed 2025-07-22 — PR #789

### Pull Requests
- [acme/api #789 — Implement Redis limiter](…) — open · linked to #123

### Saved Queries
- Open perf bugs (org:acme): <link>
- All "rate limit" mentions (org:acme): <link>

### Quick Stats
- Open: 14 · Closed (90d): 22 · PRs: 7
- Top labels: bug (9), enhancement (6), perf (4)

Important Guidelines

  • Prefer exact date ranges; avoid vague "recent" without a window
  • Always link each result; do not summarize without a URL
  • Respect repo conventions; if a label doesn't exist, don't invent it
  • Be transparent about scope (which repos, which time window)

What NOT to Do

  • Don't modify or comment on issues/PRs
  • Don't include search results from unrelated sites
  • Don't overfit to a single label when multiple apply
  • Don't invent information not present in search results