> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tesslate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kanban Board

> Track tasks, plan work, and let agents pick up tickets. Every card has a TSK-NNNN ref and lives inside your project. Agents can create, move, and comment as they work.

<img src="https://mintcdn.com/tesslate/VT6tbZolrCfpx26M/images/opensail-banner.png?fit=max&auto=format&n=VT6tbZolrCfpx26M&q=85&s=66579c47537b3464fb65b229cc9ab0fd" alt="Tesslate OpenSail" width="4712" height="1612" data-path="images/opensail-banner.png" />

## Work lives inside the project

Every project has a built-in Kanban board. Columns, cards, and comments live in the project database, so the agent can read and write them with the same authority it edits files. No separate tracker, no context-switching to Linear or Jira for simple task management.

<CardGroup cols={2}>
  <Card title="TSK-NNNN refs" icon="hashtag">
    Every card gets a human-readable ref. `TSK-0001`, `TSK-0042`. Agents cite them in commits, comments, and commit messages.
  </Card>

  <Card title="Drag to reorder" icon="arrows-up-down-left-right">
    Move cards between columns by dragging. Reorder within a column too.
  </Card>

  <Card title="Agent-aware" icon="robot">
    Agents can create cards, move them, update status, and comment. The board is a shared tool.
  </Card>

  <Card title="Comments and metadata" icon="tags">
    Due dates, assignees, labels, threaded comments, markdown descriptions.
  </Card>
</CardGroup>

## Opening the board

Open the Kanban panel from the tool dock in the project builder. It renders in `panels/KanbanPanel.tsx` with columns, cards, and inline editors.

Default columns:

* **Backlog** Ideas and future work
* **Todo** Ready to pick up
* **In Progress** Actively being worked on
* **Review** Waiting for review or validation
* **Done** Completed

Columns are fully configurable. Rename, reorder, add, or remove columns to match your team's workflow.

## Creating a card

<Steps>
  <Step title="Click the + in any column">
    Inline input opens. Type a title and hit Enter.
  </Step>

  <Step title="Open the detail panel">
    Click the card to open the side panel. Add description (markdown), due date, assignee, labels, and links.
  </Step>

  <Step title="Comment">
    Thread-style comments appear under the description. Agents post comments too.
  </Step>
</Steps>

## TSK-NNNN refs

Every card gets a unique ref starting at `TSK-0001`. Refs never renumber when cards are deleted, so they stay stable forever. Use them everywhere:

* **In commit messages** `git commit -m "TSK-0042: add Slack OAuth"`
* **In chat** "TSK-0042 is blocked on the API token"
* **In PR descriptions** Link them for traceability
* **In code comments** `// TSK-0042: revisit when the rate limit lifts`

The agent's kanban tool takes refs as input, so "move TSK-0042 to Review" works from chat.

## The agent's kanban tool

The agent has a built-in `kanban` tool with these operations:

| Operation | Purpose                                             |
| --------- | --------------------------------------------------- |
| `create`  | Create a new card in a column                       |
| `move`    | Move a card to a different column                   |
| `update`  | Edit title, description, labels, due date, assignee |
| `comment` | Post a comment on a card                            |
| `get`     | Read a card by ref                                  |
| `list`    | List cards in a column or across columns            |

Common patterns:

* **Spawn from description** "Break this project spec into tickets for the backlog." The agent reads your description, creates one card per subtask, and organizes them into columns.
* **Close as you work** Ask the agent to implement TSK-0042. It reads the card, implements, creates a commit, moves the card to Review, and comments with the commit SHA.
* **Plan and track** The agent's `update_plan` tool pairs well with kanban. Use the plan for the current session, kanban for longer-lived work.

<Info>
  The agent respects edit mode when writing to the board. In Ask mode, card mutations show an `ApprovalRequestCard` just like file writes.
</Info>

## Filtering and search

The board top bar has:

* **Search** Filter cards by title, description, or ref
* **Label filter** Show only cards with specific labels
* **Assignee filter** Show only cards assigned to a specific user
* **Due date filter** Overdue, this week, no date

Filters combine. URL params persist filter state so you can bookmark a view.

## Columns

<Steps>
  <Step title="Add">
    Click the + at the end of the column list. Name it, save.
  </Step>

  <Step title="Rename">
    Click the column title to rename inline.
  </Step>

  <Step title="Reorder">
    Drag the column header to reorder.
  </Step>

  <Step title="Delete">
    Kebab menu on the column. Cards in the column move to the first remaining column.
  </Step>
</Steps>

## Comments

Comments are threaded under each card. Markdown is supported. When the agent comments, it is labeled with the agent's name and icon so you can distinguish agent activity from human activity.

Mentions (`@user`) notify team members. The agent does not mention by default, but you can configure it to mention specific humans on status changes through a skill.

## Labels

Labels are color-coded tags. Common setups:

* **Priority** `P0`, `P1`, `P2`, `P3`
* **Area** `frontend`, `backend`, `infra`, `docs`
* **Type** `bug`, `feature`, `chore`, `tech-debt`

Create labels in the board settings. Apply them to any card from the detail panel.

## Integration with the agent

The kanban board lives in the same project as your code, so the agent has full read/write. Some patterns that work well:

<AccordionGroup>
  <Accordion icon="list-check" title="Standup generator">
    A scheduled agent reads In Progress and Review columns, pulls recent commits, and posts a standup summary to Slack every morning.
  </Accordion>

  <Accordion icon="robot" title="Ticket picker">
    A skill teaches the agent your prioritization rules ("always pick P0 first, then oldest"). The agent picks one card, implements, moves to Review.
  </Accordion>

  <Accordion icon="magnifying-glass" title="Scope sniff">
    Before implementation, ask the agent to list all cards matching a tag and summarize what's in scope for the current sprint.
  </Accordion>
</AccordionGroup>

## Keyboard shortcuts

| Shortcut       | Action                                    |
| -------------- | ----------------------------------------- |
| `N`            | New card in focused column                |
| `/`            | Focus the search input                    |
| `Enter`        | Save inline edit                          |
| `Esc`          | Cancel inline edit                        |
| `Cmd/Ctrl + K` | Command palette (includes kanban actions) |

## Related

<CardGroup cols={2}>
  <Card title="Agents" icon="robot" href="/guides/agents">
    The agent that reads and writes the board.
  </Card>

  <Card title="Chat interface" icon="comments" href="/guides/chat-interface">
    Ask the agent to work on TSK-NNNN refs.
  </Card>

  <Card title="Projects" icon="folder" href="/guides/projects">
    The project that owns the board.
  </Card>

  <Card title="Git integration" icon="code-branch" href="/guides/git-integration">
    Reference TSK refs in commit messages.
  </Card>
</CardGroup>
