Loading...
Loading...
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.
npx skill4agent add neversight/skills_feed openclaw-mission-controlhttp://localhost:8080# Clone the Mission Control app
git clone https://github.com/0xindiebruh/openclaw-mission-control.git
cd mission-control
# Install dependencies
npm install
# Start the server
npm run devhttp://localhost:8080lib/config.tsexport const AGENT_CONFIG = {
brand: {
name: "Mission Control",
subtitle: "AI Agent Command Center",
},
agents: [
{
id: "lead",
name: "Lead",
emoji: "🎯",
role: "Team Lead",
focus: "Strategy, task assignment",
},
{
id: "writer",
name: "Writer",
emoji: "✍️",
role: "Content",
focus: "Blog posts, documentation",
},
{
id: "growth",
name: "Growth",
emoji: "🚀",
role: "Marketing",
focus: "SEO, campaigns",
},
{
id: "dev",
name: "Dev",
emoji: "💻",
role: "Engineering",
focus: "Features, bugs, code",
},
{
id: "ux",
name: "UX",
emoji: "🎨",
role: "Product",
focus: "Design, activation",
},
{
id: "data",
name: "Data",
emoji: "📊",
role: "Analytics",
focus: "Metrics, reporting",
},
] as const,
};curl -X POST http://localhost:8080/api/seedlib/config.ts~/.openclaw/config.json{
"sessions": {
"list": [
{
"id": "main",
"default": true,
"name": "Lead",
"workspace": "~/.openclaw/workspace"
},
{
"id": "writer",
"name": "Writer",
"workspace": "~/.openclaw/workspace-writer",
"agentDir": "~/.openclaw/agents/writer/agent",
"heartbeat": {
"every": "15m"
}
},
{
"id": "growth",
"name": "Growth",
"workspace": "~/.openclaw/workspace-growth",
"agentDir": "~/.openclaw/agents/growth/agent",
"heartbeat": {
"every": "15m"
}
},
{
"id": "dev",
"name": "Dev",
"workspace": "~/.openclaw/workspace-dev",
"agentDir": "~/.openclaw/agents/dev/agent",
"heartbeat": {
"every": "15m"
}
}
]
}
}idlib/config.tsworkspaceagentDirSOUL.mdHEARTBEAT.mdheartbeat.every5m15m1hHEARTBEAT.mdagentDir# Agent Heartbeat
## Step 1: Check for Tasks
```bash
curl "http://localhost:8080/api/tasks/mine?agent=writer"
```todocurl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/pick" \
-H "Content-Type: application/json" \
-d '{"agent": "writer"}'curl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/log" \
-H "Content-Type: application/json" \
-d '{"agent": "writer", "action": "progress", "note": "Working on..."}'curl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/complete" \
-H "Content-Type: application/json" \
-d '{
"agent": "writer",
"note": "Completed! Summary...",
"deliverables": ["path/to/output.md"]
}'curl "http://localhost:8080/api/mentions?agent=writer"
Create the agent directories:
```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)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"
}'urgenthighmediumlowcurl -X PATCH "http://localhost:8080/api/tasks/{id}" \
-H "Content-Type: application/json" \
-d '{"status": "todo"}'curl -X PATCH "http://localhost:8080/api/tasks/{id}" \
-H "Content-Type: application/json" \
-d '{"status": "done"}'curl -X PATCH "http://localhost:8080/api/tasks/{id}" \
-H "Content-Type: application/json" \
-d '{"deliverable": "path/to/file.md"}'curl -X POST "http://localhost:8080/api/tasks/{id}/pick" \
-H "Content-Type: application/json" \
-d '{"agent": "{AGENT_ID}"}'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"
}'pickedprogressblockedcompletedcurl -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"]
}'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"
}'curl "http://localhost:8080/api/mentions?agent={AGENT_ID}"curl -X POST "http://localhost:8080/api/mentions/read" \
-H "Content-Type: application/json" \
-d '{"agent": "{AGENT_ID}", "all": true}'| Endpoint | Method | Description |
|---|---|---|
| GET | List all tasks |
| POST | Create new task |
| GET | Get task detail |
| PATCH | Update task fields |
| DELETE | Delete task |
| GET | Agent's assigned tasks |
| POST | Agent picks up task |
| POST | Log work action |
| POST | Complete task (→ review) |
| POST | Add comment |
| Endpoint | Method | Description |
|---|---|---|
| GET | List all agents |
| POST | Initialize agents (first run) |
| GET | Get unread @mentions |
| POST | Mark mentions as read |
| Endpoint | Method | Description |
|---|---|---|
| GET | Read deliverable content |
| Agent | Role | Responsibilities |
|---|---|---|
| Lead | Team Lead | Strategy, task creation, approvals |
| Writer | Content | Blog posts, documentation, copy |
| Growth | Marketing | SEO, campaigns, outreach |
| Dev | Engineering | Features, bugs, code |
| UX | Product | Design, activation, user flows |
| Data | Analytics | Metrics, reports, insights |
.envPORT=8080data/| File | Contents |
|---|---|
| All tasks, comments, work logs |
| Agent status and metadata |
| @mention notifications |
data/.gitignorecurl -X POST http://localhost:8080/api/tasks \
-H "Content-Type: application/json" \
-d '{"title": "Write Q1 Report", "assignee": "writer", "priority": "high"}'curl -X PATCH http://localhost:8080/api/tasks/123 \
-d '{"status": "todo"}'curl -X POST http://localhost:8080/api/tasks/123/pick \
-d '{"agent": "writer"}'curl -X POST http://localhost:8080/api/tasks/123/complete \
-d '{"agent": "writer", "deliverables": ["reports/q1.md"]}'curl -X PATCH http://localhost:8080/api/tasks/123 \
-d '{"status": "done"}'urgenthighmediumlowdata//examples