ClawSkills logoClawSkills

timer

Set timers and alarms. When a background timer completes, you receive a System notification - respond with the reminder message (NOT HEARTBEAT_OK) to notify the

Introduction

# Timer

Set timers that run in the background. When they complete, you will receive a system notification and MUST respond with the reminder to notify the user.

## Quick Start

```bash # Set a 5-minute timer bash background:true command:"node {baseDir}/timer.js 5m"

# Set a timer with a label bash background:true command:"node {baseDir}/timer.js 10m 'Check the oven'"

# Set a timer in seconds bash background:true command:"node {baseDir}/timer.js 30s"

# Set a timer in hours bash background:true command:"node {baseDir}/timer.js 1h" ```

## Time Formats

| Format | Description | Example | |--------|-------------|---------| | `Ns` | N seconds | `30s`, `90s` | | `Nm` | N minutes | `5m`, `15m` | | `Nh` | N hours | `1h`, `2h` | | `N` | N minutes (default) | `5` = 5 minutes | | `MM:SS` | Minutes and seconds | `5:30` | | `HH:MM:SS` | Hours, minutes, seconds | `1:30:00` |

## āš ļø CRITICAL: Timer Completion Notification

When a timer completes, you receive a `System:` message like: ``` System: [2026-01-24 21:27:13] Exec completed (swift-me, code 0) :: ā° Timer complete! Check the pasta! ```

### āŒ WRONG - Do NOT respond like this: ``` HEARTBEAT_OK

šŸŽ‰ Your timer is complete! Check the pasta! ``` This response will be **filtered and NOT delivered** to the user!

### āœ… CORRECT - Respond like this: ``` ā° Timer Alert! Your timer is complete: Check the pasta! ``` Start directly with the notification message. Do NOT include HEARTBEAT_OK.

**Why?** Responses starting with `HEARTBEAT_OK` followed by less than 300 characters are automatically suppressed and never reach the user. Your timer notification will be lost!

## Examples

### Cooking Timer ```bash bash background:true command:"node {baseDir}/timer.js 12m 'Pasta is ready!'" ``` When complete, respond: "ā° Your 12-minute timer is up! Pasta is ready!"

### Quick Reminder ```bash bash background:true command:"node {baseDir}/timer.js 2m 'Take a break'" ```

### Pomodoro Session ```bash # Work session bash background:true command:"node {baseDir}/timer.js 25m 'Pomodoro done - time for a break!'" # After user is notified... # Break bash background:true command:"node {baseDir}/timer.js 5m 'Break over - back to work!'" ```

### Multiple Timers ```bash bash background:true command:"node {baseDir}/timer.js 5m 'Tea is ready'" bash background:true command:"node {baseDir}/timer.js 10m 'Eggs are done'" bash background:true command:"node {baseDir}/timer.js 30m 'Meeting starts soon'" ```

## Managing Timers

```bash # List all running timers process action:list

# Check specific timer status process action:poll sessionId:XXX

# View timer output process action:log sessionId:XXX

# Cancel a timer process action:kill sessionId:XXX ```

## Notes

- Timers run as background processes with unique sessionIds - Completed timers exit with code 0 - Cancelled timers (via kill) exit with code 130 - Sound notification plays on macOS when timer completes (if `afplay` available) - Progress is logged every second (short timers) or every 10 seconds (long timers)

More Products