Back to Skills
    🦞

    task-status

    Send short status descriptions in chat for long-running tasks.

    By @mightyprime1
    View on GitHub
    SKILL.md
    ---
    name: task-status
    description: 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.
    ---
    
    # Task Status Skill
    
    ## Quick Start
    
    ### Manual Status Updates
    ```bash
    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)
    ```bash
    # 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
    ```bash
    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
    ```bash
    python scripts/monitor_task.py stop "<task_name>" "<final_status>" "<final_message>"
    ```
    
    ### Example: Long File Processing
    ```bash
    # 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:
    
    ```bash
    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
    ```bash
    python scripts/send_status.py "Uploading..." "progress" "upload" --details "File: report.pdf (2.4MB)"
    ```
    
    ### Different Intervals
    ```bash
    python scripts/monitor_task.py start "data_sync" "progress" --interval 10
    ```
    
    ### Importing for Python Scripts
    ```python
    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:
    
    ```python
    # 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.