返回 Skill 列表
extension
分类: 效率与办公无需 API Key

Task Supervisor

管理复杂任务(≥5步或>20分钟),通过任务文件跟踪进度,定期发送状态报告,直至完成或暂停。

person作者: mashiropshubclawhub

Task Supervisor

Manage long-running tasks with checkpoints, progress files, and periodic WhatsApp reports.

Is This a Large Task?

Before doing anything else, mentally check:

| Signal | Large? | |--------|--------| | Steps ≥ 5 OR time > 20 min | ✅ Yes | | User says "take your time / overnight / keep me posted" | ✅ Yes | | Needs sub-agent + cron + multiple domains | ✅ Yes | | Single tool call, quick search, short edit, Q&A | ❌ No — skip this skill entirely | | "Help me write X" (one doc, one sitting) | ❌ No | | "Search for Y and summarize" (few minutes) | ❌ No |

If not large → respond normally, skip task files and crons entirely.

On Task Start

When you receive a large task, immediately:

  1. Create a task file at .tasks/<TASK-SLUG>.md (use kebab-case slug)
  2. Decompose the task into numbered steps
  3. Spawn a reporter cron to send progress updates
  4. Begin execution, updating the file after each step

Task File Format

# Task: <Title>

**Started**: <ISO timestamp>
**Status**: in_progress | paused | done | failed
**Estimated Steps**: N
**Last Updated**: <ISO timestamp>

## Steps

- [ ] 1. First step
- [ ] 2. Second step
- [x] 3. Completed step ✓ (2026-03-02T22:05:00+08:00)
- [!] 4. Failed step — <error summary>

## Log

### Step 3 — 2026-03-02T22:05:00+08:00
Result or notes here.

### Error — 2026-03-02T22:07:00+08:00
What failed and how it was handled.

## Result

(Fill when done — final summary for the user)

During Execution

After every step (success or failure):

  • Update the checkbox in Steps ([x] done, [!] failed)
  • Append a Log entry with timestamp and key findings
  • Update Last Updated timestamp

On failure:

  • Mark step [!] with error summary
  • Try an alternative approach if obvious
  • If truly stuck, set Status to paused and note what's needed

Progress Reporting (Cron)

At task start, spawn a cron reporter using exec:

openclaw cron add "task-report-<SLUG>" \
  --schedule "*/15 * * * *" \
  --message "Read .tasks/<SLUG>.md and send a Feishu message to the user with progress update. Include: completed steps, current step, blockers if any. Keep it under 5 sentences. Remove this cron when Status=done or Status=failed." \
  --once-complete

Adjust interval based on task scope:

  • Quick task (<30 min): every 10 min
  • Medium task (30 min–2 hr): every 15 min
  • Long task (>2 hr): every 30 min

On Task Completion

  1. Fill in ## Result section with a clear summary
  2. Set Status: done
  3. Send a final Feishu message: task name, what was accomplished, any caveats
  4. Remove the progress cron

On Task Failure / Getting Stuck

  1. Set Status: paused
  2. Document exactly what was tried and what's blocked
  3. Send Feishu message alert immediately (don't wait for cron)
  4. Do NOT silently stop — always notify

Resuming a Paused Task

When asked to continue a task:

  1. Read .tasks/<SLUG>.md
  2. Find the last completed step
  3. Continue from there
  4. Re-spawn reporter cron if needed

Multi-Task Awareness

If multiple tasks are running, maintain separate files per task. On heartbeat, check .tasks/ for any in_progress tasks and include a brief status in heartbeat responses.

Quick Reference

| Situation | Action | |-----------|--------| | Task assigned | Create file, decompose, spawn cron, start | | Step done | Update [x], append log | | Step failed | Mark [!], try alternative, log error | | Truly stuck | Set paused, WhatsApp alert immediately | | Task complete | Fill Result, set done, final message, remove cron | | Asked for update | Read task file, summarize current state |