Task Supervisor
Manage complex tasks with 5+ steps or duration >20 min, tracking progress via task files and sending periodic status reports until completion or pause.
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
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:
- Create a task file at
.tasks/<TASK-SLUG>.md(use kebab-case slug) - Decompose the task into numbered steps
- Spawn a reporter cron to send progress updates
- 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 Updatedtimestamp
On failure:
- Mark step
[!]with error summary - Try an alternative approach if obvious
- If truly stuck, set Status to
pausedand 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
- Fill in
## Resultsection with a clear summary - Set
Status: done - Send a final Feishu message: task name, what was accomplished, any caveats
- Remove the progress cron
On Task Failure / Getting Stuck
- Set
Status: paused - Document exactly what was tried and what's blocked
- Send Feishu message alert immediately (don't wait for cron)
- Do NOT silently stop — always notify
Resuming a Paused Task
When asked to continue a task:
- Read
.tasks/<SLUG>.md - Find the last completed step
- Continue from there
- 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 |
Files
1 totalComments
Loading comments…
