| name | gdd-todo |
| description | Design backlog - add/list/pick design tasks. Writes to .design/TODO.md. |
| argument-hint | <add|list|pick> [text] |
| tools | Read, Write, AskUserQuestion, mcp__gdd_state__get, mcp__gdd_state__add_decision, mcp__gdd_state__add_must_have |
| disable-model-invocation | true |
{{command_prefix}}todo
Role: Design todo list. Three subcommands: add, list, pick. Backing store: .design/TODO.md. For items that are pipeline-level decisions or must-haves (not free-form backlog), route through the gdd-state MCP tools instead - see Pipeline-linked items below.
File format
# Design Todos
## P0 — Blocking
- [ ] [2026-04-18] Fix contrast ratio on card headers
## P1 — High
- [ ] [2026-04-18] Align Button focus ring with tokens
## P2 — Normal
## P3 — Nice to have
Priority is encoded by section, not inline. Status markers: [ ] unchecked, [x] done, [-] [in-progress], [p] [promoted].
Subcommands
add [text]
If text omitted, use AskUserQuestion: "What todo item? (include priority P0-P3 if known)". Parse leading P[0-3] token from text; default P2. Append under the right section as:
- [ ] [YYYY-MM-DD] <text without priority token>
Create TODO.md from the template above if missing.
list
- Call
mcp__gdd_state__get → pipeline-level decisions + must-haves (shown as context at the top).
- Read
.design/TODO.md (file outside the MCP catalog). Print all - [ ] and - [-] items grouped by priority section, with index numbers.
pick
Read .design/TODO.md. Collect unchecked items. Use AskUserQuestion to let the user pick one. Rewrite the chosen line as:
- [-] [YYYY-MM-DD] [in-progress] <original text>
Print "Picked: ".
Pipeline-linked items
When the user promotes a todo to a pipeline decision or must-have, route through MCP instead of TODO.md:
- Decision →
mcp__gdd_state__add_decision with { id: "D-XX", text: "...", status: "locked"|"tentative" }.
- Must-have →
mcp__gdd_state__add_must_have with { id: "M-XX", text: "...", status: "pending" }.
Constraints
- Do not modify files outside
.design/.
- Preserve existing sections and ordering on write.
- Do not mutate STATE.md directly - use the MCP tools above.
TODO COMPLETE