main
md 35 lines 1.11 KB
Rendered Raw
1 # Skill: Ralph — Two-Pass Issue Scanning
2 **Confidence:** high
3 **Domain:** work-monitoring
4 **Last validated:** 2026-03-24
5
6 ## Context
7 Cuts GitHub API calls from N+1 to ~7 per round (~72% reduction) by separating list scanning from full hydration.
8 Addresses the scanning inefficiency described in issue #596.
9
10 ## Pattern
11
12 ### Pass 1 — Lightweight Scan
13
14 ```
15 gh issue list --state open --json number,title,labels,assignees --limit 100
16 ```
17
18 **Skip hydration if ANY of these match:**
19
20 | Condition | Skip reason |
21 |-----------|-------------|
22 | `assignees` non-empty AND no `status:needs-review` | Already owned |
23 | Labels contain `status:blocked` or `status:waiting-external` | Externally gated |
24 | Labels contain `status:done` or `status:postponed` | Closed loop |
25 | Title matches stale/noisy pattern (`[chore]`, `[auto]`) | Low-signal |
26
27 ### Pass 2 — Selective Hydration
28
29 For each issue surviving Pass 1:
30
31 ```
32 gh issue view <number> --json number,title,body,labels,assignees,comments,state
33 ```
34
35 Then apply normal Ralph triage logic. Rule of thumb: hydrate ≤ 30% of scanned list. If more than 30% survive Pass 1, tighten filter rules.