Kaban Workflow
Persistent Kanban board for AI agent coordination. Tasks survive sessions and sync with TodoWrite.
Core principle: TodoWrite for session visibility, Kaban for persistence.
When to Activate
- •Multi-step features (3+ tasks)
- •User says "plan", "track", "board", "kanban"
- •Session start with existing board
- •Delegating to sub-agents
Not for: Single tasks, pure research, throwaway work.
Availability
MCP Tools (Preferred)
code
kaban_status - board status kaban_list_tasks(assignee?) - list tasks (filter by assignee) kaban_add_task - add task kaban_update_task(assignedTo?) - update task / assign kaban_move_task - move between columns kaban_complete_task - mark done
CLI Fallback
bash
which kaban # check installation kaban status # board status kaban list # list tasks kaban list --assignee <agent> # list MY tasks kaban add "title" # add task kaban assign <id> <agent> # assign task to agent kaban move <id> <col> --assign # move and claim task kaban done <id> # complete task
Install: npm i -g @kaban-board/cli or brew install beshkenadze/tap/kaban
Never Do
- •Check
.kaban/board.dbdirectly - •Run source code (
bun run,npx ts-node)
Task Sync
| Action | TodoWrite | Kaban |
|---|---|---|
| Create | todowrite | kaban_add_task |
| Assign | - | kaban assign <id> <agent> |
| Start | status: in_progress | kaban move <id> in-progress --assign |
| Complete | status: completed | kaban_complete_task |
Always mirror changes to both systems.
Session Start
code
1. kaban_status (or kaban status)
├─ No board → proceed normally
└─ Board exists → check in-progress tasks
└─ Ask: "Resume [task]?"
Sub-Agent Delegation
code
1. kaban assign <id> <agent-name> # Assign task to sub-agent 2. Task tool prompt includes: - Kaban task ID - Agent name for --assignee filter 3. Sub-agent workflow: - kaban list --assignee <agent-name> # See MY tasks - kaban move <id> in-progress --assign <agent-name> - kaban done <id> # When complete
Columns
| Column | WIP Limit |
|---|---|
| Backlog | - |
| To Do | - |
| In Progress | 3 |
| Done | - |
Labels
| Type | Examples |
|---|---|
| Type | bug, feature, refactor |
| Priority | p0, p1, p2, p3 |
| Domain | frontend, backend, infra |
Quick Reference
CLI Commands
| Command | Description |
|---|---|
kaban init | Initialize board |
kaban status | Board summary |
kaban add "title" | Add task |
kaban list | List tasks |
kaban list --assignee <agent> | List agent's tasks |
kaban assign <id> <agent> | Assign task |
kaban assign <id> --clear | Unassign task |
kaban move <id> <col> | Move task |
kaban move <id> <col> -A [agent] | Move and assign |
kaban done <id> | Complete task |
kaban archive | Archive done tasks |
kaban restore <id> | Restore from archive |
MCP Tools
| Tool | Key Parameters |
|---|---|
kaban_add_task | title, column?, labels? |
kaban_move_task | id, column |
kaban_update_task | id, assignedTo?, labels? |
kaban_complete_task | id |
kaban_list_tasks | columnId?, assignee?, blocked? |
kaban_status | - |
kaban_archive_tasks | - |
kaban_restore_task | id |
Rules
- •Always sync TodoWrite ↔ Kaban
- •Include task ID when delegating
- •Respect WIP limits (ask before forcing)
- •Use CLI or MCP tools only (never direct DB access)