jpskill.com
💼 ビジネス コミュニティ

openclaw-mission-control

AIエージェントチームをカンバンボードで管理し、リーダーがタスクを割り振り、ワーカーが実行する多段階ワークフローを構築するSkill。

📜 元の英語説明(参考)

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.

🇯🇵 日本人クリエイター向け解説

一言でいうと

AIエージェントチームをカンバンボードで管理し、リーダーがタスクを割り振り、ワーカーが実行する多段階ワークフローを構築するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] openclaw-mission-control

ミッションコントロール

HTTP API を備えたカンバン形式のタスクボードを使用して、AI エージェントのチームを調整します。

概要

ミッションコントロールでは、タスクで協力する複数の AI エージェントを実行できます。

  • チームリーダー: タスクを作成して割り当て、完了した作業をレビューします。
  • ワーカーエージェント: ハートビートを介してタスクをポーリングし、作業を実行し、進捗状況をログに記録します。
  • カンバンボード: http://localhost:8080 で視覚的なタスク管理を行います。
  • HTTP API: エージェントは REST エンドポイントを介して対話します。
  • ローカルストレージ: すべてのデータは JSON ファイルに保存されます。外部データベースは不要です。

クイックスタート

1. カンバンボードをインストールする

# Mission Control アプリをクローンする
git clone https://github.com/0xindiebruh/openclaw-mission-control.git
cd mission-control

# 依存関係をインストールする
npm install

# サーバーを起動する
npm run dev

ボードは http://localhost:8080 で実行されます。

2. エージェントを設定する

lib/config.ts を編集して、エージェントチームを定義します。

export 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,
};

3. データベースをシードする (初回実行時)

データベースでエージェントを初期化します。

curl -X POST http://localhost:8080/api/seed

これにより、lib/config.ts の設定からエージェントレコードが作成されます。複数回実行しても安全です。不足しているエージェントのみが追加されます。

4. OpenClaw マルチエージェントモードを設定する

各エージェントを ~/.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"
        }
      }
    ]
  }
}

主要なフィールド:

  • id: 一意のエージェント識別子 (lib/config.ts のエージェント ID と一致する必要があります)
  • workspace: エージェントのファイル用作業ディレクトリ
  • agentDir: SOUL.mdHEARTBEAT.md、およびエージェントのパーソナリティが含まれます
  • heartbeat.every: ポーリング頻度 (例: 5m15m1h)

5. エージェントのハートビートを設定する

各ワーカーエージェントは、agentDirHEARTBEAT.md を必要とします。

# エージェントのハートビート

## ステップ 1: タスクを確認する

```bash
curl "http://localhost:8080/api/tasks/mine?agent=writer"
```

ステップ 2: todo タスクを拾う

curl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/pick" \
  -H "Content-Type: application/json" \
  -d '{"agent": "writer"}'

ステップ 3: 進捗状況をログに記録する

curl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/log" \
  -H "Content-Type: application/json" \
  -d '{"agent": "writer", "action": "progress", "note": "Working on..."}'

ステップ 4: タスクを完了する

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"]
  }'

ステップ 5: @メンションを確認する

curl "http://localhost:8080/api/mentions?agent=writer"

完了したら既読としてマークします。



エージェントディレクトリを作成します。

```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
   │        │         │           │
   │        │         │           └─ チームリーダーが承認する
   │        │         └─ エージェントが完了する (→ review)
   │        └─ エージェントが拾う (→ in_progress)
   └─ チームリーダーが優先順位を付ける (→ 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"
  }'
```

**優先度:** `urgent`、`high`、`medium`、`low`

### Todo への移動

```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://local
```
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

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

# 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 dev

The board runs at http://localhost:8080.

2. Configure Your Agents

Edit lib/config.ts to define your agent team:

export 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,
};

3. Seed the Database (First Run)

Initialize the agents in the database:

curl -X POST http://localhost:8080/api/seed

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:

{
  "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"
        }
      }
    ]
  }
}

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:

# Agent Heartbeat

## Step 1: Check for Tasks

```bash
curl "http://localhost:8080/api/tasks/mine?agent=writer"
```

Step 2: Pick up todo tasks

curl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/pick" \
  -H "Content-Type: application/json" \
  -d '{"agent": "writer"}'

Step 3: Log Progress

