gauntlet-loop
Gauntlet Loop — core skill (domain-agnostic)
A disciplined loop for producing high-quality work in any domain: build → blind critique → revise → repeat, against a bar the agent cannot talk its way past. Coding, writing, design, data, research, prompt engineering and detection all use the same loop — they differ only in how you pick the bar, what the critic inspects, and the checklist. Those live in references/domains/.
Origin: the Gauntlet Loop method is Matt Shumer's, from "How to Run a Gauntlet Loop" (https://somethingbig.ai/gauntlet-loop), with the companion repo
mshumer/Claude-of-Duty. This skill is an independent, attributed adaptation — see../../CREDITS.md.
Prerequisite: a real agent harness
This loop requires an agentic harness that can open files, run code, render output, take screenshots, call tools, and spawn sub-agents with their own clean context (Claude Code, Cowork, Codex, or equivalent). A single-turn chat cannot produce an independent blind critic — if you can only reply in one context, say so and fall back to a single self-review pass instead of pretending the loop ran.
For large multi-agent runs, use the harness's parallel-agent facilities (in Claude Code: sub-agents, or /ultracode when available).
The four pillars
- A bar the agent cannot argue around. The strongest form: the artifact must match or beat something real — a reference implementation, a test suite, a top product's screenshot, a model essay, an eval set, an ATT&CK technique, a working PoC. The bar may be aspirational: it does not have to be realistically reachable. An unreachable bar keeps the loop pulling upward instead of stopping at "good enough".
- Give the goal, not the implementation. State what the finished thing must achieve; let the agent choose the route. Prescribing architecture replaces the model's judgment with yours and caps the result at your imagination.
- Let the agent split the work. The lead breaks the goal into the smallest pieces that can be improved and graded independently. Independent pieces can run as parallel loops.
- The builder never grades itself. The builder and the judge are different agents with separate context. The critic is blind to the builder's reasoning and inspects the real artifact — running code, rendered pixels, actual test output — never the builder's summary.