dancingteeth

Agent Looper — Development skill for Claude Code

Development community

Fix-until-green loop for coding agents: frozen goal, shell verify as the finish line, fresh worker each round, optional judge.

How to install Agent Looper

This entry records only its repository, not the path inside it, so there is no exact command to give. Open dancingteeth/agent-looper and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Agent Looper does

Fix-until-green loop for coding agents: frozen goal, shell verify as the finish line, fresh worker each round, optional judge. Cursor, Claude Code, Codex, OpenCode, Cline, Pi, DSH, Muse.

Alternatives in Development

  • Cavemem — Frozen — cross-agent persistent memory for coding assistants 674 ★
  • Cline — Overture Integration for Cline 612 ★
  • Dario — A local OpenAI- and Anthropic-compatible proxy that brings your Claude Pro/Max subscription to Cursor, Cline 485 ★

README


tags:

  • documentation
  • agents

Agent Looper (`@dancingteeth/agent-looper`)

**Fix-until-green for coding agents.** Give it a frozen goal and a `verify.sh` you already trust. It runs a fresh worker agent each round until the check exits 0, with an optional judge that reviews the result and can send the worker back.

**Works with** Cursor, Claude Code, Codex, OpenCode, Cline, Pi, DeepSeek Harness (DSH), and Muse, as the worker, the judge, or both. Mix them: a cheap worker with a stronger judge is the usual setup.

**If you already loop by hand:** the agent says done, CI is still red, you paste the log, you open a new chat. You are the verify step. This package is that loop without you in the middle.

**Landing page:** [looper.dancingteeth.net](https://looper.dancingteeth.net/) (static site in [`site/`](./site/)).

# Core CLI only (init, setup, --version). Add the SDK for the runtime you will run:
pnpm add -D @dancingteeth/agent-looper @cursor/sdk   # example: Cursor worker/judge
pnpm exec agent-loop-init
pnpm exec agent-loop-setup    # pick worker + judge runtimes (one-screen wizard)
# or draft a loop from an idea: pnpm exec agent-loop-prompt --out .cursor/loops/my-task
# edit GOAL.md
# put the check you keep re-running in verify.sh

pnpm exec agent-loop run .cursor/loops/my-task

Each runtime also needs its own SDK or CLI and key, e.g. `@cursor/sdk` + `CURSOR_API_KEY` for Cursor, `claude` on PATH for Claude Code, `opencode` for OpenCode. [`docs/runtime-map.md`](./docs/runtime-map.md) lists them all; `pnpm exec agent-check ` confirms one is wired. Flags and the rest are below. You do not need them for a first green run.

How the loop is shaped: [`README.intro.md`](./README.intro.md). Technical deep dive: [`ARCHITECTURE.md`](./ARCHITECTURE.md) (including §1.1 — the harness is a small control-flow graph; the Ralph loop lives inside the worker node). npm releases: [`docs/releasing.md`](./docs/releasing.md). What shipped: [`CHANGELOG.md`