Files
MATTERMOST_OPENCLAW_LIVESTATUS/skill/SKILL.md

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 --agent or defaults)
  • No env vars or manual config needed in most cases.

Protocol

  1. Always capture the POST_ID from create.
  2. Always append to previous log (maintain full history in the message).
  3. Use code blocks for technical logs.
  4. Each new task gets a new status box — never reuse old IDs across tasks.