# Task tracking

> A structured task list, held outside the agent's context window, is the plan's external source of truth

A **task tracker** holds that list where both sides can see it: the agent reads
and writes it between turns, and so do you, as work proceeds. It records what's
done, what's in progress, and what's still to come.

Without one, the plan exists only in the conversation. As the conversation
grows, earlier sub-tasks may leave the context window, and "done" can mean only
that the agent claimed completion. A tracker records the complete task list and
lets both you and the agent compare each progress report with the file.

:::info[An incomplete list, by nature]

Several entries below did not exist twelve months ago, so the list is
illustrative. Found a better tracker? Post it on [Ed](https://edstem.org) so the
whole cohort benefits.

:::

## Markdown and file-based trackers

- **[MrLesk/Backlog.md](https://github.com/MrLesk/Backlog.md)** --- markdown
  task tracker with an MCP server, kanban view, and AI-agent guidelines. Tasks
  live as markdown files in `backlog/`, easy to read, grep, and version with the
  rest of the repo.
- **[steveyegge/beads](https://github.com/steveyegge/beads)** --- Steve Yegge's
  "memory upgrade for your coding agent." A distributed graph issue tracker
  (SQLite + Dolt-backed) with `bd ready` for dependency-aware next-task
  selection, hash-based IDs to avoid merge collisions, and semantic compaction
  of closed tasks. JSON output for agent consumption.
- **[hmans/beans](https://github.com/hmans/beans)** --- Hendrik Mans's flat-file
  alternative inspired by beads: plain markdown files in `.beans/`, CLI-driven,
  designed so the agent runs `beans prime` at session start to rehydrate the
  plan. Lighter and more human-readable than beads.

## Spec-driven workflows produce task lists too

The same pattern shows up inside the spec-driven toolkits --- spec-kit,
superpowers, cc-sdd, agent-os; see the
[catalogue's spec-driven section](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/agentic-tool-catalogue/#spec-driven-workflow) ---
which take a brief or PRD and emit a tracked task list as the **Tasks** stage of
a longer pipeline, rather than offering the tracker as a standalone tool.

## MCP-server task lists

- **[eyaltoledano/claude-task-master](https://github.com/eyaltoledano/claude-task-master)** ---
  "Taskmaster": npm-installable MCP server that drops into Cursor, Cline,
  Windsurf, and Claude Code. Parses a PRD into tasks; exposes `next_task`,
  `expand_task`, and dependency tracking. Probably the most-installed tool in
  this category.
- **[floriscornel/todo-mcp](https://github.com/floriscornel/todo-mcp)** ---
  generic project-scoped task-list MCP server with priorities and persistent
  storage. Minimal example of "give the agent a todo list it can call as a
  tool."

## Pick one and keep it boring

Use whichever tool you will update consistently. For coursework, keep one
tracker per prototype across sessions. On the morning of your cutoff, it should
show exactly what remains before the crit.

Use separate tools for separate records. The agent's tracker (beans, beads,
Backlog.md) is working memory that can be rewritten freely. A human-visible
tracker (Linear, GitHub Issues, or a course assignment brief) is the permanent
record across sessions.

Source: <https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/task-tracking/>\
Licence: [CC-BY-NC-SA-4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)\
Cite as: Swift, B. (2026). _COMP4020/COMP8020 Agentic Coding Studio_ [Course materials]. ANU School of Computing. https://doi.org/10.5281/zenodo.21395760
