2.0 KiB
2.0 KiB
Live Status Skill
Real-time progress updates in Mattermost via in-place post editing. Creates a single "status box" post and updates it repeatedly — no chat spam.
Usage
Create a status box
live-status --channel <CHANNEL_ID> create "🚀 **Task Started:** Initializing..."
Returns the POST_ID (26-char string). Capture it.
Create in a thread
live-status --channel <CHANNEL_ID> --reply-to <ROOT_POST_ID> create "🚀 Starting..."
Update the status box
live-status update <POST_ID> "🚀 **Task Running**
\`\`\`
[10:00] Step 1... OK
[10:01] Step 2... Working
\`\`\`"
Mark complete
live-status update <POST_ID> "✅ **Task Complete**
\`\`\`
[10:00] Step 1... OK
[10:01] Step 2... OK
[10:05] Done.
\`\`\`"
Delete a status box
live-status delete <POST_ID>
Multi-Agent Support
When multiple agents share a channel, each creates its own status box:
# Agent A
BOX_A=$(live-status --channel $CH --agent god-agent create "🤖 God Agent working...")
# Agent B
BOX_B=$(live-status --channel $CH --agent nutrition-agent create "🥗 Nutrition Agent working...")
Each agent updates only its own box by ID. No conflicts.
Options
| Flag | Purpose |
|---|---|
--channel ID |
Target channel (or set MM_CHANNEL_ID) |
--reply-to ID |
Post as thread reply (sets root_id) |
--agent NAME |
Use bot token mapped to this agent in openclaw.json |
--token TOKEN |
Explicit bot token (overrides everything) |
--host HOST |
Mattermost hostname |
Auto-Detection
The tool reads openclaw.json automatically for:
- Host — from
mattermost.baseUrl - Token — from
mattermost.accounts(mapped via--agentor defaults) - No env vars or manual config needed in most cases.
Protocol
- Always capture the
POST_IDfromcreate. - Always append to previous log (maintain full history in the message).
- Use code blocks for technical logs.
- Each new task gets a new status box — never reuse old IDs across tasks.