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)
- Copy dashboard files to your workspace
- Create the config file (
~/.clawdbot/mission-control.json) - Install the webhook transform
- Set up GitHub webhook
- Push to GitHub and enable Pages
That's it. The agent handles everything.
Prerequisites
Before setup, you need:
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
- Webhook — GitHub sends push events to Clawdbot when tasks change
- Transform — Compares old vs new tasks.json, detects status changes
- Auto-Processing — When a task moves to "In Progress", the agent starts working
The Flow
CODEBLOCK0
Task Structure
Tasks live in <workspace>/data/tasks.json:
CODEBLOCK1
Status Values
| Status | Meaning |
|---|
| INLINECODE8 | Recurring tasks (daily checks, etc.) |
| INLINECODE9 |
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:
CODEBLOCK2
Agent Workflow
When you receive a task (moved to "In Progress"):
- 1. Read — Check title, description, subtasks, dod
- Mark started — INLINECODE14
- Execute — Work through subtasks, mark each done
- Document — Add progress comments
- Complete — INLINECODE15
Handling Rework
If a completed task is moved back to "In Progress" with a new comment:
- 1. Read the feedback comment
- Address the issues
- Add a comment explaining your changes
- 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) - Work through them sequentially (1 → 2 → 3...)
- After each child: comment result, set to "review", mark EPIC subtask done
- After last child: set EPIC to "review"
Heartbeat Integration
Add to your HEARTBEAT.md:
CODEBLOCK3
Configuration
Config lives in ~/.clawdbot/mission-control.json. See assets/examples/CONFIG-REFERENCE.md for all options.
Minimal config (set by agent during setup):
CODEBLOCK4
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.sh validates 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
timingSafeEqual to prevent tampering. - Security scan on sync: The
sync-to-opensource.sh script 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
groupPolicy and allowFrom settings to restrict who can interact with the agent.
Files
| File | Purpose |
|---|
| INLINECODE26 | Dashboard UI |
| INLINECODE27 |
Task data |
|
<skill>/scripts/mc-update.sh | CLI tool |
|
~/.clawdbot/mission-control.json | Config |
|
~/.clawdbot/hooks-transforms/github-mission-control.mjs | Webhook transform |
技能名称: mission-control
详细描述:
Mission Control — AI助手任务管理系统
一个看板式任务面板,由您(AI助手)管理。您的用户通过网页仪表盘创建和排列任务优先级;当任务移至进行中状态时,您将自动执行这些任务。
🚀 快速开始
只需说: 为我的工作区设置Mission Control
智能体将:
- 1. 检查前置条件(Tailscale、gh CLI)
- 将仪表盘文件复制到您的工作区
- 创建配置文件(~/.clawdbot/mission-control.json)
- 安装Webhook转换器
- 设置GitHub Webhook
- 推送到GitHub并启用Pages
就这么简单。 智能体将处理所有事项。
前置条件
设置前,您需要:
tailscale funnel status | tailscale funnel 18789(一次性操作) |
|
GitHub CLI | gh auth status | brew install gh && gh auth login |
如果缺少任何一项,请告知智能体——它将引导您完成安装。
工作原理
- 1. 仪表盘 — 托管在GitHub Pages上的Web界面,供用户管理任务
- Webhook — 任务变更时,GitHub向Clawdbot发送推送事件
- 转换器 — 比较新旧tasks.json文件,检测状态变化
- 自动处理 — 当任务移至进行中状态时,智能体开始工作
流程
用户移动任务 → GitHub推送 → Webhook → 转换器 → 智能体接收工作指令
↓ ↓
仪表盘 执行任务
↓ ↓
智能体更新状态 ← 提交变更 ← 标记子任务完成 ←─┘
任务结构
任务存储于 /data/tasks.json:
json
{
id: task_001,
title: 实现功能X,
description: 提供给智能体的详细上下文,
status: backlog,
subtasks: [
{ id: sub_001, title: 研究方法, done: false },
{ id: sub_002, title: 编写代码, done: false }
],
priority: high,
dod: 完成标准 - 成功的定义,
comments: []
}
状态值
| 状态 | 含义 |
|---|
| permanent | 重复性任务(每日检查等) |
| backlog |
等待处理 |
| in_progress |
智能体正在处理此任务 |
| review | 已完成,等待用户审批 |
| done | 已完成并获批准 |
CLI命令
使用 /scripts/mc-update.sh 进行任务更新:
bash
状态变更
mc-update.sh status
review
mc-update.sh status done
评论
mc-update.sh comment 进度更新...
子任务
mc-update.sh subtask id> sub1 done
完成(移至review并添加摘要)
mc-update.sh complete 已完成工作的摘要
推送到GitHub
mc-update.sh push 提交信息
智能体工作流程
当您收到任务(移至进行中状态)时:
- 1. 读取 — 检查标题、描述、子任务、完成标准
- 标记开始 — mc-update.sh start id>
- 执行 — 逐项完成子任务,标记每项为完成
- 记录 — 添加进度评论
- 完成 — mc-update.sh complete id> 摘要
处理返工
如果已完成的任务被移回进行中状态并附带新评论:
- 1. 阅读反馈评论
- 解决问题
- 添加评论说明您的更改
- 移回审核状态
EPIC任务
EPIC是包含多个子工单的父任务。当您收到EPIC时:
- 1. 子工单列在子任务中(格式:MC-XXX-001: 标题)
- 按顺序处理(1 → 2 → 3...)
- 每个子任务完成后:评论结果,设为review,标记EPIC子任务为完成
- 最后一个子任务完成后:将EPIC设为review
心跳集成
添加到您的 HEARTBEAT.md:
markdown
任务检查
- 1. 检查 data/tasks.json 中处于in_progress状态的任务
- 标记有 processingStartedAt 但近期无活动的任务
- 检查review状态任务是否有新的反馈评论
配置
配置文件位于 ~/.clawdbot/mission-control.json。所有选项请参见 assets/examples/CONFIG-REFERENCE.md。
最小配置(由智能体在设置时生成):
json
{
gateway: { hookToken: your-token },
workspace: { path: /path/to/workspace },
slack: { botToken: xoxb-..., channel: C0123456789 }
}
故障排除
常见问题请参见 docs/TROUBLESHOOTING.md:
- - 仪表盘显示示例数据 → 连接GitHub令牌
- Webhook未触发 → 检查Tailscale Funnel
- 变更未显示 → GitHub Pages缓存(等待1-2分钟)
安全性
Mission Control是专为AI智能体设计的任务管理系统——其核心功能是将用户编写的任务描述传递给智能体执行。这是设计特性,而非漏洞。
信任模型
- - 单用户/受信任用户设置: 任务作者与控制智能体的是同一用户。信任边界与直接向助手发送消息完全相同。
- 多用户设置: 如果多个用户可以在仪表盘上创建任务,请将任务内容视为不可信输入。使用Clawdbot的智能体沙箱和权限模型限制智能体的操作范围。
缓解措施
- - 输入清理: mc-update.sh 在将输入传递给Python或git之前,会针对注入模式进行验证。
- 无凭据存储: 仪表盘不存储任何令牌或密钥——所有认证由Clawdbot的配置处理。
- Webhook HMAC验证: 转换模块使用 timingSafeEqual 验证Webhook签名,防止篡改。
- 同步时安全扫描: sync-to-opensource.sh 脚本在发布前扫描泄露的凭据。
建议
- - 如果您不希望他人看到任务数据,请将仪表盘仓库设为私有。
- 如果任务由他人创建,在将其移至进行中状态前,请先审核任务描述。
- 使用Clawdbot的 groupPolicy 和 allowFrom 设置限制可与智能体交互的用户。
文件
| 文件 | 用途 |
|---|
| <workspace>/index.html | 仪表盘UI |
| <workspace>/data/tasks.json |
任务数据 |
| /scripts/mc-update.sh | CLI工具 |
| ~/.clawdbot/mission-control.json | 配置 |
| ~/.clawdbot/hooks-transforms/github-mission-control.mjs | Webhook转换器 |