Loop/goalTestingmedium riskintermediatesafety C · 60GitHub

Ship the release

Run tests and update changelog until both pass without altering the public API.

prompt
→ Claude
/goal ship the release --success "tests pass and changelog updated" --constraints "do not touch the public API" --mode ordered
claude-code

Use this when

You are cutting a release and the definition of done is mechanical — tests green and changelog current — but you do not want the agent fixing things by changing the public API along the way.

Done when

Exit requires both success conditions to hold at once. Still check the diff for API-surface changes — the constraint is an instruction, not a type-checker. Keep the actual publish/tag/deploy step for a human.

Why it works

/goal encodes both the success condition (tests pass and changelog updated) and a constraint (do not touch the public API), so the loop can iterate on failures without widening its own scope. --mode ordered makes it get tests green before touching the changelog.

Source: willytop8graded C · 60/100 — how grades work →

More testing loops

Ralph a test backlog

Iterate over a prioritized list of untested modules with fresh context each pass, writing real behavioral tests for one module at a time and banking lessons in a guardrails file.

prompt
→ Claude
/loop each iteration with fresh context: read .ralph/test-backlog.json and .ralph/guardrails.md, pick the top unfinished module, write behavioral tests for its public API (no snapshot-only tests), run the suite, and mark the module done only when its tests pass and coverage for it exceeds 80%; append any discovered testing gotcha (fixtures, mocking rules, async traps) to .ralph/guardrails.md; stop when the backlog is empty or after 25 turns

Test all endpoints

Loop/goalGitHubB

Run tests against every API endpoint until coverage is complete or you hit 30 iterations.

prompt
→ Claude
/goal all endpoints tested or stop after 30 turns
testingmedium riskclaude-code

Ship avatar endpoint to spec

Loop/goalGitHubBnew

Build and test a new /users/:id/avatar route until it passes tests, lint, and matches the OpenAPI schema.

prompt
→ Claude
/goal until grep -q "users/:id/avatar" src/routes/users.ts AND pnpm test -- tests/integration/users.avatar.spec.ts passes AND grep -q "/users/{id}/avatar" openapi.yaml AND pnpm lint passes, or stop after 15 turns
testingmedium riskcursor