---
title: kanban
description: Implement ticket files from .smithers/tickets in parallel worktree branches.
---

`kanban` reads Markdown tickets from `.smithers/tickets/`, runs each ticket in its own worktree branch, then asks an agent to merge successful branches back into the main workspace.

```bash
bunx smithers-orchestrator workflow run kanban --input '{"maxConcurrency":3}'
```

<Frame caption="The kanban UI shows each ticket implemented on its own worktree branch, merging only the ones that pass.">
  <img src="/images/workflow-ui/kanban.png" alt="kanban workflow UI showing tickets fanned into worktree branches before a merge step" />
</Frame>

## Inputs

| Input | Type | Default |
| --- | --- | --- |
| `maxConcurrency` | number | `3` |

## Ticket Layout

Place ticket files in `.smithers/tickets/`:

```text
.smithers/tickets/
  add-oauth-login.md
  improve-empty-state.md
```

## How It Runs

1. Discovers `.md` ticket files, skipping dot-prefixed files (e.g. `.gitkeep`) and any file named `readme.md` (case-insensitive).
2. Creates a worktree branch for each ticket.
3. Runs the shared `ValidationLoop` per ticket.
4. Records a ticket result in the run log.
5. Merges branches where validation passed and at least one reviewer approved.

## Output Shape

Each ticket branch is merged into the main workspace on success. The run log records per-ticket validation results and reviewer feedback; failing tickets are left in their worktree branches for inspection.

## Use it when

- You have multiple independent tickets in `.smithers/tickets/`.
- You want each ticket built in its own worktree branch and merged on success.

## Use something else when

- You have not split the work yet: run [`tickets-create`](/workflows/tickets-create) first.
- The work is a single change: use [`implement`](/workflows/implement).

## Resume & retry

Runs are durable and resume with `up --resume`. Each ticket runs the validation loop independently; branches that pass validation and reviewer approval are merged, and failing tickets are left in their worktree branches for inspection.
