task-status について
Python スクリプトでタスクの進捗、完了、警告、エラーを送る Clawdbot 向けスキルです。単発の更新に加え、長時間タスク向けの定期的なバックグラウンド監視にも対応します。
主な機能
- 01タスク状態の手動送信
- 02進捗、成功、警告、エラーの報告
- 03定期的なバックグラウンド監視
- 04監視間隔の設定
- 05Python からの状態更新呼び出し
活用シーン
- 01短いタスクの節目を通知
- 02長時間処理中の定期通知
- 03タスクの完了または失敗の報告
- 04Python スクリプトへの状態通知の追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ addozhang/ openclaw-forge --skill task-statusインストール後、Claude Code で/task-statusを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/monitor_task.pysend_status_websocket.pysend_status_with_logging.pysend_status.pytest_send_status.py詳細
タスクステータススキル
クイックスタート
手動でのステータス更新
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"
定期的な自動モニタリング(5 秒ごと)
# 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!"
ステータスの種類
- progress:作業中(🔄 または -> を表示)
- success:タスク完了(✅ または OK を表示)
- error:タスク失敗(❌ または ! を表示)
- warning:問題はありますが続行中(⚠️ または ? を表示)
定期的なモニタリング
monitor_task.py スクリプトで更新を自動化できます。
モニターの開始
python scripts/monitor_task.py start "<task_name>" "<status_type>" [--interval <seconds>]
- 5 秒ごとに「作業中です…」という更新を自動送信します
- 停止するまでバックグラウンドで実行されます
- 間隔を変更できます
モニターの停止
python scripts/monitor_task.py stop "<task_name>" "<final_status>" "<final_message>"
例:長時間のファイル処理
# 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!"
手動更新(クイックステータス)
モニタリングを使わず、ステータスを 1 回だけ更新する場合:
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"
各方法を使う場面
手動更新を使う場合:
- タスクが短い(30 秒未満)
- 更新を送信するタイミングを自分で決めたい
- タスクに明確で意味のあるマイルストーンがある
定期的なモニタリングを使う場合:
- タスクに時間がかかる(1 分以上)
- 5 秒ごとに「ハートビート」更新を一定の間隔で送りたい
- タスクの作業が長時間静かに続く
- 作業が進行中であることをユーザーに伝えたい
メッセージのガイドライン
ステータスメッセージは 140 文字以内にしてください。例:
- Progress:「データを取得中です…」または「レコードを処理中:250/1000」
- Success:「完了!3 個のファイルを用意しました」または「タスクが正常に完了しました」
- Error:「エラー:接続がタイムアウトしました」または「失敗:API キーがありません」
- Warning:「タイムアウトしましたが、続行しています」または「一部成功:5/10 個のファイル」
高度な使い方
詳細情報を追加する
python scripts/send_status.py "Uploading..." "progress" "upload" --details "File: report.pdf (2.4MB)"
間隔を変更する
python scripts/monitor_task.py start "data_sync" "progress" --interval 10
Python スクリプトからインポートする
from send_status import send_status
def long_task():
send_status("Starting...", "progress", "step1")
# ... work
send_status("Step complete", "success", "step1")
Clawdbot Cron による自動化
スケジュールされたタスクには、Clawdbot の cron 機能を使用します。
# 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)
これにより、作業を見守っていないときでもステータスを更新できます。
インストール
このスキルを使うには、task-status フォルダーを Clawdbot のスキルディレクトリにコピーします。
C:\Users\Luffy\AppData\Roaming\npm\node_modules\clawdbot\skills\task-status
または、ワークスペースに追加し、AGENTS.md または TOOLS.md から参照します。
インストールすると、定期的なステータス更新が必要なあらゆるタスクでこのスキルを利用できます。
コメント
Markdown 対応