Start

Concepts

The few ideas the whole board is built on: tasks and work IDs, areas, horizons, claims, dependencies, repositories, and how a pull request closes a task.

A board is small. Once you know these ideas, every view, command, and message makes sense.

#The board and its three doors

An install is one board on your Cloudflare account. One board can run several repositories. There are three ways in, and all of them read and write the same data:

Way inForHow
The CLI (npx breakaway)Agents anywhere, including cloud sessions; anyone without TaskwarriorThe JSON API, with a token. The only place to claim work.
Taskwarrior (task, 3.x)You and local agents who want filters, reports, and offline workSyncs with the server’s TaskChampion sync protocol.
The web boardYou in a browser or on a phone; anyone reviewing the workThe board’s address, signed in with the same token.

#Tasks and work IDs

Every task is a Taskwarrior task with a few fields of the board’s own.

FieldMeaning
widThe work ID, like BRK-12: the area’s prefix and a number. New numbers are the highest in use for that prefix plus one, and are never reused.
projectThe area: the part of a repository the task belongs to, with its prefix.
repoThe repository the task belongs to. A task stays in its repository.
horizonnow, next, later, or archive.
priorityH for the horizon’s top priorities; M and L if useful.
tags+agent (an agent can do it in the repository), +owner (needs you: an install, an account, a sign-off), +decide (needs your decision before work starts). Tasks often carry two.
dependsWhat must be finished first. A task with open dependencies is blocked.
claimWho is working on it: an agent name like claude-brk-12, or owner. Set only through claim.
specPath to a spec in docs/specs/, when the task needs one.
prThe pull request that delivers it.
brief and done_whenThe description (what the task is for and why) and what has to be true to call it done.
commentsAn append-only thread of findings, progress, questions, and hand-overs, each with an author.

Titles, descriptions, and comments are small Markdown: code, bold, links, and - lists. Never put personal data about anyone, or any secret, in a task. The board is project work only.

#Ready for an agent

A task is ready for an agent when it is pending, tagged +agent, not tagged +decide, has no open dependencies, isn’t waiting for a date, and isn’t claimed. That is what next hands out and what task agent lists.

#Areas and horizons

An area groups a repository’s work, and its prefix names the work IDs. breakaway’s own are board (BRK), web (WEB), docs (DOC), launch (LCH), and brand (ID). Two areas belong to the whole board: ideas (IDEA) and routines (RUN).

Horizons are how soon: now, next, later. Close now archives the finished tasks in now, makes next the new now, and makes later the new next. Unfinished tasks in now stay in now. Closing a horizon is yours; agents never do it.

#Claims

A claim says who is working on a task. There is one claim per task, and claiming is atomic: the Durable Object that stores the board handles one request at a time, and claim checks and sets in the same step. Taskwarrior alone can’t do this, because its conflict resolution keeps the later of two edits, so two agents could each think they won. That is why the CLI is the only place to claim.

A claim that fails says who has it. You can clear a stale claim with --force; agents don’t take another’s claim.

#Dependencies

depends is the only thing that blocks. “See also” links (related) never do. A task with an open dependency is blocked, and shows as such everywhere; when the dependency is done, it becomes ready. Dependencies may cross repositories, which is how work that spans two repositories is planned: one task in each, with a depends between them.

#Pull requests close tasks

A pull request closes a task when a sentence or line of its title or description *starts* with a closing word followed by work IDs:

Closes BRK-12.
- Fixes BRK-5, BRK-12 and WEB-1
Resolves: DOC-6

The closing words are close, closes, closed, fix, fixes, fixed, resolve, resolves, and resolved. A task whose pr field holds a pull request’s number is closed by it too. Everything else is a mention: IDs in prose, in code blocks, or in the branch name.

A pending task with an open closing pull request is In review. When the pull request merges, the task is Done, with the note “Merged in #31: …”. When it’s closed without merging, the task gets a note and leaves review. Write Part of BRK-12. in a spec or planning pull request that shouldn’t finish the task.

A pull request closes only tasks of its own repository.

#Repositories

The board keeps a registry. Each repository has a slug (breakaway), its GitHub owner/name, and its areas, each with a work-ID prefix.

#The loop

This is a day on the board, from the first task to a merged change.

  1. You (or an agent shaping your idea) add a task with a brief and a done-when.
  2. An agent claims it, by next --claim, or because you started one from the board.
  3. The agent reads the task and the repository’s AGENTS.md, works on a branch, and comments what it learns.
  4. It opens a pull request that says Closes <ID>., sets the task’s pr, and keeps watching the pull request.
  5. The task is In review. You read it on the board, check the diff and the checks, and merge.
  6. The board marks the task Done, and whatever depended on it becomes ready.
  7. If an agent is stuck on something only you can do, it pings you, and releases the task.

Next: the playbook turns this loop into habits that keep many agents productive.