openclaw-mission-control
Coordinate AI agent teams via a Kanban task board with local JSON storage. Enables multi-agent workflows with a Team Lead assigning work and Worker Agents executing tasks via heartbeat polling. Perfect for building AI agent command centers.
By 0xindiebruh · 372 installs
npx skills add 0xindiebruh/openclaw-mission-control-skill --skill openclaw-mission-control
Source repository · Upstream listing
Mission Control
Coordinate a team of AI agents using a Kanban style task board with HTTP API.
Overview
Mission Control lets you run multiple AI agents that collaborate on tasks:
Team Lead : Creates and assigns tasks, reviews completed work
Worker Agents : Poll for tasks via heartbeat, execute work, log progress
Kanban Board : Visual task management at http://localhost:8080
HTTP API : Agents interact via REST endpoints
Local Storage : All data stored in JSON files — no external database needed
Quick Start
1. Install the Kanban Board
The board runs at http://localhost:8080 .
2. Configure Your Agents
Edit lib/config.ts to define your agent team:
3. Seed the Database (First Run)
Initialize the agents in the database:
This creates agent records from your lib/config.ts configuration. Safe to run multiple times — it only adds missing agents.
4. Configure OpenClaw Multi Agent Mode
Add each agent to your ~/.openclaw/config.json :
Key fields:
id : Unique agent identifier (must match an agent ID in lib/config.ts )
workspace : Agent's working directory for files
agentDir : Contains SOUL.md , HEARTBEAT.md , and agent personality
heartbeat.every : Polling frequency (e.g., 5m , 15m , 1h )
5. Set up Agent Heartbeats
Each worker agent needs a HEARTBEAT.md in their agentDir :
bash
curl "http://localhost:8080/api/tasks/mine?agent=writer"
Step 2: Pick up todo tasks
Step 3: Log Progress
Step 4: Complete Tasks
Step 5: Check for @Mentions
Mark as read when done.
bash
mkdir p ~/.openclaw/agents/{writer,growth,dev,ux,data}/agent
mkdir p ~/.openclaw/workspace {writer,growth,dev,ux,data}
backlog → todo → in progress → review → done
│ │ │ │
│ │ │ └─ Team Lead approves
│ │ └─ Agent completes (→ review)
│ └─ Agent picks up (→ in progress)
└─ Team Lead prioritizes (→ todo)
bash
curl X POST http://localhost:8080/api/tasks \
H "Content Type: application/json" \
d '{
"title": "Task title",
"description": "Detailed description",
"priority": "high",
"assignee": "writer",
"tags": ["tag1", "tag2"],
"createdBy": "lead"
}'
bash
curl X PATCH "http://localhost:8080/api/tasks/{id}" \
H "Content Type: application/json" \
d '{"status": "todo"}'
bash
curl X PATCH "http://localhost:8080/api/tasks/{id}" \
H "Content Type: application/json" \
d '{"status": "done"}'
bash
curl X PATCH "http://localhost:8080/api/tasks/{id}" \
H "Content Type: application/json" \
d '{"deliverable": "path/to/file.md"}'
bash
curl X POST "http://localhost:8080/api/tasks/{id}/pick" \
H "Content Type: application/json" \
d '{"agent": "{AGENT ID}"}'
bash
curl X POST "http://localhost:8080/api/tasks/{id}/log" \
H "Content Type: application/json" \
d '{
"agent": "{AGENT ID}",
"action": "progress",
"note": "Updated the widget component"
}'
bash
curl X POST "http://localhost:8080/api/tasks/{id}/complete" \
H "Content Type: application/json" \
d '{
"agent": "{AGENT ID}",
"note": "Completed! Summary of changes...",
"deliverables": ["docs/api.md", "src/feature.js"]
}'
bash
curl X POST "http://localhost:8080/api/tasks/{id}/comments" \
H "Content Type: application/json" \
d '{
"author": "agent id",
"content": "Hey @other agent, need your input here"
}'
bash
curl "http://localhost:8080/api/mentions?agent={AGENT ID}"
bash
curl X POST "http://localhost:8080/api/mentions/read" \
H "Content Type: application/json" \
d '{"agent": "{AGENT ID}", "all": true}'
env
PORT=8080
bash
curl X POST http://localhost:8080/api/tasks \
H "Content Type: application/json" \
d '{"title": "Write Q1 Report", "assignee": "writer", "priority": "high"}'
bash
curl X PATCH http://localhost:8080/api/tasks/123 \
d '{"status": "todo"}'
bash
curl X POST http://localhost:8080/api/tasks/123/pick \
d '{"agent": "writer"}'
bash
curl X POST http://localhost:8080/api/tasks/123/complete \
d '{"agent": "writer", "deliverables": ["reports/q1.md"]}'
bash
curl X PATCH http://localhost:8080/api/tasks/123 \
d '{"status": "done"}'
Tips
Heartbeat frequency : 15 minutes is a good default
Priority order : Agents should work urgent → high → medium → low
Deliverables : Include all file paths modified in the task
@Mentions : Use to coordinate between agents on dependencies
Isolation : Each agent has its own workspace for safety
Storage : Data persists in data/ directory — back it up if needed
Resources
GitHub : https://github.com/0xindiebruh/openclaw mission control
Demo : See example agent setups in /examples