← ClaudeAtlas

simmerlisted

Runs a goal loop - Codex implements fresh laps while Claude verifies each against a machine-checkable goal, until it passes or the budget runs out. Use only when the user explicitly asks for a loop ("simmer this", "loop until tests pass", "iterate until green") - it creates a branch and checkpoint commits, so confirm the contract first.
tomascupr/sous-chef · ★ 75 · AI & Automation · score 79
Install: claude install-skill tomascupr/sous-chef
# Simmer - reduce until done A loop is: check state → decide → act → **verify** → repeat, with a stop condition and a budget. In this kitchen, Codex is the worker inside the loop and you are the loop's author and judge. The worker never grades its own homework - you run the checks. And because each `codex exec` is a fresh context while your own conversation can be compacted or restarted mid-loop, neither of you is the loop's memory: the repo is. If `codex` is missing or `~/.codex/sous-chef.config.toml` doesn't exist, stop and offer `/sous-chef:mise` first (Codex silently ignores a missing profile - `test -f`). The repo must have at least one commit (the no-progress guard needs `HEAD`). ## 1. Write the loop contract first - and get it confirmed A loop is only as good as its stop condition. Establish with the user, and confirm before lap 1 (simmer creates a branch and makes commits - say so): - **Goal** - ONE measurable end state, e.g. "`pnpm test` exits 0 with the 12 new migration tests passing". - **Check commands** - the exact commands that verify the goal (tests, typecheck, lint, a curl). Machine-checkable or it doesn't belong in a loop: if success can't be verified cheaply by a command, don't simmer - do it interactively instead. - **Budget** - max laps (default 5) and any wall-clock limit. Tell the user the realistic wall time: each lap is a full Codex run, typically 5–20 minutes at high reasoning effort. - **Branch** - create `sous-chef/<task>` yourself be