Agent Instructions: Progress Recitation
Session Start Protocol
- Read
todo.mdandclaude-progress.jsonfrom disk. - Recite the current state aloud:
- How many tasks are completed out of the total
- What the current in-progress task is (if any)
- The next 3 remaining tasks
- If the two files disagree, trust
todo.mdand updateclaude-progress.jsonto match.
During Work
-
After completing each task:
- Mark it done in
todo.md(change[ ]to[x], move to Completed) - Update
claude-progress.jsonwith the new counts and lists - Update the Session Notes in
todo.mdwith last recitation info
- Mark it done in
-
Full recitation every 3 completed tasks:
- Re-read
todo.mdfrom disk (do not rely on memory) - State aloud: "Completed N of M tasks. Just finished: [task]. Remaining: [list remaining items]."
- This is the critical step. Re-reading from disk moves the progress state from the middle of your context to the end, where attention is strongest.
- Re-read
-
Stall detection: If you have been working on a single task for more than 15 minutes without updating progress, pause and recite current state. This catches situations where you are stuck or have drifted off-task.
Session End Protocol
- Update both
todo.mdandclaude-progress.jsonwith final state. - If any task is partially complete, note what remains in the Session
Notes section of
todo.md. - Recite the final state: what was accomplished this session, what is next for the following session.
Recitation Format
When reciting, use this format:
Progress: [completed]/[total] tasks done.
Just finished: [task name].
Current: [in-progress task, if any].
Remaining: [list of remaining tasks].
Next recitation due: after completing [task name] (task N of M).
Rules
- Never skip a recitation at the 3-task cadence. It is tempting to keep working, but recitation prevents drift.
- Always re-read from disk. Do not recite from memory. The whole point is to get fresh state into your context window.
- Keep
claude-progress.jsonin sync withtodo.mdat all times. - If you discover new tasks during work, add them to the Remaining
section of
todo.mdand update the total count in both files.