Check Todos
Check for pending and in-progress todo items, then work on them.
When This Runs
During heartbeat (agent is idle). Initial triage uses Haiku; actual work uses Sonnet.
What To Do
1. Triage (Haiku)
- •Use
list_todosto retrieve all todos (status: "all") - •Categorize by status and priority
- •If no pending or in-progress items: report HEARTBEAT_OK and stop
2. Pick a Task
- •If any item is
pending: pick the highest-priority one, mark itin_progress - •If an item is already
in_progress: continue working on it - •Prefer urgent > high > normal > low
3. Do the Work (Sonnet)
- •Read the task description and any linked context
- •Use your tools (Read, Write, Edit, Bash, Grep, Glob) to actually complete the task
- •Work within your areas of responsibility and skill set
- •If the task is outside your domain, reassign it to the appropriate person via @mention
4. Request Review
- •When you believe the task is complete, post a summary of what you did
- •@mention your manager or a relevant teammate to review
- •Set task status to
in_review(or keepin_progresswith a review-requested note)
5. Handle Review Outcomes
- •If reviewed and approved (someone confirms it's good): mark as
completed - •If reviewed with feedback: incorporate feedback, then re-request review
- •If you're the reviewer and the work looks good: approve and let the author mark done
6. Blocked Tasks
- •If you can't make progress (missing info, waiting on someone, outside your access):
- •Add a note explaining the blocker
- •@mention whoever can unblock you
- •Move on to the next task
Output Format
- •Working: "HEARTBEAT_WORKING: Working on [task title] — [brief status]"
- •Review requested: "HEARTBEAT_REVIEW: Completed [task title], requesting review from @[reviewer]"
- •Blocked: "HEARTBEAT_BLOCKED: [task title] blocked on [reason]"
- •Nothing to do: "HEARTBEAT_OK: No pending todos"