Skip to content
Protocol

task tracking

core by Curtis Mercier v1.0.0 heat: cold
workflowplanningcontinuitykanban
Tiercore
Version1.0.0
Heatcold
AuthorCurtis Mercier
SourceGitHub ↗
/install protocol task-tracking

Run in a Soma session to add to your project.

curl -sO https://raw.githubusercontent.com/meetsoma/community/main/protocols/task-tracking.md

Download and copy to .soma/protocols/task-tracking.md — or view on GitHub ↗

Tags

Applies to
always

Details

Task Tracking Protocol

A live kanban board that moves with you across sessions. The board is the single source of truth for what's happening, what's done, and what's waiting. It's updated as you work — not reconstructed after the fact.

TL;DR

One board: .soma/_kanban.md. Four lanes: Active, In Progress, Done, Parked. Move cards in real time. Verify board on exhale.

When to Apply

Every session. This protocol complements session-checkpoints (which tracks code state) and breath-cycle (which tracks session continuity). This one tracks intent — what you planned, what you did, what you deferred.

The Board

## Active


## In Progress


## Done


## Parked

Card Format

- [ ] Short description (added:YYYY-MM-DD @agent) 
  • Prefix matches your project (e.g., SOMA, APP, DOCS)
  • IDs are sequential — never reuse, never renumber
  • @agent identifies who created it (useful in multi-agent setups)
  • When completed: - [x] and add completion date

Lane Rules

Action Board update
Starting a task Active → In Progress
Task completed In Progress → Done (add date, commit hash)
Task blocked In Progress → Parked (add reason)
New idea mid-session Add to Active or Parked depending on urgency
Deprioritized Active → Parked
Resuming parked work Parked → In Progress

The Rhythm

On Inhale (session start)

  1. Read Active + In Progress lanes
  2. Orient: what was I doing? What's next?
  3. Don't re-read Done unless you need to verify something shipped

During Work

  • Move cards as state changes — not later
  • If you finish something, move it to Done immediately
  • If a new task emerges, add it to the right lane
  • Keep In Progress small (1-3 items). If it's growing, you're context-switching too much.

On Exhale (session end)

  1. Verify: does the board match reality?
  2. Everything you shipped → Done with date
  3. Anything you started but didn't finish → stays In Progress with a note
  4. New discoveries → Active or Parked
  5. The preload should reference the board, not duplicate it

Grouping

For larger projects, group cards by category within lanes:

## Active

### Release
- [ ] Tag v1.0.0-rc.1 (added:2026-03-12 @soma) 

### Bugs
- [ ] Fix login redirect loop (added:2026-03-12 @soma) 

Group Done cards by session date so you can see velocity:

## Done

### 2026-03-12
- [x] Fix breathe rotation bug (`abc123`) (2026-03-12 @soma) 

Anti-Patterns

  • Updating the board only at exhale — by then you've forgotten what you did. Move cards as you go.
  • Duplicating the board in preloads — the preload should say "see _kanban.md", not copy the lanes.
  • Too many items in Active — if Active has 20+ items, you need to park or cut. A long Active list is a backlog pretending to be a plan.
  • No IDs on cards — IDs let you reference tasks in commits, preloads, and session logs without repeating the description.
  • Stale board — a board that hasn't been touched in 2+ sessions is actively misleading. Better to delete it than leave it stale.

Pairing with Other Protocols

  • breath-cycle: On exhale wrap-up, board verification is a checklist item.
  • session-checkpoints: Commit the board with .soma/ state — it diffs cleanly on next boot.
  • workflow: Each card completion maps to the test → commit → push loop.

Settings

{
  "kanban": {
    "file": "_kanban.md",
    "prefix": "SOMA",
    "maxInProgress": 3
  }
}
View source on GitHub →