Quick task jotting without the full spec pipeline. Manage ad-hoc TODOs in .kiln/todos.md.
Manage lightweight TODOs in .kiln/todos.md without going through the full spec pipeline.
$ARGUMENTS
/todo — List all open TODOs
/todo buy milk — Add a new TODO
/todo done 2 — Mark item #2 as complete
/todo clear — Remove all completed items
Parse user input to determine the operation mode:
done <N> → Mark done mode (FR-016)clear → Clear completed mode (FR-017)Check if .kiln/todos.md exists. If not, create it:
# TODOs
The file format is plain markdown — one checkbox item per line, compatible with any markdown viewer.
Read .kiln/todos.md and display all items with their index numbers:
## TODOs
1. [ ] Buy milk (2026-04-04)
2. [x] Fix login bug (2026-04-03) [done: 2026-04-04]
3. [ ] Write tests for auth module (2026-04-04)
If the file has no items, display: "No TODOs yet. Add one with /todo <text>."
/todo <text>) — FR-015Append a new item to .kiln/todos.md:
- [ ] <text> (<today's date>)
Where <today's date> is in YYYY-MM-DD format. Get today's date:
date +%Y-%m-%d
Display confirmation: "Added: - [ ] <text> (<date>)"
/todo done <N>) — FR-016Read .kiln/todos.md, find the Nth checkbox item (counting from 1), and change it from - [ ] to - [x], appending a completion date:
- [x] <text> (<original-date>) [done: <today's date>]
If N is out of range, display: "Item #N not found. You have M items."
If item #N is already marked done, display: "Item #N is already complete."
Display confirmation: "Done: - [x] <text>"
/todo clear) — FR-017Read .kiln/todos.md and remove all lines matching - [x]. Keep all - [ ] lines and any non-item lines (headers, blank lines).
Display how many completed items were removed: "Cleared N completed items. M items remaining."
If no completed items exist, display: "No completed items to clear."
.kiln/todos.md relative to repo root — FR-018YYYY-MM-DD — FR-015, FR-016# TODOs header line — FR-018