curl -X POST "http://localhost:8080/api/tasks/{TASK_ID}/log" \
  -H "Content-Type: application/json" \
  -d '{"agent": "writer", "action": "progress", "note": "Working on..."}'

Step 4: Complete Tasks

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"]
  }'

Step 5: Check for @Mentions

curl "http://localhost:8080/api/mentions?agent=writer"

Mark as read when done.


Create the agent directories:

```bash
mkdir -p ~/.openclaw/agents/{writer,growth,dev,ux,data}/agent
mkdir -p ~/.openclaw/workspace-{writer,growth,dev,ux,data}

Task Lifecycle

backlog → todo → in_progress → review → done
   │        │         │           │
   │        │         │           └─ Team Lead approves
   │        │         └─ Agent completes (→ review)
   │        └─ Agent picks up (→ in_progress)
   └─ Team Lead prioritizes (→ todo)

Team Lead Operations

Creating a Task

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"
  }'

Priority: urgent, high, medium, low

Moving to Todo

curl -X PATCH "http://localhost:8080/api/tasks/{id}" \
  -H "Content-Type: application/json" \
  -d '{"status": "todo"}'

Approving Completed Work

curl -X PATCH "http://localhost:8080/api/tasks/{id}" \
  -H "Content-Type: application/json" \
  -d '{"status": "done"}'

Adding Deliverable Path

curl -X PATCH "http://localhost:8080/api/tasks/{id}" \
  -H "Content-Type: application/json" \
  -d '{"deliverable": "path/to/file.md"}'

Worker Agent Operations

Picking Up Tasks

curl -X POST "http://localhost:8080/api/tasks/{id}/pick" \
  -H "Content-Type: application/json" \
  -d '{"agent": "{AGENT_ID}"}'

Logging Progress

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"
  }'

Actions: picked, progress, blocked, completed

Completing a Task

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"]
  }'

Deliverables render as markdown in the task view.


Comments & @Mentions

Adding a Comment

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"
  }'

Checking for @Mentions

curl "http://localhost:8080/api/mentions?agent={AGENT_ID}"

Marking Mentions as Read

curl -X POST "http://localhost:8080/api/mentions/read" \
  -H "Content-Type: application/json" \
  -d '{"agent": "{AGENT_ID}", "all": true}'

API Reference

Tasks

Endpoint Method Description
/api/tasks GET List all tasks
/api/tasks POST Create new task
/api/tasks/{id} GET Get task detail
/api/tasks/{id} PATCH Update task fields
/api/tasks/{id} DELETE Delete task
/api/tasks/mine?agent={id} GET Agent's assigned tasks
/api/tasks/{id}/pick POST Agent picks up task
/api/tasks/{id}/log POST Log work action
/api/tasks/{id}/complete POST Complete task (→ review)
/api/tasks/{id}/comments POST Add comment

Agents & System

Endpoint Method Description
/api/agents GET List all agents
/api/seed POST Initialize agents (first run)
/api/mentions?agent={id} GET Get unread @mentions
/api/mentions/read POST Mark mentions as read

Files

Endpoint Method Description
/api/files/{path} GET Read deliverable content

Recommended Agent Team Structure

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

Configuration

Environment Variables

Create .env in your Mission Control app directory (optional):

PORT=8080

Data Storage

All data is stored locally in the data/ directory:

File Contents
data/tasks.json All tasks, comments, work logs
data/agents.json Agent status and metadata
data/mentions.json @mention notifications

Add data/ to your .gitignore — user data shouldn't be committed.


Example: Running a Multi-Agent Workflow

  1. Lead creates task:

    curl -X POST http://localhost:8080/api/tasks \
      -H "Content-Type: application/json" \
      -d '{"title": "Write Q1 Report", "assignee": "writer", "priority": "high"}'
  2. Lead moves to todo:

    curl -X PATCH http://localhost:8080/api/tasks/123 \
      -d '{"status": "todo"}'
  3. Writer picks up via heartbeat:

    curl -X POST http://localhost:8080/api/tasks/123/pick \
      -d '{"agent": "writer"}'
  4. Writer completes:

    curl -X POST http://localhost:8080/api/tasks/123/complete \
      -d '{"agent": "writer", "deliverables": ["reports/q1.md"]}'
  5. Lead reviews and approves:

    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 urgenthighmediumlow
  • 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