Skip to content

Commit 9cdfcd0

Browse files
committed
feat: add OpenClaw skill for Kanbu
Ships a ready-made OpenClaw skill that gives any OpenClaw agent full read/write access to Kanbu via the tRPC API. - SKILL.md with triggers for project management, tasks, kanban, etc. - Universal kanbu.sh wrapper script (auto-detects GET/POST) - Full API reference (100+ tRPC procedures documented) - Setup guide: docs/OPENCLAW-SKILL.md - README updated with OpenClaw Skill section Install: cp -r packages/openclaw-skill ~/.openclaw/workspace/skills/kanbu Pair: run MCP server pairing flow or set token manually Restart: openclaw gateway restart
1 parent 5d926e5 commit 9cdfcd0

File tree

5 files changed

+585
-0
lines changed

5 files changed

+585
-0
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,22 @@ When not configured, the Agent tab shows a friendly "not configured" state inste
114114

115115
---
116116

117+
### 🐾 OpenClaw Skill
118+
119+
Kanbu ships with a ready-made [OpenClaw](https://github.com/OpenClaw-AI/openclaw) skill. Install it once, and your OpenClaw agent knows how to manage projects, tasks, wikis, and teams — no manual configuration needed.
120+
121+
```bash
122+
# Copy the skill into your OpenClaw workspace
123+
cp -r packages/openclaw-skill ~/.openclaw/workspace/skills/kanbu
124+
125+
# Restart your gateway
126+
openclaw gateway restart
127+
```
128+
129+
That's it. Your agent can now create tasks, move cards, add comments, search across projects, run analytics, and manage your entire board — all through natural language.
130+
131+
**[Full setup guide →](docs/OPENCLAW-SKILL.md)**
132+
117133
### 🔌 AI Agent Integration (MCP)
118134

119135
Connect any MCP-compatible AI agent to manage your Kanbu projects with **154 available tools**.

docs/OPENCLAW-SKILL.md

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# Kanbu OpenClaw Skill — Setup Guide
2+
3+
Give your OpenClaw agent full access to Kanbu. Create tasks, move cards, add comments, search, run analytics, manage wikis — all through natural conversation.
4+
5+
## Prerequisites
6+
7+
- A running [Kanbu](https://github.com/hydro13/kanbu) instance (local or remote)
8+
- [OpenClaw](https://github.com/OpenClaw-AI/openclaw) installed and running
9+
- `curl` and `jq` available on your system
10+
11+
## Step 1: Install the Skill
12+
13+
```bash
14+
# From the Kanbu repo root
15+
cp -r packages/openclaw-skill ~/.openclaw/workspace/skills/kanbu
16+
17+
# Make the wrapper script executable
18+
chmod +x ~/.openclaw/workspace/skills/kanbu/scripts/kanbu.sh
19+
```
20+
21+
## Step 2: Pair with your Kanbu instance
22+
23+
The skill needs an API token to authenticate. Kanbu uses a secure pairing flow — similar to pairing a Bluetooth device.
24+
25+
### Option A: Use the MCP server pairing (recommended)
26+
27+
```bash
28+
# Set your Kanbu URL
29+
export KANBU_URL=https://localhost:3001 # or https://your-kanbu-domain.com
30+
31+
# For self-signed certs (local dev)
32+
export NODE_TLS_REJECT_UNAUTHORIZED=0
33+
34+
# Run the MCP server — it will start the pairing flow
35+
node packages/mcp-server/dist/index.js
36+
```
37+
38+
The server displays a **6-character setup code**. Enter it in Kanbu:
39+
40+
1. Open your Kanbu instance in a browser
41+
2. Go to **Settings → AI Assistants**
42+
3. Click **"Pair New Assistant"**
43+
4. Enter the setup code
44+
45+
The token is saved to `~/.config/kanbu/mcp.json`. The skill reads this file automatically.
46+
47+
### Option B: Use an existing API token
48+
49+
If you already have a Kanbu API token (from Settings → API Tokens), set it directly:
50+
51+
```bash
52+
mkdir -p ~/.config/kanbu
53+
cat > ~/.config/kanbu/mcp.json << 'EOF'
54+
{
55+
"kanbuUrl": "https://your-kanbu-url",
56+
"token": "your-api-token-here"
57+
}
58+
EOF
59+
```
60+
61+
## Step 3: Restart OpenClaw
62+
63+
```bash
64+
openclaw gateway restart
65+
```
66+
67+
## Step 4: Verify
68+
69+
Talk to your OpenClaw agent:
70+
71+
> "List my Kanbu workspaces"
72+
73+
or
74+
75+
> "Show me all tasks in the Kanbu project"
76+
77+
Your agent will use the Kanbu skill automatically when it recognizes project management requests.
78+
79+
## What Your Agent Can Do
80+
81+
Once connected, your OpenClaw agent has access to **100+ Kanbu API procedures**:
82+
83+
| Category | Examples |
84+
|----------|---------|
85+
| **Projects** | List, create, get project details |
86+
| **Tasks** | Create, update, move, assign, search, get my tasks |
87+
| **Subtasks** | Create, update, toggle, delete |
88+
| **Comments** | Add, edit, delete comments on tasks |
89+
| **Search** | Search tasks, global search across all entities |
90+
| **Analytics** | Project stats, velocity, cycle time, team workload |
91+
| **Wiki** | Create/edit/delete project and workspace wiki pages |
92+
| **GitHub** | List commits, PRs, create branches, link PRs to tasks |
93+
| **ACL** | Grant/revoke permissions, check access, permission matrix |
94+
| **Admin** | User management, backups, system settings |
95+
| **Audit** | View audit logs, export, statistics |
96+
97+
## How It Works
98+
99+
The skill uses a lightweight bash wrapper (`scripts/kanbu.sh`) that calls Kanbu's tRPC API directly:
100+
101+
```
102+
Your message → OpenClaw agent → reads SKILL.md → runs kanbu.sh → Kanbu API → result
103+
```
104+
105+
- **No separate server** to run — it's just curl calls
106+
- **Auth** is read from `~/.config/kanbu/mcp.json`
107+
- **Queries** (list, get, search) use GET
108+
- **Mutations** (create, update, delete) use POST
109+
- Auto-detected by the script based on procedure name
110+
111+
## Configuration
112+
113+
### Environment variables (optional)
114+
115+
Override the config file with environment variables:
116+
117+
```bash
118+
export KANBU_URL=https://your-kanbu-url
119+
export KANBU_TOKEN=your-token
120+
```
121+
122+
### Custom config path
123+
124+
```bash
125+
export KANBU_CONFIG=/path/to/your/config.json
126+
```
127+
128+
### Multiple instances
129+
130+
To connect to multiple Kanbu instances, use environment variables per call or maintain separate config files.
131+
132+
## Troubleshooting
133+
134+
### "No config found"
135+
136+
Run the pairing flow (Step 2) or create `~/.config/kanbu/mcp.json` manually.
137+
138+
### Connection refused
139+
140+
Check that your Kanbu instance is running:
141+
142+
```bash
143+
curl -sk https://localhost:3001/api/health
144+
```
145+
146+
### Self-signed certificate errors
147+
148+
For local development with self-signed certs, the script uses `curl -k` by default.
149+
150+
### Permission denied
151+
152+
Your paired token inherits the permissions of the Kanbu user who approved the pairing. Make sure that user has the necessary project access.
153+
154+
## Upgrading
155+
156+
When Kanbu releases a new version with skill updates:
157+
158+
```bash
159+
cd /path/to/kanbu && git pull
160+
cp -r packages/openclaw-skill ~/.openclaw/workspace/skills/kanbu
161+
openclaw gateway restart
162+
```
163+
164+
## Uninstall
165+
166+
```bash
167+
rm -rf ~/.openclaw/workspace/skills/kanbu
168+
openclaw gateway restart
169+
```
170+
171+
---
172+
173+
**Questions?** Open an [issue](https://github.com/hydro13/kanbu/issues) or join our [Discord](https://discord.gg/cCpHUvX4CF).

packages/openclaw-skill/SKILL.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
name: kanbu
3+
description: Manage projects, tasks, wikis, and teams in Kanbu — a self-hosted project management platform built for AI agents. Use when the user asks about project management, task tracking, kanban boards, sprints, wikis, team workload, or anything related to Kanbu. Also triggers on task creation, updates, comments, subtasks, search, analytics, GitHub integration, permissions (ACL), and audit logs.
4+
---
5+
6+
# Kanbu Skill for OpenClaw
7+
8+
Kanbu is a self-hosted, agent-native project management platform. This skill gives you full read/write access to Kanbu via its tRPC API.
9+
10+
## Setup
11+
12+
### 1. Install Kanbu MCP server (includes pairing CLI)
13+
14+
```bash
15+
cd /path/to/kanbu && pnpm install
16+
```
17+
18+
### 2. Pair with your Kanbu instance
19+
20+
```bash
21+
node packages/mcp-server/dist/index.js
22+
```
23+
24+
On first run, the MCP server starts the pairing flow:
25+
1. It displays a **setup code** (6 characters)
26+
2. Go to your Kanbu instance → Settings → AI Assistants → Enter the code
27+
3. The server exchanges the code for a permanent token stored in `~/.config/kanbu/mcp.json`
28+
29+
### 3. Verify
30+
31+
```bash
32+
scripts/kanbu.sh workspace.list
33+
```
34+
35+
## Usage
36+
37+
All Kanbu operations go through the `kanbu.sh` wrapper script:
38+
39+
```bash
40+
scripts/kanbu.sh <procedure> '<json-input>'
41+
```
42+
43+
The script auto-detects GET (queries) vs POST (mutations) and handles auth from `~/.config/kanbu/mcp.json`.
44+
45+
### Common operations
46+
47+
**List projects:**
48+
```bash
49+
scripts/kanbu.sh project.list '{"workspaceId": 534}'
50+
```
51+
52+
**List tasks in a project:**
53+
```bash
54+
scripts/kanbu.sh task.list '{"projectId": 314, "workspaceId": 534}'
55+
```
56+
57+
**Get task details:**
58+
```bash
59+
scripts/kanbu.sh task.get '{"taskId": 307, "workspaceId": 534}'
60+
```
61+
62+
**Create a task:**
63+
```bash
64+
scripts/kanbu.sh task.create '{"projectId": 314, "title": "Implement feature X", "description": "Details here", "priority": 2, "workspaceId": 534}'
65+
```
66+
67+
**Update a task:**
68+
```bash
69+
scripts/kanbu.sh task.update '{"taskId": 307, "title": "Updated title", "workspaceId": 534}'
70+
```
71+
72+
**Move task to a column:**
73+
```bash
74+
scripts/kanbu.sh task.move '{"taskId": 307, "columnId": 68, "workspaceId": 534}'
75+
```
76+
77+
**Add a comment:**
78+
```bash
79+
scripts/kanbu.sh comment.create '{"taskId": 307, "content": "Work done.", "workspaceId": 534}'
80+
```
81+
82+
**Search tasks:**
83+
```bash
84+
scripts/kanbu.sh search.tasks '{"query": "bug", "projectId": 314, "workspaceId": 534}'
85+
```
86+
87+
**My assigned tasks:**
88+
```bash
89+
scripts/kanbu.sh task.getAssignedToMe '{"workspaceId": 534}'
90+
```
91+
92+
### Discovering workspaceId and projectId
93+
94+
Always start by listing workspaces, then projects:
95+
96+
```bash
97+
scripts/kanbu.sh workspace.list
98+
scripts/kanbu.sh project.list '{"workspaceId": <id>}'
99+
```
100+
101+
Use the returned IDs in all subsequent calls. Most procedures require `workspaceId`.
102+
103+
### Priority values
104+
- 0 = None
105+
- 1 = Low
106+
- 2 = Medium
107+
- 3 = High
108+
- 4 = Urgent
109+
110+
## Full API Reference
111+
112+
For all 100+ procedures (wiki, analytics, ACL, GitHub, admin, audit, groups, etc.), read [references/api-reference.md](references/api-reference.md).
113+
114+
## Tips
115+
116+
- **workspaceId is required** on almost every call
117+
- Task identifiers (e.g., `PROJTEMP-34`) are for display; use numeric `taskId` for API calls
118+
- The script outputs `result.data` directly as JSON — pipe to `jq` for filtering
119+
- Errors are printed with full detail for debugging
120+
- For self-signed certs (local dev), the script uses `curl -k`

0 commit comments

Comments
 (0)