You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add native skills to OpenClaw plugin (v0.4.0) (#66)
* feat: add native skills to OpenClaw plugin (v0.4.0)
Adapt to OpenClaw's new plugin skill discovery system by embedding
6 SKILL.md files directly in the plugin package. OpenClaw auto-scans
skills/ directory — no manual download needed.
Skills: chorus, idea, proposal, develop, quick-dev, review
Each written independently for OC's single-agent + SSE wake model
(no CC session/Agent Team content).
Also: /chorus skills command, updated README with full tool inventory.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: remove MCP tool name mapping notes from OC skills
Skills should only reference OC-registered tool names, not expose
internal MCP mappings. Removed "Note on tool names" blocks from
idea and proposal skills that referenced chorus_pm_* MCP names.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: add label field and AgentToolResult return type to all OC tools
OpenClaw's AgentTool interface requires:
- `label: string` (mandatory field, was missing from all 50 tools)
- `execute` must return `{ content: [{ type: "text", text }], details }`
(was returning plain string via JSON.stringify)
Added toolResult() helper to each tool file for consistent formatting.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add sandbox troubleshooting to OC plugin README
Document that sandbox mode blocks plugin tools by default and how
to add chorus-openclaw-plugin to the alsoAllow list.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: silence comment_added SSE event in event router
comment_added notifications don't need to wake the agent — @mentions
are already handled by the separate "mentioned" action. Added explicit
case to suppress "Unhandled notification action" log noise.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Revert "fix: silence comment_added SSE event in event router"
This reverts commit 5c3b4fe.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-**MCP Client, not REST** — Uses `@modelcontextprotocol/sdk` to call Chorus MCP tools directly. Zero Chorus-side code changes needed. 40 tools registered out of the box. When Chorus adds new MCP tools, adding them to the plugin is a one-liner.
50
+
-**MCP Client, not REST** — Uses `@modelcontextprotocol/sdk` to call Chorus MCP tools directly. Zero Chorus-side code changes needed. 47 tools registered out of the box. When Chorus adds new MCP tools, adding them to the plugin is a one-liner.
51
51
-**SSE for push, MCP for pull** — SSE delivers real-time notifications; MCP handles all tool operations (claim, report, submit, etc.).
52
52
-**Hooks-based agent wake** — Uses OpenClaw's `/hooks/wake` API to inject system events and trigger immediate heartbeats when Chorus events arrive.
53
53
@@ -138,9 +138,24 @@ The plugin maintains a persistent SSE connection to Chorus and reacts to these e
138
138
139
139
**Resilience:** Exponential backoff reconnect (1s → 2s → 4s → ... → 30s max). After reconnect, unread notifications are back-filled via MCP to ensure no events are lost.
140
140
141
-
### Registered Tools (40 total)
141
+
### Built-in Skills (6)
142
142
143
-
#### PM Workflow (15 tools)
143
+
The plugin ships with 6 SKILL.md files that OpenClaw auto-discovers and loads. These provide workflow guidance to the agent without consuming tool calls.
144
+
145
+
| Skill | Description |
146
+
|-------|-------------|
147
+
|`chorus`| Platform overview, common tools, setup, and workflow routing |
148
+
|`idea`| Claim ideas, run elaboration rounds, prepare for proposal |
149
+
|`proposal`| Create proposals with document & task drafts, manage dependency DAG |
150
+
|`develop`| Claim tasks, report work, submit for verification |
151
+
|`quick-dev`| Skip Idea→Proposal, create tasks directly, execute, and verify |
### chorus_* tools not available in agent (sandbox mode)
293
+
294
+
**Symptom:** Agent cannot call `chorus_checkin` or any `chorus_*` tool. Tools are missing from the tool list.
295
+
296
+
**Cause:** When OpenClaw sandbox mode is enabled (`agents.defaults.sandbox.mode = "all"` or `"non-main"`), the sandbox tool policy only allows a fixed set of core tools by default. Plugin-registered tools are excluded unless explicitly allowed.
297
+
298
+
**Verify:**
299
+
```bash
300
+
openclaw sandbox explain
301
+
# Look for: Sandbox tool policy → allow (default)
302
+
# chorus_* tools will NOT appear unless configured
303
+
```
304
+
305
+
**Fix:** Add the plugin to the sandbox tool allow list:
306
+
```bash
307
+
openclaw config set tools.sandbox.tools.alsoAllow '["chorus-openclaw-plugin"]'
308
+
# Then restart gateway
309
+
openclaw gateway restart
310
+
```
311
+
312
+
Or add directly to `~/.openclaw/openclaw.json`:
313
+
```json
314
+
{
315
+
"tools": {
316
+
"sandbox": {
317
+
"tools": {
318
+
"alsoAllow": ["chorus-openclaw-plugin"]
319
+
}
320
+
}
321
+
}
322
+
}
323
+
```
324
+
325
+
---
326
+
257
327
### "plugin id mismatch" warning
258
328
Ensure `openclaw.plugin.json``id` and `index.ts``id` both equal `chorus-openclaw-plugin`.
0 commit comments