iteratelisted
Install: claude install-skill byerlikaya/claude-starter-kit
# Iterate — refine to Done, don't stop at the first attempt
<!-- routing-eval reads this line; it lives in the BODY so the always-on skill LISTING stays inside
Claude Code's budget (1% of the context window) — an overflowing listing gets descriptions
truncated or dropped, which strips the very keywords a match depends on. -->
Trigger phrases: "iterate", "loop until done", "keep going until"
## When
A task has an objective acceptance criterion (tests, a review gate, a spec) and the first attempt may not
meet it. This is a single-session refinement loop — NOT the harness `/loop`, which schedules a prompt on an
interval. Open-ended exploration with no checkable target does not belong here.
## The loop
1. **Name the exit test first** — the concrete, checkable condition that means "done": tests green,
`review-agent-csk` clean, the spec's acceptance criterion met, zero SonarQube findings. No exit test →
go to spec-planning first; a loop without a target never terminates.
**Prefer an external, machine-grounded verifier** — a test exit code, a schema match, a lint/quality gate —
over an LLM's self-assessment. A model grading its own output inflates; an "it looks done" or even a single
"review clean" with no objective check is a weak verifier. When the only available check is a judgment call,
ground it (a second agent with a distinct lens, an explicit rubric) rather than trusting the loop's own say-so.
For a generative task with no exit code, the `eva