atrium — Docs
docs/panes/tasks.md

Tasks panes

Task list and task detail panes for the built-in task tracker.

There are two task pane types: the task list and the task detail view.

See Tasks & runs for the data model.

Task list pane

A project-scoped view of every task card.

The board

The pane is a kanban board — the only view. Cards are laned along one axis at a time (status, label, priority, project, or source), and dragging a card between lanes changes that field. New cards land at the top of their lane.

  • A card with an active run embeds a live agent chat, so you can follow and reply right on the card, and shows launch progress while its agent spins up.
  • Right-click any card for its context menu.
  • Cards for repeating tasks carry a Repeat badge and a countdown to the next fire. See Repeating a task.
  • Under a wallpaper, lanes keep a faint surface backing so columns stay legible.
The pane can also dock as a resident, showing a compact task list with live agent badges that opens the full view in a room.

Opening

  • Cmd+Shift+K opens or focuses the task pane.
  • The Home sidebar's Tasks row, or Cmd+T K from the launcher chain.

Managing lanes

The lanes are the underlying records, so managing them lives in the lane header menu: Rename, Move left, Move right, and Delete, plus creating a new one.

This applies only to axes whose columns are real editable records — status and label. Priority is a fixed enum, project membership is managed in the sidebar, and source is system-assigned, so those axes have no lane CRUD.

Lanes can also be sorted one-shot, per lane.

Filtering

  • Real-time search over title, description, and tags, in the pane header.
  • Filter by assignee, label, priority, project, and recurrence kind.
  • The current lane axis is not offered as a filter — laning by status already partitions by status, so a status filter on top of it would be redundant. Change the axis and the filter reappears.
  • Filter selections are scoped per pane, so one pane can stay filtered to "in review" while another shows your full backlog.
  • Priority color dots: critical (red), high (orange), medium (yellow), low (gray).
An empty board says so plainly rather than rendering an empty grid.

Task detail pane

Single-card view with full edit surface.

Opening

  • Cmd+Shift+J opens or focuses a task detail pane.
  • Click a task in the task list pane.
  • Cmd+click an ATR-# reference in any terminal pane to open that task in a detail pane (or focus an existing pane already bound to it).
  • atrium task show <id> opens it (or the CLI prints details if the pane is not used).
  • atrium task create from a pane auto-assigns the new card to the caller's project, so cards minted from inside a project's panes don't need an explicit --workspace.
  • Automatically opened when an adapter executes a task launched via task dispatch.

Capabilities

  • Edit title, description (rich Markdown), status, priority, size, assignee, labels, due date. The edit modal auto-saves as you type, mirroring the inline detail pane behavior.
  • Files section — drag files from Finder or the project tree into the task to attach them; attached files surface as chips on the card and appear in the create-task modal too.
  • Inline list of the task's runs with status (pending, running, succeeded, failed, cancelled), inline output/logs, Replay on completed runs, Cancel on running runs.
  • A Recurrence section for the card's repeat schedule, plus review-cycle controls (Next cycle / Redo / Done / Stop) when the card is parked awaiting your review.
  • A Runs section listing every run for the card with a status pill, its source (Loop / Schedule / user), and a relative timestamp — so a loop card that has fired forty times stays readable. Interrupted runs can be resumed from here; active and terminal runs are disabled with an explanatory tooltip.
  • Comment thread with a full Markdown editor for composing — RTE toggle, code fences, mentions. Comments surface their kind (discussion / instruction / agent-update) and source stamp; the count is shown on the accordion before you expand it.
  • Dispatched review threads — when you Send-to-agent from the source control pane, the dispatched comments appear as nested diff-style cards inside the task's Comments section, with syntax-highlighted code snippets above each anchored comment so the conversation stays in one place.

Skills & Agents context

An accordion section on the task surface (create modal, edit modal, detail pane) lets you bind a named agent and overlay an ordered list of skills before launching. It mirrors the agent editor's attached-skills picker:

  • A search input opens a unified dropdown of agents and skills. Empty-state shows suggestion cards (recent + popular profiles, recently-used skills).
  • Once anything is picked, the row flips to a list view with Discoverable | Pre-loaded segmented controls per skill, per-row token chips, and × removal — same controls as the agent editor's attached-skills list.
  • Skill rows show their provenance in the pretty form (atrium · user, Claude Code · project); agent rows show a Bot glyph in the iconPrefix slot to distinguish them from skill rows.
The picker writes to the v8 agent_ref / skill_selection / profile_slug columns on the card row (see Tasks → Skills & Agents context). On launch, resolveTaskProfile reads back what useLaunchBoundRoom will hand to SessionStart, so the picker state and the agent's actual injected context never drift apart.

The detail pane also supports a task claim action — bind the pane to an existing card without launching it. See atrium task claim in the CLI reference for the agent-side equivalent.

Persistent state

  • Bound task card ID.
  • Expanded runs in the timeline.
  • Scroll position in the description editor.
  • Open modals and in-flight create-task drafts survive the pane's Surface remount, so a half-written draft survives the pane scrolling out of view and back.

Constraints

  • Task data lives in ~/.atrium/tasks.db, not in the pane snapshot. The pane only remembers which card it is bound to.
  • Cannot delete a task from the detail pane; use the task list row menu or atrium task delete.
  • Assignee is free-form text today — user picker UI is on the roadmap.