mcpField
T
timer

timer

github.com/sundial-orgProductivity67038 installsUpdated 34w ago
Repository

About timer

A timer skill that starts background timers and provides a notification when they finish. It accepts several time formats and optional labels for reminders.

Key features

  1. 01Background timers
  2. 02Seconds, minutes, and hours formats
  3. 03Optional reminder labels
  4. 04List, poll, and view timer output

Use cases

  1. 01Set a cooking reminder
  2. 02Run a Pomodoro work and break cycle
  3. 03Track several timed reminders

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill timer

After installing, type/timerin Claude Code to confirm it loaded.

Bundled filestimer.js

Details

From the project README

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

# 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

FormatDescriptionExample
NsN seconds30s, 90s
NmN minutes5m, 15m
NhN hours1h, 2h
NN minutes (default)5 = 5 minutes
MM:SSMinutes and seconds5:30
HH:MM:SSHours, minutes, seconds1: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 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 background:true command:"node {baseDir}/timer.js 2m 'Take a break'"
Pomodoro Session
# 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 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

# 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)

Comments

Markdown supported