Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Documents
Timer Build Monitor
Try itSet, list, and cancel one-shot async timers specialized for build monitoring using subagents to track and report task status without cron dependencies.
What it does
A minimal timer skill for one-shot async checks (build monitoring, long-running tasks). Wraps with named timer tracking and status reporting.
The skill document
Timer Skill — Build Monitor
A minimal timer skill for one-shot async checks (build monitoring, long-running tasks).
Wraps sessions_spawn with named timer tracking and status reporting.
Usage
# Set a timer
$timer "check eas build in 20 minutes" --name eas-build-v018
# Check active timers
$timer list
# Cancel a timer
$timer cancel eas-build-v018
Architecture
User sets timer → Parse intent → Spawn subagent (isolated, timeout)
→ Subagent sleeps → Checks status → Reports back via message
→ If success: update state, notify user
→ If timeout: update state, notify user "timer expired"
Files
SKILL.md— This file. Usage + workflow.scripts/timer.sh— CLI wrapper. Parses$timercommands, spawns subagents.scripts/state.sh— CRUD timer state (JSON file in~/.openclaw/timers/).
Why BYO Instead of NervTimer
| NervTimer | This Skill |
|---|---|
| General purpose (any reminder) | Specialized for build monitoring |
| Nagging every 5 min (annoying) | Single check + report back |
| Requires cron tool + state files | Subagent spawn (already works) |
| Needs intent parsing/validation | Simple: "check build in N min" |
| Escalation logic | No escalation needed |
Trade-off: Subagent pattern is simpler but doesn't survive session restarts. For persistent timers across restarts, use OpenClaw native cron tool or install NervTimer.
Why BYO Instead of NervTimer
| NervTimer | This Skill |
|---|---|
| General purpose (any reminder) | Specialized for build monitoring |
| Nagging every 5 min (annoying) | Single check + report back |
| Requires cron tool + state files | Subagent spawn (already works) |
| Needs intent parsing/validation | Simple: "check build in N min" |
| Escalation logic | No escalation needed |
Trade-off: Subagent pattern is simpler but doesn't survive session restarts. For persistent timers across restarts, use OpenClaw native cron tool or install NervTimer.
State Format
{
"timers": {
"eas-build-v018": {
"id": "eas-build-v018",
"status": "running",
"createdAt": "2026-05-18T04:35:00Z",
"expiresAt": "2026-05-18T04:55:00Z",
"task": "check eas build status",
"sessionKey": "agent:main:subagent:xxx",
"result": null
}
}
}
Commands
$timer
Spawn a subagent to execute the described task after the implied delay. If no delay is stated, ask the user for clarification.
$timer list
Show all active timers with status and time remaining.
$timer cancel
Kill the subagent session and mark timer as cancelled.
Implementation Notes
- Uses
sessions_spawnwithmode="run"andrunTimeoutSeconds - Subagent receives the full task description + current context
- Subagent reports back via
sessions_sendor completion event - No cron dependency — pure subagent-based
- State file is human-readable JSON for debugging
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
More from space-cadet
Browse all skillsMemory Bank Update Workflow — v6.12 compliant with project-repo awareness. Use when the user invokes $mem-update or asks for this workflow by name. Triggers on "update memory bank", "create edit chunk", "update tasks.md", "update session cache", "memory bank update workflow". NOT for database-native workflows (use mb-db-workflow instead).
Memory Bank Template Compliance Cleaner Workflow Use when the user invokes $mem-format or asks for this workflow by name.
Global Memory Bank Deep Scan and Task Analysis Workflow — Multi-repo aware. Use when the user invokes $mem-scan or asks for this workflow by name.
Track, aggregate, and report OpenClaw token usage and costs across sessions.
Initialize a memory bank for a new or existing project following the v6.12 protocol. Use when starting work on a project that lacks memory-bank documentation...
Combined network + gateway status with VPN info, IP location, and system health