ralph-two-pass-scan

Reduces GitHub API calls by filtering issue lists before selective hydration.

1|Updated Jul 7, 2026
One-click install
npx skills add https://github.com/seiggy/maf-copilot-studio-demo --skill ralph-two-pass-scan-seiggy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ralph-two-pass-scan
Source: https://github.com/seiggy/maf-copilot-studio-demo/tree/main/.squad/templates/skills/ralph-two-pass-scan
Command: npx skills add https://github.com/seiggy/maf-copilot-studio-demo --skill ralph-two-pass-scan-seiggy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Scanning open GitHub issues one-by-one wastes API calls because every issue gets fully hydrated even when most are already owned, blocked, or low-signal. This Skill cuts GitHub API calls from N+1 to roughly 7 per round (~72% reduction) by separating lightweight list scanning from full hydration. ## Core Features & Use Cases - Lightweight Pass 1 Scan: Runs gh issue list --json number,title,labels,assignees --limit 100 to fetch only cheap metadata for all open issues. - Rule-Based Skip Filters: Skips hydration for issues that are already assigned, labeled status:blocked, status:waiting-external, status:done, status:postponed, or match noisy title patterns like [chore] and [auto]. - Selective Pass 2 Hydration: Runs gh issue view only on surviving issues, targeting hydration of 30% or fewer of the scanned list. - Use Case: An autonomous triage agent polling a busy repository every round can apply this pattern to avoid rate-limit exhaustion while still triaging every actionable issue. ## Quick Start Scan the open issues in this repository using the two-pass pattern and only hydrate issues that pass the skip filters.

Frequently Asked Questions about ralph-two-pass-scan

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reduce GitHub API calls when scanning issues?

Use a two-pass approach: first run gh issue list with only lightweight fields like number, title, labels, and assignees, then run gh issue view only on issues that survive skip filters. This cuts calls from N+1 to roughly 7 per round.

How to filter GitHub issues before fetching full details with gh CLI?

Fetch the list with gh issue list --json number,title,labels,assignees, then skip issues that are assigned, labeled status:blocked, status:waiting-external, status:done, or status:postponed, or have noisy titles like [chore] or [auto]. Hydrate only the remainder.

What is a good hydration ratio when scanning GitHub issues?

Aim to hydrate 30% or fewer of the scanned issue list. If more than 30% survive the first-pass filters, tighten the skip rules by adding more label or title-based exclusions.

Does this approach work with the GitHub CLI gh issue list command?

Yes, the pattern is built directly on gh issue list and gh issue view with --json field selection. Pass 1 requests only cheap metadata fields, and Pass 2 fetches body and comments only for surviving issues.

When should I not use two-pass issue scanning?

Avoid it when every open issue genuinely needs full detail, such as very small repositories with few issues, since the filtering logic adds complexity without saving meaningful API calls. It pays off in busy repositories with many owned or blocked issues.