# Update Todos

> Update the project's TODO.md by checking off completed tasks and moving them under the **done** section. Use this skill whenever the user asks to update todos, mark a task done, move completed items to done, tick off a todo, or clean up TODO.md after finishing work — even when they don't explicitly mention the file. Also trigger on phrases like "/update-todos", "log that as done", "move this to done", or "todo bookkeeping".

- Skill: `not-manu/update-todos` (Agent Skill)
- Install (CLI): `npx skillmds@latest add not-manu/update-todos`
- Raw SKILL.md: https://api.skillmd.com/api/skills/not-manu/update-todos/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: not-manu (https://skillmd.com/u/not-manu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/not-manu/update-todos

---


# update-todos

Keep `TODO.md` tidy after work is finished. Minimal, mechanical.

## What to do

1. Read `TODO.md` at the repo root (or the path the user names).
2. Identify which open `- [ ]` items the recent conversation actually completed. If it's ambiguous, ask the user which ones to move — don't guess.
3. For each completed item:
   - Remove it from its current location in the open list.
   - Append it to the `**done**` section as `- [x] <text>`. No notes, no explanations, no trailing prose — the title alone. The user can read the git log for the why.
4. Preserve the rest of the file verbatim — section headers, blank lines, ordering of untouched items, indentation style.

## Notes

- The `**done**` section is the archive. New entries go at the bottom of it.
- Don't invent tasks, don't reword open items, don't reorder unrelated lines.
- If there's no `**done**` section yet, create one just below the open list.
- If nothing in the conversation maps to an open todo, say so instead of forcing a move.

