resolve: keep workspace versions of skill/SKILL.md and live-status.js
This commit is contained in:
@@ -1,48 +1,75 @@
|
||||
# Live Status Skill
|
||||
|
||||
**Use this tool to report real-time progress updates to Mattermost.**
|
||||
It allows you to create a "Live Log" post that you update in-place, reducing chat spam.
|
||||
**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
|
||||
|
||||
### 1. Initialize (Start of Task)
|
||||
|
||||
Create a new status post. It will print the `POST_ID`.
|
||||
**Required:** Pass the `CHANNEL_ID` if known (otherwise it defaults to system channel).
|
||||
|
||||
### Create a status box
|
||||
```bash
|
||||
live-status create <CHANNEL_ID> "🚀 **Task Started:** Initializing..."
|
||||
live-status --channel <CHANNEL_ID> create "🚀 **Task Started:** Initializing..."
|
||||
```
|
||||
Returns the `POST_ID` (26-char string). **Capture it.**
|
||||
|
||||
### Create in a thread
|
||||
```bash
|
||||
live-status --channel <CHANNEL_ID> --reply-to <ROOT_POST_ID> create "🚀 Starting..."
|
||||
```
|
||||
|
||||
**Output:** `p6...` (The Post ID)
|
||||
|
||||
### 2. Update (During Task)
|
||||
|
||||
Update the post with new log lines. Use a code block for logs.
|
||||
|
||||
### Update the status box
|
||||
```bash
|
||||
live-status update <POST_ID> "🚀 **Task Started:** Initializing...
|
||||
live-status update <POST_ID> "🚀 **Task Running**
|
||||
\`\`\`
|
||||
[10:00] Checking files... OK
|
||||
[10:01] Downloading assets...
|
||||
[10:00] Step 1... OK
|
||||
[10:01] Step 2... Working
|
||||
\`\`\`"
|
||||
```
|
||||
|
||||
### 3. Complete (End of Task)
|
||||
|
||||
Mark as done.
|
||||
|
||||
### Mark complete
|
||||
```bash
|
||||
live-status update <POST_ID> "✅ **Task Complete.**
|
||||
live-status update <POST_ID> "✅ **Task Complete**
|
||||
\`\`\`
|
||||
[10:00] Checking files... OK
|
||||
[10:01] Downloading assets... Done.
|
||||
[10:05] Verifying... Success.
|
||||
[10:00] Step 1... OK
|
||||
[10:01] Step 2... OK
|
||||
[10:05] Done.
|
||||
\`\`\`"
|
||||
```
|
||||
|
||||
### Delete a status box
|
||||
```bash
|
||||
live-status delete <POST_ID>
|
||||
```
|
||||
|
||||
## Multi-Agent Support
|
||||
|
||||
When multiple agents share a channel, each creates its **own** status box:
|
||||
```bash
|
||||
# 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
|
||||
|
||||
- **Always** capture the `POST_ID` from the `create` command.
|
||||
- **Always** append to the previous log (maintain history).
|
||||
- **Use Code Blocks** for technical logs.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user