Task Status

Send short status descriptions in chat for long-running tasks. Use when you need to provide periodic updates during multi-step operations, confirm task completion, or notify of failures. Includes automated periodic monitoring that sends updates every 5 seconds, status message templates, and a helper function for consistent status reporting.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
10 · 7.7k · 73 current installs · 76 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code implements exactly what the description says: sending status updates, periodic monitoring, and helper functions that dispatch messages via a local Clawdbot WebSocket or the clawdbot CLI. Using a local gateway token and a Telegram target is consistent with a messaging/status skill — but the skill metadata claims no required environment variables while the code expects CLAWDBOT_GATEWAY_TOKEN, CLAWDBOT_GATEWAY_PORT and TELEGRAM_TARGET, which is an inconsistency.
!
Instruction Scope
Runtime instructions and scripts access environment variables and local IPC (ws://127.0.0.1:<port>/ws) and will attempt to deliver messages to an external Telegram target. The SKILL.md does not document the required CLAWDBOT_GATEWAY_TOKEN or the default TELEGRAM_TARGET that the code will use if not set. The monitoring code writes/reads a .task_status_state.json state file and the logging variant writes message logs to a fixed path (C:/Users/Luffy/clawd/logs), so message content and task names can be written to disk and potentially transmitted to the default target even if the user hasn’t configured recipients.
Install Mechanism
There is no install spec and all code is included with the skill (no external downloads). That reduces supply-chain risk; however, the Python scripts assume dependencies (websocket client) and a 'clawdbot' CLI may be present. Missing runtime dependencies could cause fallback behaviors (printing/logging) or partial sends.
!
Credentials
The metadata declares no required env vars, but the code relies on CLAWDBOT_GATEWAY_TOKEN (credential), CLAWDBOT_GATEWAY_PORT and TELEGRAM_TARGET. TELEGRAM_TARGET defaults to a numeric ID '7590912486' in code — meaning messages will be delivered to that target if the user does not set TELEGRAM_TARGET. Asking for a gateway token and target is reasonable for a messaging skill, but failing to declare them in metadata and shipping a hard-coded default recipient is disproportionate and risky (potential accidental exfiltration of status content).
Persistence & Privilege
The skill does not request special platform privileges and always:false. It writes a local state file inside the skill directory (.task_status_state.json) and the logging script writes to an absolute path (C:/Users/Luffy/clawd/logs). Those files persist on disk and may contain message content; the skill also spawns background threads while running. There is no evidence it modifies other skills or system-wide settings.
What to consider before installing
This skill appears to implement the stated feature (periodic status messages) but contains a few red flags you should address before using it: - Required secrets are not declared: the scripts look for CLAWDBOT_GATEWAY_TOKEN and CLAWDBOT_GATEWAY_PORT and a TELEGRAM_TARGET. Set these deliberately; the skill will not prompt for them. Treat CLAWDBOT_GATEWAY_TOKEN as a secret. - Hard-coded default recipient: TELEGRAM_TARGET defaults to '7590912486' in the code. If you run the scripts without setting TELEGRAM_TARGET, status messages (including any sensitive 'details') could be sent to that ID. Change or remove the default recipient before running. - Local logging and state files: send_status_with_logging writes message logs to C:/Users/Luffy/clawd/logs and the monitor writes .task_status_state.json in the skill tree. If you care about local privacy or are not on Windows, modify LOG_DIR and the state path to a suitable location or disable logging. - Dependencies and runtime behavior: the scripts use a WebSocket client (websocket.create_connection) and may call a 'clawdbot' CLI. Ensure you have the correct Python websocket package installed and verify the clawdbot CLI behavior in a test environment. Recommendations before installing or running: 1. Inspect and (preferably) remove or change the hard-coded TELEGRAM_TARGET default. 2. Declare and securely set CLAWDBOT_GATEWAY_TOKEN and TELEGRAM_TARGET in your environment; verify what the token allows. 3. Change the LOG_DIR path to a directory you control, or disable the logging script if you don't want messages persisted. 4. Run the scripts in a safe test environment and confirm messages go only to destinations you expect (and that no sensitive content is emitted). 5. If you intend to use this with Clawdbot, review Clawdbot gateway docs to confirm the handshake/permissions for the token. Given these mismatches (missing metadata for env vars, hard-coded recipient, and disk logging), proceed with caution — these are likely oversights but could lead to unintended disclosure if left unmodified.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97f3gdjthbg5937r1s6785g01801e82

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Task 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.

Files

8 total
Select a file
Select a file to preview.

Comments

Loading comments…