About task-status
A Clawdbot skill for sending task progress, completion, warning, and error updates with Python scripts. It supports one-off messages or periodic background monitoring for longer tasks.
Key features
- 01Send manual task status updates
- 02Report progress, success, warning, and error
- 03Run periodic background monitoring
- 04Configure monitoring intervals
- 05Import status updates in Python
Use cases
- 01Posting milestones during short tasks
- 02Sending heartbeats during long-running work
- 03Reporting task completion or failure
- 04Adding status calls to Python scripts
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ addozhang/ openclaw-forge --skill task-statusAfter installing, type/task-statusin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
scripts/monitor_task.pysend_status_websocket.pysend_status_with_logging.pysend_status.pytest_send_status.pyDetails
From the project READMETask Status Skill
Quick Start
Manual Status Updates
python scripts/send_status.py "Starting data fetch..." "progress" "step1"
python scripts/send_status.py "Processing complete" "success" "final"
python scripts/send_status.py "Error: Missing API key" "error" "auth"
Automatic Periodic Monitoring (Every 5 seconds)
# Start monitoring a long-running task
python scripts/monitor_task.py start "My Long Task" "processing"
# Monitor will send "Still working..." updates every 5 seconds
# When task completes, report final status
python scripts/monitor_task.py stop "My Long Task" "success" "Completed successfully!"
Status Types
- progress: Ongoing work (shows 🔄 or ->)
- success: Task complete (shows ✅ or OK)
- error: Failed task (shows ❌ or !)
- warning: Issue but continuing (shows ⚠️ or ?)
Periodic Monitoring
The monitor_task.py script provides automatic updates:
Starting Monitor
python scripts/monitor_task.py start "<task_name>" "<status_type>" [--interval <seconds>]
- Automatically sends "Still working..." updates every 5 seconds
- Runs in background until stopped
- Can be customized with different intervals
Stopping Monitor
python scripts/monitor_task.py stop "<task_name>" "<final_status>" "<final_message>"
Example: Long File Processing
# Start monitoring
python scripts/monitor_task.py start "video_processing" "progress"
# ... long processing happens here ...
# Stop with final status
python scripts/monitor_task.py stop "video_processing" "success" "Processing complete!"
Manual Updates (Quick Status)
For single status updates without monitoring:
python scripts/send_status.py "Still fetching data..." "progress" "fetch"
python scripts/send_status.py "Processing records: 250/1000" "progress" "process"
python scripts/send_status.py "Complete! 3 files ready" "success" "final"
python scripts/send_status.py "Error: Connection timeout" "error" "api"
When to Use Each Method
Use Manual Updates When:
- Task is short (under 30 seconds)
- You want control over when updates are sent
- Task has discrete, meaningful milestones
Use Periodic Monitoring When:
- Task is long-running (over 1 minute)
- You want consistent "heartbeat" updates every 5 seconds
- Task has long periods of quiet work
- You want to reassure user that work is ongoing
Message Guidelines
Keep status messages under 140 characters. Examples:
- Progress: "Still fetching data..." or "Processing records: 250/1000"
- Success: "Complete! 3 files ready" or "Task finished successfully"
- Error: "Error: Connection timeout" or "Failed: Missing API key"
- Warning: "Continuing despite timeout" or "Partial success: 5/10 files"
Advanced Usage
With Additional Details
python scripts/send_status.py "Uploading..." "progress" "upload" --details "File: report.pdf (2.4MB)"
Different Intervals
python scripts/monitor_task.py start "data_sync" "progress" --interval 10
Importing for Python Scripts
from send_status import send_status
def long_task():
send_status("Starting...", "progress", "step1")
# ... work
send_status("Step complete", "success", "step1")
Automation with Clawdbot Cron
For scheduled tasks, use Clawdbot's cron feature:
# In a script or session
from cron import add
# Every 5 seconds, check status
job = {
"text": "Check status update",
"interval": "5s",
"enabled": True
}
add(job)
This allows status updates even when you're not actively watching.
Installation
To use this skill, copy the task-status folder into your Clawdbot skills directory:
C:\Users\Luffy\AppData\Roaming\npm\node_modules\clawdbot\skills\task-status
Or add it to your workspace and reference it from AGENTS.md or TOOLS.md.
Once installed, the skill will be available for any task where you need periodic status updates.