Research Sweep
The discover orchestrator: hand it an information space — a codebase, a corpus, a dataset — and it composes a task-fit team of coverage roles, fans them out in parallel under one identical output contract, merges their results straight from the agent transcripts via jq (without dumping the JSONL back into context), dedups, and adversarially verifies the synthesis into a cited result. Built for coverage that is exhaustive, not representative — and for doing it without burning output tokens re-writing every agent’s result. It is the counterpart to dev-crew (deliver) and brainstorm-panel (decide).
See The Role System for the shared model.
Trigger it
/research-sweep:research-sweep every open-source vector database
Or ask in natural language: "give me an exhaustive catalog of public datasets for X" or "find as many open-source tools for Y as possible".
When to use it
-
"as many as possible", "exhaustive", "comprehensive", "every X", "all known …"
-
Catalogs, surveys, and landscapes — "all open-source tools for X", "every public dataset for Y"
-
Large-scale gathering where one agent’s coverage would be insufficient
-
Reach for research-sweep to discover and verify information across a large space — a codebase, a corpus, a dataset; use brainstorm-panel for judgment, dev-crew to deliver, and the built-in deep-research for web-source research with citations
-
Skip it for 5–20 items, a narrow domain one agent can cover, or data already in the repo
What it does
The method has two halves — fan-out and verification — and skipping the second produces a large but unreliable dataset.
Lock a schema, then partition
Commits to an exact output schema (format, top-level list, ≤5 required fields, ID disambiguation, no fabrication) before launching, and pastes it verbatim into every agent prompt so outputs merge cleanly. Then splits the topic into 5–7 disjoint slices (by source, era, geography, category, or corpus) so each agent owns an angle no other touches.
Fan out in parallel
Launches the agents in a single message with run_in_background: true, each prompt carrying the verbatim schema, its slice, source guidance, verification rules, a YAML-only output requirement, and a numeric volume floor. Handles the expected 1–2 partial failures by re-running, accepting partial output, or merging slices.
Merge without context blowup
Extracts each agent’s final message from its JSONL transcript with a jq + awk pipeline that strips the YAML fence and redirects to one catalog file — never Read-ing the transcripts. Sanity-checks with wc/grep and commits immediately so a compaction can’t lose the result.
Adversarially verify
Runs a fresh verifier agent that didn’t produce the data: spot-checks a 10–20% sample against primary sources, hunts for fabricated URLs/dates/IDs, checks cross-agent seams for duplicates, and tests the volume claim and gaps. Dedup, normalization, and URL verification follow as separate passes.
What’s new in 1.1.2
-
Fable suggestion removed — Anthropic suspended Claude Fable 5 / Mythos 5 on 2026-06-12 in response to a US government export-control directive; the opt-in Fable suggestion at the roster checkpoint has been withdrawn until access is restored. Issue #8 (per-role model tiers) is parked.
What’s new in 1.1.0
Coverage-roles registry
The sweep now keeps its team in a coverage-roles registry at .claude/roles/research.md — the same mechanism crew and panel use, owned here by research-sweep. Composition proposes from it first (stable angles whose when-to-seat matches the information space) and mints fresh probationary rows only for the gaps. See The Role System.
Dynamic composition with an editable roster
Coverage angles are composed from the information space itself rather than fixed in advance, then presented as an editable roster the user signs off on before any agent launches. Standard angle archetypes ship as the starting palette — entity-scout, timeline-scout, source-scout, container-scout — and corpus-specific angles are probationally minted when the space needs a cut the archetypes don’t cover.
Persistent verifier and synthesizer
A persistent verifier — the shared skeptic role — and a synthesizer are standing seats on every sweep: the skeptic adversarially checks the merged result, the synthesizer assembles the cited output. These are the two seats people most often skipped, now seated by default.
Per-repo learning and shared-core linking
What worked is written back to research.md as per-repo learning, so reruns in the same space start from a better roster. When shared core role files (.claude/roles/<role>.md) exist, rows link to them by name via the roles plugin and research lessons become graduation candidates for the core (user-gated). The skill is self-sufficient without the roles plugin — it manages research.md on its own and never downgrades when the shared core is absent.
Notes
-
Key anti-patterns: re-outputting the whole catalog via
Write, reading agent JSONL directly, reusing agent IDs across reruns, skipping the volume target, and skipping the verification half. -
Agents without web access fabricate plausible-looking URLs and facts — verification is mandatory, not optional.