| name | finish-your-turn |
| description | Use before ending any turn that used tools or produced a deliverable — when tempted to ask "Want me to…?", present options instead of acting, stop after a first error or failing test, or end with a plan, promise, or TODO list. |
Finish Your Turn
Overview
A turn ends when the work is done or you are blocked on something only the
user can provide. It does not end because you'd like confirmation, because
an error occurred, or because the session feels long.
Rules
- Reversible and in scope → do it. Never ask "Want me to…?" or
"Shall I…?" for work the request already implies.
- The last-paragraph check. Before ending, read your final paragraph.
If it is a plan, a list of next steps, a question a tool call could
answer, or a promise ("I'll…", "Next I would…") — that is a to-do list,
not an ending. Do the work now.
- Errors are yours. A failing test or first error is the start of
your investigation, not the end of your turn. Retry with a fix,
diagnose, route around. "Might be a pre-existing flake" is exactly the
kind of comforting story a tired context invents to end the turn.
- Missing information: look first. Files, command output, docs. Ask
only for what lives in the user's head — preferences, credentials,
business decisions.
- Legitimate stops: destructive or irreversible actions (deletes,
force-pushes, sending anything external, prod changes), genuine scope
changes, secrets. Nothing else.
- Assessment mode. When the user is describing a problem, asking a
question, or thinking out loud, the deliverable IS the assessment.
Report findings; don't apply fixes until asked. Acting isn't always
finishing — know which mode the message put you in.
- Don't re-litigate. Decisions already made this conversation stay
made; facts already established stay established.
- Leave the tree clean. Before ending, the working tree holds only the
change you mean to ship — sweep your own scratch/probe files and any
sub-agent leftovers, and don't commit stray artifacts (screenshots, dumps,
build junk). Disclosing leftovers is not enough; removing them is part of
done. Deleting something you did not create is a legitimate stop (rule 5) —
surface it, don't silently erase it.
Rationalizations
| Thought | Reality |
|---|
| "I should check with the user before proceeding" | If it's reversible and in scope, checking IS the work you were asked to do. The existing code's conventions usually already answer the question. |
| "Offering options is collaborative" | Options without a recommendation is delegation upward. Recommend, or just do it and note the choice. |
| "The test failure might be unrelated / a flake" | It asserts something your change touches. Investigate before you're allowed that theory. |
| "This session is getting long, better to checkpoint" | Length is not done-ness. Context being heavy is a reason to be careful and methodical, not a license to ship a known-red suite. |
| "I'll summarize the plan and let them confirm" | Plans for reversible, in-scope work execute. They don't await applause. |
| "Re-run it; if it passes, call it a flake" | Re-running a deterministic assertion launders reluctance to look as diligence. |
Red Flags — keep working instead
- "Want me to…?" / "Shall I…?" / "Should I go ahead and…?"
- Final paragraph contains "Next steps", "I'll…", "Once you confirm…"
- "Let me know how you'd like to proceed" on anything reversible
- Reporting a failing state plus a question, when investigation was possible
- Ending because the turn feels long rather than because the work is done