name: OpenCode Todo Supervisor repo: https://github.com/N0K0/opencode-todo-supervisor npm: "@hacky.software/opencode-todo-supervisor" tagline: Session todo lists, plus a supervisor that keeps nudging idle sessions until the list is done description: Gives every OpenCode V2 session a real todo list and then keeps the agent working on it. Ships todo_write, todo_read, todo_add and todo_remove tools (V2 ships none), stored per session with stable per-item ids, with a live progress strip in the composer. A supervisor re-prompts any session that goes idle while its list still has open items, and stays quiet while the agent is actually working, including during tool calls, subagent runs and background shells. Any markdown file can be subscribed so its GFM checklists count as todos, and the TUI panel can tick them off by hand. Nudges are delivered as synthetic session input, so the model reads them as ordinary instructions. Tested against 2.0.24. kind: plugin topics: - workflow - ui compat: v2 scope: - global - project tags: - todo - task-tracking - productivity - automation - tui min_version: 2.0.0 installation: | ## Install ```sh opencode plugin add @hacky.software/opencode-todo-supervisor ``` Or list it in `opencode.json`: ```json { "$schema": "https://opencode.ai/config.json", "plugins": ["@hacky.software/opencode-todo-supervisor"] } ``` ## Configuration Options are optional; the defaults supervise quietly in the background. ```jsonc { "$schema": "https://opencode.ai/config.json", "plugins": [ { "package": "@hacky.software/opencode-todo-supervisor", "options": { "stallMinutes": 5, // idle time before the first nudge "minNudgeIntervalMs": 45000, // rate limit between nudges "maxNoProgressNudges": 5, // give up after this many no-progress nudges "injectTodoContext": true, // remind the model of the list on each prompt "markdownFiles": ["PLAN.md"] // treat these files' checklists as the todo list } } ] } ``` ## Usage Ask the agent to plan with `todo_write`, then check `todo_read`. In the TUI the composer strip shows progress; open the panel from the command palette to add, remove or reorder items, and to check off markdown checklist items.