Kanban-style task management dashboard for AI assistants. Manage tasks via CLI or dashboard UI. Use when user mentions tasks, kanban, task board, mission con...
Install
Documentation
Mission Control — Task Management for AI Assistants
A Kanban-style task board that you (the AI assistant) manage. Your human creates and prioritizes tasks via the web dashboard; you execute them automatically when they're moved to "In Progress".
🚀 Quick Start
Just say: *"Set up Mission Control for my workspace"*The agent will:
1. Check prerequisites (Tailscale, gh CLI)
2. Copy dashboard files to your workspace
3. Create the config file (~/.clawdbot/mission-control.json)
4. Install the webhook transform
5. Set up GitHub webhook
6. Push to GitHub and enable Pages
That's it. The agent handles everything.---
Prerequisites
Before setup, you need:
| Requirement | Check | Install |
|-------------|-------|---------|
| Tailscale | tailscale status | brew install tailscale or [tailscale.com/download](https://tailscale.com/download) |
| Tailscale Funnel | tailscale funnel status | tailscale funnel 18789 (one-time) |
| GitHub CLI | gh auth status | brew install gh && gh auth login |
If any are missing, tell the agent — it will guide you through installation.
---
How It Works
1. Dashboard — Web UI hosted on GitHub Pages where humans manage tasks
2. Webhook — GitHub sends push events to Clawdbot when tasks change
3. Transform — Compares old vs new tasks.json, detects status changes
4. Auto-Processing — When a task moves to "In Progress", the agent starts working
The Flow
Human moves task → GitHub push → Webhook → Transform → Agent receives work order
↓ ↓
Dashboard Executes task
↓ ↓
Agent updates status ← Commits changes ← Marks subtasks done ←─┘
---
Task Structure
Tasks live in <workspace>/data/tasks.json:
{
"id": "task_001",
"title": "Implement feature X",
"description": "Detailed context for the agent",
"status": "backlog",
"subtasks": [
{ "id": "sub_001", "title": "Research approach", "done": false },
{ "id": "sub_002", "title": "Write code", "done": false }
],
"priority": "high",
"dod": "Definition of Done - what success looks like",
"comments": []
}
Status Values
| Status | Meaning |
|--------|---------|
| permanent | Recurring tasks (daily checks, etc.) |
| backlog | Waiting to be worked on |
| in_progress | Agent is working on this |
| review | Done, awaiting human approval |
| done | Completed and approved |
---
CLI Commands
Use <skill>/scripts/mc-update.sh for task updates:
Status changes
mc-update.sh status <task_id> review
mc-update.sh status <task_id> done
Comments
mc-update.sh comment <task_id> "Progress update..."
Subtasks
mc-update.sh subtask <task_id> sub_1 done
Complete (moves to review + adds summary)
mc-update.sh complete <task_id> "Summary of what was done"
Push to GitHub
mc-update.sh push "Commit message"
---
Agent Workflow
When you receive a task (moved to "In Progress"):
1. Read — Check title, description, subtasks, dod
2. Mark started — mc-update.sh start <task_id>
3. Execute — Work through subtasks, mark each done
4. Document — Add progress comments
5. Complete — mc-update.sh complete <task_id> "Summary"
Handling Rework
If a completed task is moved back to "In Progress" with a new comment:
1. Read the feedback comment
2. Address the issues
3. Add a comment explaining your changes
4. Move back to Review
---
EPICs
EPICs are parent tasks with multiple child tickets. When you receive an EPIC:
1. Child tickets are listed in the subtasks (format: MC-XXX-001: Title)
2. Work through them sequentially (1 → 2 → 3...)
3. After each child: comment result, set to "review", mark EPIC subtask done
4. After last child: set EPIC to "review"
---
Heartbeat Integration
Add to your HEARTBEAT.md:
Task Check
1. Check data/tasks.json for tasks in "in_progress"
2. Flag tasks with processingStartedAt but no recent activity
3. Check "review" tasks for new feedback comments
---
Configuration
Config lives in ~/.clawdbot/mission-control.json. See assets/examples/CONFIG-REFERENCE.md for all options.
Minimal config (set by agent during setup):
{
"gateway": { "hookToken": "your-token" },
"workspace": { "path": "/path/to/workspace" },
"slack": { "botToken": "xoxb-...", "channel": "C0123456789" }
}
---
Troubleshooting
See docs/TROUBLESHOOTING.md for common issues:
- -Dashboard shows sample data → Connect GitHub token
- -Webhook not triggering → Check Tailscale Funnel
- -Changes not appearing → GitHub Pages cache (wait 1-2 min)
---
Security
Mission Control is a task management system for AI agents — its core purpose is to pass human-authored task descriptions to an agent for execution. This is by design, not a vulnerability.
Trust Model
- -Single-user / trusted-user setup: Task authors are the same people who control the agent. The trust boundary is identical to typing a message directly to your assistant.
- -Multi-user setups: If multiple users can create tasks on the dashboard, treat task content as untrusted input. Use Clawdbot's agent sandbox and permission model to limit what the agent can do.
Mitigations
- -Input sanitization:
mc-update.shvalidates all inputs against injection patterns before passing them to Python or git. - -No credential storage: The dashboard stores no tokens or secrets — all auth is handled by Clawdbot's config.
- -Webhook HMAC verification: The transform module validates webhook signatures using
timingSafeEqualto prevent tampering. - -Security scan on sync: The
sync-to-opensource.shscript scans for leaked credentials before publishing.
Recommendations
- -Keep your dashboard repository private if you don't want others to see your task data.
- -Review task descriptions before moving them to "In Progress" if the task was created by someone else.
- -Use Clawdbot's
groupPolicyandallowFromsettings to restrict who can interact with the agent.
---
Files
| File | Purpose |
|------|---------|
| <workspace>/index.html | Dashboard UI |
| <workspace>/data/tasks.json | Task data |
| <skill>/scripts/mc-update.sh | CLI tool |
| ~/.clawdbot/mission-control.json | Config |
| ~/.clawdbot/hooks-transforms/github-mission-control.mjs | Webhook transform |
Launch an agent with Mission Control on Termo.