sweep-prslisted
Install: claude install-skill lgtm-hq/ai-skills
# Sweep PRs
Audit recently merged and closed PRs for anomalies that slipped through the
normal PR lifecycle. Two strictly separated phases: a **read-only sweep**
that gathers evidence, then **confirmed remediation**. Never mutate anything
(issues, replies, resolutions) before the findings are confirmed.
## Invocation
- `/sweep-prs` — current repo, last 14 days. Each sweep is stateless: no
memory of previous runs, by design — pass an explicit window to change
scope.
- `/sweep-prs 4d` / `/sweep-prs 30d` / `/sweep-prs since 2026-07-01` —
explicit window; natural phrasing ("last 4 days") is fine too.
- `/sweep-prs lgtm-hq/podex lgtm-hq/py-lintro` — explicit repos (default:
current checkout's repo, via `gh repo view`).
- **No checkout needed**: all gathering uses `gh api` with explicit
`owner/repo`, so explicit-repo invocations work from any directory;
without a local checkout, verify claims via API file reads instead of
`git show origin/main:`. Invoked outside any repo with no repo argument
→ ask which repo, don't guess.
## Phase 1 — Gather (read-only)
Enumerate merged and closed PRs in the window (`gh pr list --state merged` /
`--state closed`, GraphQL for thread state).
**Gather in bulk, not per-PR.** Paginated GraphQL search (~25 PRs/page,
fetching checks rollup + review threads + reviews in one query) covers
hundreds of PRs in a handful of API calls; analyze the dump locally
(`jq`). Reserve background sub-agents for Phase 2's per-finding
assessment deep-