/sweep — The Full-System Audit Fan-Out
The pattern behind every high-yield mega-audit (21-agent data audits,
FAB-style architecture maps, exit dossiers): decompose into dimensions →
independent parallel auditors → adversarial verification → graded synthesis →
every finding becomes a mechanism. One agent can't hold a system; a swept
fan-out can. This skill is the repeatable harness.
Siblings (if your workflow has them): a per-object forensic review skill goes
deep on ONE planning object against its claims; a cleanup skill is fix-first
reconciliation. /sweep is breadth-first discovery across a whole system —
it FEEDS both.
Invocation
/sweep data stack --grade # full-stack audit, scored vs best-in-class
/sweep ui/dashboard # product-surface sweep
/sweep docs/specs vs src --drift # spec-vs-reality sweep (mass /drift)
/sweep security # one dimension, full depth
Phase 0 — Scope & dimension slate (inline, before any fan-out)
- Fix the boundary: what's IN the sweep (paths, schemas, surfaces) and what's
explicitly OUT. An unbounded sweep never converges.
- Pick dimensions — default slate, prune/extend per scope:
- correctness (does it do what it claims) · spec-drift (mass
/drift)
- security/permissions · performance/scale · data quality
- test coverage (real tests, not shells) · architecture/placement
(
/altitude violations, duplicated owners) · honesty (claimed-done
vs actually-done — the completion-audit dimension) · UX/product (if user-facing)
- Declare the sweep's own gates (
/gate): effort ceiling, and a finding
budget ("if >N criticals in dimension X, stop sweeping and start fixing").
Phase 1 — Fan-out (parallel, one auditor per dimension)
Dispatch independent subagents/workflow stages, one per dimension. Each
auditor's prompt MUST carry a handoff contract:
- the dimension's question, the scope boundary, where to look first
- evidence format: every finding = one line of
file:line / query / output
proof — no vibes, no "seems like"
- severity grammar: Critical (wrong results / data loss / security) ·
High (will bite soon) · Medium (debt) · Low (polish)
- return findings as structured list, not prose
Auditors are blind to each other — convergent findings from independent
auditors are the strongest signal a sweep produces. Note them explicitly.
Phase 2 — Adversarial verification (the step lazy sweeps skip)
Raw findings lie. Before synthesis:
- Dedup across dimensions (same root cause surfaces in many coats — use
/altitude to name the shared layer).
- Every Critical/High gets a
/refute pass by a verifier that did NOT find
it: reproduce it or kill it. Verdicts: CONFIRMED / REFUTED / PLAUSIBLE.
- Only CONFIRMED findings may use the word "broken" in the report.
PLAUSIBLE ships in an appendix, clearly labeled.
Phase 3 — Graded synthesis
One report, led by the number that matters:
SWEEP: <scope> | <n> dimensions | X confirmed (C/H/M/L: a/b/c/d) | grade: B-
- If
--grade: score each dimension 1–5 against the best-in-class benchmark
for its domain, WITH evidence per score. The grade's job is honesty, not
motivation — a B- that's real beats an A that isn't.
- Convergent findings and systemic patterns first (three dimensions hitting
the same subsystem = an
/altitude problem, not three bugs).
- The "what's NOT broken" section is mandatory — a sweep that only lists
problems can't be used to decide what's safe to build on.
Phase 4 — Findings become mechanisms (or the sweep was theater)
Every confirmed finding lands as exactly one of:
- patch (fixed in the sweep's follow-up PRs, smallest first)
- ticket (filed with the evidence line attached, severity mapped)
- gate (a tripwire/CI check so the class can't recur — preferred for
anything that recurred)
- accepted risk (
/verdict log, named human on the acceptance)
Close by logging the sweep itself: /verdict log SWEEP: <scope> | grade | top systemic finding | date. The next sweep of the same scope starts by
diffing against this line — grades that don't move are the real report.
Rules
- Breadth-first, fix-later. Auditors that stop to fix lose coverage; the
single exception is a Critical actively corrupting data — stop the sweep,
raise it immediately.
- Cap the fan-out to what the finding budget can absorb. 21 agents producing
400 findings nobody triages is worse than 6 producing 40 that all land.
- Sweeps are periodic, not heroic: the value compounds when grade N+1 is
compared against grade N.
Composes with
/drift (the spec-drift dimension), /refute (Phase 2), /altitude
(dedup + systemic naming), /gate (sweep budgets + recurrence tripwires),
/verdict (the sweep ledger line). If your workflow has a per-object
deep-review or planning-review step, a sweep is its strongest input.
1---2name: sweep3description: Massive multi-agent audit sweep — the generalized FAB-project pattern. Fans out parallel domain auditors over a whole system (codebase, data stack, spec tree, product surface), adversarially verifies findings, and converges to a graded report where every finding lands as a ticket, gate, or patch. Use for "audit everything", pre-launch reviews, post-chaos reconciliation, or grading a stack against best-in-class.4---56# /sweep — The Full-System Audit Fan-Out78The pattern behind every high-yield mega-audit (21-agent data audits,9FAB-style architecture maps, exit dossiers): **decompose into dimensions →10independent parallel auditors → adversarial verification → graded synthesis →11every finding becomes a mechanism.** One agent can't hold a system; a swept12fan-out can. This skill is the repeatable harness.1314Siblings (if your workflow has them): a per-object forensic review skill goes15deep on ONE planning object against its claims; a cleanup skill is fix-first16reconciliation. `/sweep` is breadth-first discovery across a whole system —17it FEEDS both.1819## Invocation2021```22/sweep data stack --grade # full-stack audit, scored vs best-in-class23/sweep ui/dashboard # product-surface sweep24/sweep docs/specs vs src --drift # spec-vs-reality sweep (mass /drift)25/sweep security # one dimension, full depth26```2728## Phase 0 — Scope & dimension slate (inline, before any fan-out)29301. Fix the boundary: what's IN the sweep (paths, schemas, surfaces) and what's31 explicitly OUT. An unbounded sweep never converges.322. Pick dimensions — default slate, prune/extend per scope:33 - **correctness** (does it do what it claims) · **spec-drift** (mass `/drift`)34 - **security/permissions** · **performance/scale** · **data quality**35 - **test coverage** (real tests, not shells) · **architecture/placement**36 (`/altitude` violations, duplicated owners) · **honesty** (claimed-done37 vs actually-done — the completion-audit dimension) · **UX/product** (if user-facing)383. Declare the sweep's own gates (`/gate`): effort ceiling, and a finding39 budget ("if >N criticals in dimension X, stop sweeping and start fixing").4041## Phase 1 — Fan-out (parallel, one auditor per dimension)4243Dispatch independent subagents/workflow stages, one per dimension. Each44auditor's prompt MUST carry a handoff contract:4546- the dimension's question, the scope boundary, where to look first47- **evidence format:** every finding = one line of `file:line` / query / output48 proof — no vibes, no "seems like"49- **severity grammar:** Critical (wrong results / data loss / security) ·50 High (will bite soon) · Medium (debt) · Low (polish)51- return findings as structured list, not prose5253Auditors are blind to each other — convergent findings from independent54auditors are the strongest signal a sweep produces. Note them explicitly.5556## Phase 2 — Adversarial verification (the step lazy sweeps skip)5758Raw findings lie. Before synthesis:591. Dedup across dimensions (same root cause surfaces in many coats — use60 `/altitude` to name the shared layer).612. Every Critical/High gets a `/refute` pass by a verifier that did NOT find62 it: reproduce it or kill it. Verdicts: CONFIRMED / REFUTED / PLAUSIBLE.633. Only CONFIRMED findings may use the word "broken" in the report.64 PLAUSIBLE ships in an appendix, clearly labeled.6566## Phase 3 — Graded synthesis6768One report, led by the number that matters:69```70SWEEP: <scope> | <n> dimensions | X confirmed (C/H/M/L: a/b/c/d) | grade: B-71```72- If `--grade`: score each dimension 1–5 against the best-in-class benchmark73 for its domain, WITH evidence per score. The grade's job is honesty, not74 motivation — a B- that's real beats an A that isn't.75- Convergent findings and systemic patterns first (three dimensions hitting76 the same subsystem = an `/altitude` problem, not three bugs).77- The "what's NOT broken" section is mandatory — a sweep that only lists78 problems can't be used to decide what's safe to build on.7980## Phase 4 — Findings become mechanisms (or the sweep was theater)8182Every confirmed finding lands as exactly one of:83- **patch** (fixed in the sweep's follow-up PRs, smallest first)84- **ticket** (filed with the evidence line attached, severity mapped)85- **gate** (a tripwire/CI check so the class can't recur — preferred for86 anything that recurred)87- **accepted risk** (`/verdict log`, named human on the acceptance)8889Close by logging the sweep itself: `/verdict log SWEEP: <scope> | grade |90top systemic finding | date`. The next sweep of the same scope starts by91diffing against this line — grades that don't move are the real report.9293## Rules9495- Breadth-first, fix-later. Auditors that stop to fix lose coverage; the96 single exception is a Critical actively corrupting data — stop the sweep,97 raise it immediately.98- Cap the fan-out to what the finding budget can absorb. 21 agents producing99 400 findings nobody triages is worse than 6 producing 40 that all land.100- Sweeps are periodic, not heroic: the value compounds when grade N+1 is101 compared against grade N.102103## Composes with104105- `/drift` (the spec-drift dimension), `/refute` (Phase 2), `/altitude`106 (dedup + systemic naming), `/gate` (sweep budgets + recurrence tripwires),107 `/verdict` (the sweep ledger line). If your workflow has a per-object108 deep-review or planning-review step, a sweep is its strongest input.