| name | live-task-pulse |
| description | Real-time task progress tracking with live push notifications. MANDATORY for ALL multi-step tasks (>30s or >2 tool calls). Activate automatically โ do not wait for user to request it. Unique dual-layer architecture โ file persistence for crash recovery + message tool push for real-time updates. Features step-based progress, stall detection (3min), auto-cleanup, and a Python CLI. Also triggers when user asks "what's running" / "task status" / "ไปปๅก่ฟๅบฆ". |
Cleanup Review
python scripts/_cleanup.py is an optional cleanup helper for the Live Task Pulse skill. It may recursively remove /tmp/_skill_work. Show the exact paths first, explain whether they are skill-private temporary paths or user state, and run the cleanup only after the user confirms.
Live Task Pulse
Real-time task execution tracking with live push notifications.
Why This Exists
Other trackers write to files โ users can't see progress until they ask. Live Task Pulse pushes every step change to the user's chat instantly via OpenClaw's message tool, while persisting state to JSON for crash recovery.
Architecture
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ task_pulse.pyโโโโ>โ JSON on disk โ โ User's chat โ
โ (CLI tool) โ โ (persistence)โ โ (Telegram/ โ
โโโโโโโโฌโโโโโโโโ โโโโโโโโโโโโโโโโ โ Discord/..)โ
โ โโโโโโโโฒโโโโโโโ
โ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโ>โ message tool โโโโโโโโโโโโโโโโ
โ (real-time) โ
โโโโโโโโโโโโโโโโ
Dual-layer = no other skill does both.
Quick Reference
Create task โ push start notification
TASK_ID=$(python3 scripts/task_pulse.py create "ไปปๅกๅ" "ๆญฅ้ชค1" "ๆญฅ้ชค2" "ๆญฅ้ชค3")
Then immediately call message tool:
message(action="send", message="๐ ๅผๅงใไปปๅกๅใ\n๐ ๆญฅ้ชค1 โ ๆญฅ้ชค2 โ ๆญฅ้ชค3\n๐ ๅฝๅ: ๆญฅ้ชค1")
Advance to next step โ push progress
python3 scripts/task_pulse.py next "$TASK_ID" "ๆๅไบ25ๆกๆฐๆฎ"
Then push: message(action="send", message="โ
[1/3] ๆญฅ้ชค1ๅฎๆ๏ผๆๅไบ25ๆกๆฐๆฎ๏ผ\n๐ โ ๆญฅ้ชค2")
Heartbeat (long step, >1min)
python3 scripts/task_pulse.py heartbeat "$TASK_ID" "ๅทฒๅค็60%"
Push only if meaningful progress (avoid spam).
Complete
python3 scripts/task_pulse.py done "$TASK_ID" "ๅๅธๆๅ https://..."
Push: message(action="send", message="๐ ใไปปๅกๅใๅฎๆ๏ผ\n็ปๆ: https://...")
Fail
python3 scripts/task_pulse.py error "$TASK_ID" "็ปๅฝ่ฟๆ"
Push: message(action="send", message="โ ใไปปๅกๅใๅคฑ่ดฅ\n้่ฏฏ: ็ปๅฝ่ฟๆ")
Query status
python3 scripts/task_pulse.py status
Cleanup (>7 days completed)
python3 scripts/task_pulse.py cleanup
Mandatory Rules
- Always push after file update โ users cannot see a file update alone
- Push format: emoji +
[done/total] + current step + one-line info (โค3 lines)
- Push frequency: every step transition; long steps max once per 30s
- Stall = running + no update for 3 minutes โ detected on
status query
- On stall detection: push
โ ๏ธ ใไปปๅกๅใๅฏ่ฝๅกไฝไบ๏ผ3ๅ้ๆ ๆดๆฐ๏ผ
- Cleanup: run in heartbeat, keep completed tasks 7 days
Status Icons
| Status | Icon | Meaning |
|---|
| running | ๐ | Executing |
| done | โ
/๐ | Completed |
| error | โ | Failed |
| stalled | โ ๏ธ | No update >3min |
| pending | โณ | Step not started |
Integration
- Cron jobs: Wrap cron task payload with create/next/done calls
- Sub-agents: Parent agent creates task, sub-agent updates via file, parent pushes
- Heartbeat cleanup: Add
python3 scripts/task_pulse.py cleanup to HEARTBEAT.md
- Multi-channel:
message tool auto-routes to the active channel
See references/integration-guide.md for cron and sub-agent patterns.