Open quality-loop runtime for Matt Shumer’s gauntlet method (guide · Claude of Duty): named fetchable bar → fan-out builders → separate harsh critic → blind A/B → loop until win or you stop.
Continuity:
docs/HANDOFF.md· Technique:docs/TECHNIQUE.md· Site: gauntlet-runtime.vercel.app
npm install
npx playwright install chromium # optional real screenshots
npm run gauntlet -- propose "a dark athletic landing page for a running brand"
npm run gauntlet -- meta --goal "…" # Shumer meta-prompt
npm run gauntlet -- compose --bar a --goal "…" --agent claude-code
npm run gauntlet -- run --bar a --goal "…"
npm run gauntlet -- status
npm run gauntlet -- stop
npm run demo
npm run web # http://localhost:8787 — local run UI
# Marketing site
cd site && npm install && npm run dev| Command | Purpose |
|---|---|
propose "<goal>" |
Offer 2–3 named bars, then stop |
meta --goal … |
Shumer meta-prompt → draft a short aim prompt |
compose --bar … --goal … |
Orchestrator system prompt (paste into Claude/Codex) |
compose --plan file.md|html |
Extract criteria/gates; emit prompt + ≤3 gap bullets |
run --bar … --goal … |
Validate bar, ledger, builder↔critic loop |
status / stop / resume |
Live progress, human brake, continue |
shot --url … / compare a b |
Apex-style named captures + smoke compare |
validate-bar / demo |
Health check / end-to-end demo |
Useful run flags: --mode apex, --climb, --vision-critic, --llm-critic, --dispatch-only, --max-usd, --max-tokens, --preview-url, --agent cursor|claude-code|codex, --implementer …
Ledger: runs/<id>/ → progress.md, workbench.md, ORCHESTRATOR.md, CONTRACT.md (apex), evidence/, dispatch/.
mkdir -p ~/.cursor/skills/gauntlet && cp -R skill/* ~/.cursor/skills/gauntlet/
# npx skills add <this-repo> → skills/gauntlet/Triggers: /gauntlet, “beat this bar”, “compose gauntlet”, “gauntlet this plan”.
- Standard — UI/sites/writing/code; exit when pieces win blind + smoothing, or you stop.
- Apex / climb — long runs (needs Claude Max / Codex plan). Writes
CONTRACT.md. Human or budget is the real brake. - Compose / meta — paste into another agent session; runtime keeps ledger + evidence when you run.
- Critic never sees builder rationale; fresh critic every retry.
- Verdict binary:
oursorbar+ one gap. No 1–10. - Bar evidence fetched. Labels stripped.
- Exit = wins + smoothing, human stop, or budget. No default round cap.
- Human gates and budgets outrank “keep going.”
- Technique: Matt Shumer · somethingbig.ai/gauntlet-loop · Claude of Duty
- Role-split / gates: NicholasSpisak/gauntlet-loop
- Apex capture lessons: jolbol1/apex-gp
MIT