← ClaudeAtlas

loop-oversightlisted

Use before launching a loop that runs many iterations — a `/loop`, a `/schedule` routine, or a Workflow fan-out — or when a running loop is drifting, unbounded, or leaving no reviewable trail. Triggers on "loop over every X", "go through all the Y and track status", "automate this repetitive sweep", "run this on a schedule", or an Osman-style "make a canonical tracker and work through every item". Sets up the ledger, the bound, and the independent verify pass a loop needs to stay reviewable. NOT for a one-off task (just do it) or one-shot parallel fan-out with no iteration (that's dispatching-parallel-agents).
mickzijdel/dev-hooks · ★ 0 · AI & Automation · score 68
Install: claude install-skill mickzijdel/dev-hooks
# Running loops with oversight A loop that grinds through many items unattended is only as safe as three things: a **ledger** you can read at a glance, an explicit **bound** it can't run past, and a **verify pass** that isn't the same agent that did the work. Set those up *before* the loop starts. Oversight is not watching the agent — it's making the loop's state legible in an artifact and inserting checkpoints the loop cannot skip. ## Before you launch — five gates Don't start the loop until each is a concrete artifact, not an intention. 1. **Ledger.** One canonical file the loop reads and writes every turn — a status table (item / expected behaviour / status / findings / evidence). Reuse `.claude/current_plan.md` so the `plan-reminder` and `big-change-reminder` hooks already track it. Template: [templates/loop-ledger.md](references/templates/loop-ledger.md). *Oversight = reading this one file.* 2. **Unit of work + done-condition.** Define the smallest atomic item and its **checkable** exit ("test green", "row marked done with a linked commit") — never "be thorough". 3. **Bound.** Every loop gets an explicit ceiling: max iterations, a token budget, or **until-N-consecutive-empty** (a plain counter misses the tail). No unbounded loops. 4. **Independent verify pass.** The agent that produces an item does not get to mark it done. A separate pass confirms it — an adversarial subagent prompted to *refute*, or `/code-review`. Mirrors `review-reminder`'s