From claude-resources
Sweeps open GitHub issues optionally narrowed by label, triages out work needing human judgment, then autonomously drives each remaining issue to completion via /big-plan. Use for clearing issue backlogs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-resources:issue-sweep [-f|--filter LABEL] [-ex|--exclude LABEL][-f|--filter LABEL] [-ex|--exclude LABEL]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Collect open GitHub issues (optionally filtered by label), triage out the ones that need careful
Collect open GitHub issues (optionally filtered by label), triage out the ones that need careful
human judgment, confirm the plan once, then drive each remaining issue to completion with
/big-plan -m -a.
There is exactly one human checkpoint: the confirmation in Step 3. Everything after it runs
autonomously per -a.
| Flag | Alias | Meaning | Example |
|---|---|---|---|
-f | --filter | Keep only issues that carry the given label | /issue-sweep -f mac |
-ex | --exclude | Drop issues that carry the given label | /issue-sweep -ex deferred |
-f a,b) or may be repeated.--filter maps to gh's native --label (AND semantics — an issue must carry every filter
label). --exclude is applied client-side — an issue is dropped if it carries ANY excluded
label./issue-sweep -f agent-found -ex deferred.Build the list from the parsed flags. Start from open issues, add one --label per filter
label, then drop excluded labels client-side.
# -f agent-found -ex deferred →
gh issue list --state open --label agent-found \
--json number,title,labels,url --limit 200
Then drop any issue whose labels include an excluded label. If the remaining set is empty, report "No issues to sweep" and stop.
With no -f, the candidate set is all open issues — surface the count to the user so the
scale of the sweep is clear before triaging.
For each candidate, read its concrete detail with /gh-fetch-issue <number> (this downloads
embedded screenshots so they are actually readable — plain gh issue view cannot show them).
For a large candidate set, delegate the reading to parallel subagents (one per chunk) that return
a compact #N | classification | one-line scope | reason per issue — keep the judgment yourself.
Classify each issue into one of three buckets:
/big-plan.deferred label (do not auto-apply
it). Skip here when the issue is:
[Epic] issue, or one that would fan out into many sub-issues),[Mac]/manual) task that cannot be
auto-verified locally: it requires authenticated login, a deployed/production environment, an
external third-party service (e.g. an X/Twitter card validator), or a subjective visual /
aesthetic / cultural-fidelity judgment at scale. Leave it open and auto-apply the
needs-human-verified label (create the label once if it does not exist — see Step 3a). This
label is applied automatically; deferred is only ever suggested.When unsure whether something is "too big," lean toward a Skip bucket and surface it in Step 3 rather than autonomously running it.
Present a triage table before doing anything irreversible:
#N — title — one-line scope#N — title — reasonGet explicit confirmation (use AskUserQuestion) before launching. This is the single human
checkpoint.
For every issue in the Skip — needs human verification bucket, apply the
needs-human-verified label. Create the label once if it is missing:
gh label create "needs-human-verified" --color "1D76DB" \
--description "Verification task that can't be auto-verified locally; needs a human (auth/deploy/subjective)"
# then, per issue:
gh issue edit <N> --add-label "needs-human-verified"
(Keep the description ≤ 100 characters — GitHub rejects longer, and multi-byte dashes inflate the
count.) Do not apply deferred here — that one stays a suggestion in the final report.
/big-plan -m -aProcess the handle list one issue at a time — each issue is independent, so batching them
into a single /big-plan run would conflate unrelated work into one epic. (Two issues covering
the obviously-same surface may be grouped, but one-at-a-time is the default.)
For each issue:
/big-plan -m -a <issue-url>.-a runs plan → create sub-issues → implement → review autonomously.-m merges the resulting PR into the invocation branch, then cleans up and watches base CI
(auto-fixing on red).Notes:
/big-plan — running it on a pure-verify issue forces an empty PR. Instead, spin up the app
and verify directly (/verify-ui or /headless-browser, driving the real running app). Close
the issue with a short evidence-backed note if it passes; only if verification reveals a real
defect do you open a fix-PR (via /x-as-pr or /big-plan). For a batch of independent UI
verifications, delegate each (or each cluster) to a parallel subagent that drives the running
dev server and returns a PASS/FAIL verdict with concrete evidence (computed styles, scroll
numbers, screenshots) — then you close/fix based on the verdicts. (Browser gotcha: a Playwright
launchPersistentContext with a shared profile dir can break an app's MSW boot; prefer
launch() + newContext(), or the headless-browser skill's per-session profile.)/big-plan run fails or stalls, stop, report which issue, and let the user decide before
continuing the rest.Summarize the sweep:
#N …#N …needs-human-verified): #N …deferred): #N …#N …npx claudepluginhub takazudo/claude-resources --plugin claude-resourcesGrooms all open GitHub issues with subagents for clarity then loops implementation: branch, research, swarm code, test, commit, merge PRs until backlog cleared.
Triage GitHub issues through a configurable label-based state machine. Moves issues between workflow states like triage_pending, awaiting_info, ready_for_agent, and ready_for_human.
Triages an open GitHub issue from a PM lens: applies a Triage In-Progress label, checks code and shipped work, returns a verdict (close/decompose) with confidence and flip-condition, then stops.