Build a task pool that keeps working when your usage resets
Spend a few minutes with your agent working out what needs doing and write it into a task pool. After that it works through the list one item at a time without asking you anything. When your usage runs out it stops; when it resets, it carries on. No babysitting.
Step 1
State the goal
Have the agent interview you until your idea is a clear goal.
I want to build: [describe your idea in one sentence]. Don't start yet. Interview me to pin down the goal, scope, constraints and what "done" means, asking only a few key questions at a time. When you're done, write the conclusions into the "Goal" section of PLAN.md.
Step 2
Learn the current state
Read-only research into the existing code, docs and constraints.
Read-only: don't change any files. Based on the "Goal" section of PLAN.md, research the relevant code, docs and current state. Write the facts, constraints and open questions into the "Research" section of PLAN.md, with the source for each.
Step 3
Break it into small tasks
Each task fits in one session and has a check you can run.
Break the goal in PLAN.md into tasks and write them into the "Tasks" section. For each task, state what it should achieve, which files it touches, what it must not do, and the done condition (one check you can run directly). Each task must fit in a single session; mark which tasks depend on which.
Step 4
Review
Check each task is feasible, then review the whole design for reliability, testability and simplicity.
Check that each approach in "Tasks" is feasible, then that they work together. Then review the overall design on these points: reliable and stable, failures get noticed, testable, quality backed by evidence, simple with no duplication. Mark each "pass" or "fail" with a reason and write the result into the "Review" section. If you find problems in the earlier sections, fix them there and tell me what you changed.
Step 5
Load the pool
Turn the reviewed tasks into a to-do list in POOL.md.
Turn the contents of "Tasks" in PLAN.md into a to-do list in POOL.md, in order. Put an unchecked checkbox in front of each item and keep: what it should achieve, files involved, what it must not do, and the done condition.
Step 6
Start it
The agent works through the list, checking each item, without interrupting you.
Work through the unchecked items in POOL.md in order, one at a time. After each item, run its done condition: if it passes, check it off, commit, and add a line at the end of POOL.md; if it fails, fix it, and if it still fails after two tries, mark the item "blocked", note why, and move on to the next. Don't ask me questions and don't change anything outside the list. When everything is done, write a summary at the end of POOL.md: what got done, what's blocked, and why.
Keep it running
- Claude Code: when your usage runs out, it waits in the open session and continues automatically once it resets (since v2.1.234, on by default when signed in with a claude.ai subscription). Keep the session open, don't let your computer sleep for long, and set permissions before you start (for example, allow running tests and committing); otherwise it stops and waits for you to confirm.
- Codex, other tools, or a session you've closed: Codex currently has no way to continue on its own after your usage resets. Once it resets, copy step 6 again and the agent picks up from the first unchecked item.