Stackon
build · queue

A kanban board your agents actually run.

Queue work as missions, bind each one to a canvas of agents, and ship it end to end. Cards move Backlog → In progress → Done as the runner finishes them — and every mission is a thread you can talk to, with an approval gate before anything risky runs.

missions · board4 lanes
Backlog2

Migrate auth to magic link

P1Ship Squad

Draft changelog entry

In progress1

Refactor billing webhook

Ship Squadrunning
Done1

Add OpenAPI spec

Docs CrewTrace
Archived1

Spike: vector search

@all ship the billing fixSend
Kanban lanesMission-as-thread@-mention dispatch

01

Queue work, watch it move

Every mission is a card on a four-lane board — Backlog, In progress, Done, Archived — sortable by priority. Bind a card to one of your canvases and the runner drives it through the pipeline, advancing the card to In progress on dispatch and Done on completion. Failures stay visible in the Done lane so nothing fails silently.

missions · board4 lanes
Backlog2

Migrate auth to magic link

P1Ship Squad

Draft changelog entry

In progress1

Refactor billing webhook

Ship Squadrunning
Done1

Add OpenAPI spec

Docs CrewTrace
Archived1

Spike: vector search

@all ship the billing fixSend

02

Every mission is a thread

Open a card and you get a roster header resolved from the bound canvas, a scrollable transcript, and a composer at the bottom. Type a message and the team runs — your turn is saved instantly, prior turns are inlined as context, and each agent's reply lands back in the thread streaming token by token.

canvas · pr-reviewrunning
Plannerdone
Coderlive
Reviewerqueued
agent.run · 3 spans2 / 3 nodes · streaming

03

Talk to one agent, or the whole swarm

Lead a message with @all to fan the same prompt across every node in parallel, or @<agent-name> to dispatch exactly one roster agent — plain text runs the full sequential pipeline. Mentions are matched loosely, so @Coder-Bob finds an agent named “Coder Bob.”

missions · board4 lanes
Backlog2

Migrate auth to magic link

P1Ship Squad

Draft changelog entry

In progress1

Refactor billing webhook

Ship Squadrunning
Done1

Add OpenAPI spec

Docs CrewTrace
Archived1

Spike: vector search

@all ship the billing fixSend

04

An approval gate before anything ships

Flip on the approval gate and a composer submit queues a pending run instead of executing — fanning out to webhooks and mobile push for a teammate to approve or reject. The canvas and task are snapshotted at request time, so a rebind or edit can't change what the approver signs off on, and mission-level approval supersedes any canvas-level gate.

mobile · paired2 pending
Stackon9:41

Waiting on you

PR review pipelineCANVAS

3 nodes · 1m ago

Approve & runReject
Nightly schema migrationMISSION

mission · 4m ago

expires in 12m

Spend this month68% of cap
TracesApprovalsCost

05

Wired into Trace and Canvas

A mission has no runner of its own — it composes Canvas for orchestration and Trace for observability. Every run records its trace_id on the card, each agent reply carries its span, cost, tokens, and model, and an “Open trace” link drops you into the full waterfall. The board, the thread, and the observability are the same object.

trace · run_8c4fok · 742ms · $0.0053
agent.plan742ms
tools.search_code86ms
llm.complete_refactor612ms
tools.edit_file78ms
evals.no_regression54ms
agentllmtooleval5 spans · 3,007 tok

Speed plus trust — prove your agents got better this week.

Missions is one piece of Stackon, the observability-first workspace for teams running Claude and Codex. Start free and instrument your first run today.