From sweeper
Orchestrates sweeper CLI to dispatch parallel AI sub-agents for lint fixes, test repairs, migrations, refactoring, and code improvements. Supports VM isolation, tapes learning, Claude/OpenAI/Ollama.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sweeper:sweeperThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You orchestrate the **sweeper** CLI to run parallel AI sub-agents against a codebase with optional VM isolation and swappable providers (Claude, Codex, Ollama/local models). While lint fixing is the default, the same loop handles test repairs, dependency migrations, refactoring, and any task where you can run a command, parse issues, and dispatch agents to fix them. Tapes records every sub-agen...
You orchestrate the sweeper CLI to run parallel AI sub-agents against a codebase with optional VM isolation and swappable providers (Claude, Codex, Ollama/local models). While lint fixing is the default, the same loop handles test repairs, dependency migrations, refactoring, and any task where you can run a command, parse issues, and dispatch agents to fix them. Tapes records every sub-agent session, enabling you to learn from past runs and optimize token spend.
The sweeper binary must be in PATH. Build it if needed:
cd /path/to/sweeper && go build -o sweeper . && export PATH="$PWD:$PATH"
If no sweeper.md exists in the working directory, gather this information:
.)golangci-lint run --out-format=line-number ./...)3)3)Then create a session document:
sweeper.md - Living Session Document# Sweeper Session
**Started:** <ISO timestamp>
**Objective:** Fix all lint issues in `<target>`
**Linter:** `<command>`
**Concurrency:** <n> sub-agents
**Max rounds:** <n>
**VM:** <yes/no>
**Constraints:** <constraints>
## Status
- Round: 0
- Issues found: (pending first run)
- Issues fixed: 0
- Token spend: (pending — check tapes after first run)
## What's Been Tried
(Updated after each round)
## Token Budget
(Updated via `sweeper observe` after each run)
Commit on a new branch: sweeper/<goal>-<date>
Use the CLI to orchestrate the full loop. The CLI handles linting, parsing, parallel sub-agent dispatch, retry escalation, telemetry, and tapes integration.
# Default: golangci-lint with claude (default provider)
sweeper run
# Custom linter
sweeper run -- npm run lint
# Multi-round with escalation
sweeper run --max-rounds 3
# High concurrency in VM isolation
sweeper run --vm -c 5 --max-rounds 3 -- npx eslint --quiet .
# Preview what would be fixed
sweeper run --dry-run
# Use OpenAI Codex CLI instead of Claude
sweeper run --provider codex -- npm run lint
# Use a local Ollama model (no API key needed)
sweeper run --provider ollama --model qwen2.5-coder:7b
# Ollama with custom API base
sweeper run --provider ollama --model codellama --api-base http://gpu-server:11434
Available providers: claude (default, CLI), codex (CLI), ollama (API). CLI providers have built-in file tools. API providers include file content in the prompt and apply returned diffs. VM isolation (--vm) only works with CLI providers.
# Ephemeral VM — boots before sweep, tears down after
sweeper run --vm -- npx eslint --quiet .
# Reuse existing VM
sweeper run --vm-name my-vm -- cargo clippy 2>&1
Use --vm when:
Each sweeper run executes this loop:
standard — straightforward fixretry — different approachexploration — refactor surrounding code--concurrency).sweeper/telemetry/ JSONL + tapes captures token usageTapes is the backbone for self-learning. Every sub-agent session is recorded in tapes, giving you token usage, session transcripts, and outcome data.
sweeper observe
This shows:
Before starting a sweep, check historical performance:
sweeper observe --target /path/to/project
Use the insights to tune your run:
--max-rounds 1 saves tokens--stale-threshold to skip stagnant files fasterAfter each run, update sweeper.md with token spend from tapes:
## Token Budget
- Run 1: 45,230 prompt + 12,100 completion = 57,330 total
- Run 2: 31,000 prompt + 8,200 completion = 39,200 total (31% reduction)
- Trend: improving — retry prompts getting more targeted
The goal is to fix more issues with fewer tokens over time. Tapes makes this measurable.
If sweeper.md already exists when you start:
sweeper observe to check recent success patterns--max-rounds and --concurrency based on tapes insightsAfter each sweeper run completes, update the session document:
sweeper observe and record token spendsweeper.mdProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub pcc-labs/sweeper --plugin sweeper