Documents

Timer Build Monitor

Try it

Set, 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 $timer commands, spawns subagents.
  • scripts/state.sh — CRUD timer state (JSON file in ~/.openclaw/timers/).

Why BYO Instead of NervTimer

NervTimerThis Skill
General purpose (any reminder)Specialized for build monitoring
Nagging every 5 min (annoying)Single check + report back
Requires cron tool + state filesSubagent spawn (already works)
Needs intent parsing/validationSimple: "check build in N min"
Escalation logicNo 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

NervTimerThis Skill
General purpose (any reminder)Specialized for build monitoring
Nagging every 5 min (annoying)Single check + report back
Requires cron tool + state filesSubagent spawn (already works)
Needs intent parsing/validationSimple: "check build in N min"
Escalation logicNo 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_spawn with mode="run" and runTimeoutSeconds
  • Subagent receives the full task description + current context
  • Subagent reports back via sessions_send or completion event
  • No cron dependency — pure subagent-based
  • State file is human-readable JSON for debugging

Related skills

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from space-cadet

Browse all skills

Memory 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).

by space-cadet2 installs

Memory Bank Template Compliance Cleaner Workflow Use when the user invokes $mem-format or asks for this workflow by name.

by space-cadet1 installs

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.

by space-cadet1 installs

Track, aggregate, and report OpenClaw token usage and costs across sessions.

by space-cadet1 installs

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...

by space-cadet

Combined network + gateway status with VPN info, IP location, and system health

by space-cadet