Spec: Mission Control Kanban Board

spec 2026-04-02 9 min read 1799 words
Artifact Preview

Spec: Mission Control Kanban Board

All specs are artifacts. This document follows [ARTIFACT-GUIDE.md](/Users/vinny/.openclaw/workspace/ARTIFACT-GUIDE.md) for writing quality, exec summary rules, and source linking rules.

1. Problem Statement and Goal

Pete has no single place to see what is in play, what needs his attention, and what is done. The current Mission Control tasks page has placeholder data and columns that do not reflect the Pete-Vinny-David workflow. There is no visible boundary between "agents can keep working" and "Pete needs to review or approve something." This means Pete either gets interrupted constantly or things stall silently.

The goal is a chat-first kanban board where Pete captures and manages work through Discord conversation, with a web dashboard for bird's-eye visibility and basic direct manipulation.

2. Success Metric

Pete can open the MC Tasks page and within 5 seconds answer:

  1. What needs my attention right now?
  2. What is being worked on without me?
  3. What got done recently?

Pete can say "track this: fix Gmail model routing" in chat and see it appear on the board without opening MC.

3. Current State

Mission Control already has a tasks page with a kanban board.

What exists and works:

createdAt, updatedAt

[mission-control-task-capture](skills/mission-control-task-capture/SKILL.md) skill)

What is missing:

to the board

4. Platform Capabilities

Mission Control is a Next.js app running locally on port 3100. Flat JSON file for storage. Existing API supports full CRUD.

OpenClaw agents can call the MC API directly. The chat capture skill already creates tasks from Discord messages via a Node script.

Chat-driven commands work through AGENTS.md automated workflow rules. When Pete says a trigger phrase, Vinny interprets it and calls the MC API. No new platform capability needed for this.

5. Community Patterns

mission control. Uses Inbox, Assigned, In Progress, Review, Done. Includes agent assignment. Closest to what we need.

with agent-to-agent handoff. Overkill for this scope.

Recommends mixing kanban with agent health visibility. Good idea for later, not this scope.

Documents Inbox, Assigned, In Progress, Review, Done as the standard pattern for human-in-the-loop workflows.

The community consensus: a Review column is the standard pattern for agent workflows with a human gate.

6. Options

Remap columns to match the actual workflow:

ColumnMeaningWho acts
BacklogCaptured ideas, not yet prioritizedAnyone adds
Up NextPrioritized, ready to startPete prioritizes
In ProgressSomeone is actively workingVinny or David
Needs ReviewWaiting on Pete to review, approve, or decidePete
DoneCompleted and acceptedAuto-archive later

Chat interaction model (Phase 1):

ActionHow
Create a task"track this: ..." in Discord (existing)
Move a task"move [task name] to up next"
Check status"what's on the board?" or "what needs my review?"
Get detail"what's the status on [task name]?"

Vinny interprets natural language and calls the MC API. No rigid command syntax. If the reference is ambiguous, Vinny asks.

Board interaction (keep existing, minor upgrades):

New data model fields:

is happening

Task descriptions become living documents. Not one-line summaries. The description accumulates context: original idea from chat, key decisions, links to specs/artifacts, blockers, and resolution notes. Vinny updates the description as conversations evolve.

Automatic lifecycle movement. Vinny moves cards based on what happens:

Pete can always override by dragging on the board.

Blocked is a flag, not a column. A task can be blocked in any column. Red left border or icon on the card. Optional blocked reason in the description.

Projects as tags. No separate project system. Use consistent tag names like mission-control, job-search, linkedin. The existing tag field handles this.

AGENTS.md rules, task description convention.

Option B: Board-only with review gate

Same column changes as Option A, but no chat interaction. All task management through the web UI.

to MC for every task action.

Option C: Full workflow engine

Formal state machine with enforced transitions, webhooks, notifications.

7. Recommendation

Option A. Chat-first with basic board interactivity. The board shows the state, chat drives the action. This matches how Pete already works: conversations in Discord produce decisions and tasks. The board is the dashboard, not the input layer.

Start with the chat commands in Phase 1 (create, move, query). Add more board features later only if Pete finds himself wanting them.

8. Security Considerations

"track this:" today.

9. Implementation Scope

David builds:

Data model changes (lib/tasks.ts):

convert any "blocked" status tasks to their previous column with blocked: true

UI changes (board):

prefix)

verify it works for longer content)

UI changes (editor modal):

Chat commands (Vinny-side, AGENTS.md rules):

status

summarizes by column

asks if ambiguous

Data migration (one-time):

tasks with appropriate columns, tags, and descriptions

No changes to:

10. Validation Criteria

  1. Open MC Tasks page. See five columns: Backlog, Up Next, In Progress,

Needs Review, Done.

  1. Create a task via "track this: test task" in Discord. Verify it appears

in Backlog on the board.

  1. Say "move test task to up next" in chat. Verify the card moves.
  2. Say "what needs my review?" in chat. Get a summary of Needs Review

column.

  1. Assign a task to "Vinny" via the editor. Verify assignee shows on card.
  2. Toggle blocked on a task. Verify red indicator regardless of column.
  3. Add tags spec and mission-control. Verify activity tag is visually

distinct from project tag.

  1. Click a card with a multi-paragraph description. Verify markdown renders

cleanly in detail view.

  1. Drag a card between columns on the board. Verify it persists after

page refresh.

  1. Open the board via Tailscale URL on phone. Verify basic usability.
  2. Verify projects from the old Projects in Play doc exist as tasks with

correct tags and descriptions.

11. Category

Tool (new functional capability in Mission Control + chat interaction rules)

12. Context Loading

David needs to read:

13. Guardrails

fine for the board.

is ambiguous (more than one title match)

14. Handoff

David delivers:

  1. Opening MC Tasks at Tailscale URL
  2. Testing "track this:" and "move to" commands in #vinny
  3. Checking that migrated project tasks appear with correct context