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

MIT-0 · Free to use, modify, and redistribute. No attribution required.
2 · 3.2k · 17 current installs · 17 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, required binary (node), SKILL.md, and the included timer.js all align: the script implements countdown timers, optional label, progress logging, and an audible macOS notification. No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
SKILL.md only instructs launching the provided Node script as a background process and how to list/poll/kill timer processes. It also instructs how to format the agent's response to system timer-complete messages (to avoid HEARTBEAT_OK filtering). The instructions do not request reading unrelated files, environment variables, or sending data externally.
Install Mechanism
No install spec (instruction-only plus bundled script). This minimizes installation risk; nothing is downloaded or written to disk by an installer beyond the included code file.
Credentials
No environment variables, credentials, or config paths are required. The script spawns a local player (afplay) on macOS if available, which is proportional to the stated purpose.
Persistence & Privilege
always:false and no requests to modify other skills or system-wide settings. The skill runs background processes (timers) by design and will trigger system notifications when timers complete; autonomous invocation is allowed but is normal for skills.
Assessment
This skill appears to do exactly what it says: run local countdown timers using Node and notify you when they finish. Before installing, ensure you trust the skill source and have node available. Note: the script uses child_process.spawn to call afplay on macOS (no network calls or credential access). Because timers run in the background and trigger system notifications, your agent will be invoked when timers complete — confirm you want background timers to be started autonomously and that your agent is configured to respond with the non-HEARTBEAT_OK notification format described in SKILL.md. If you want extra assurance, review or run the included timer.js locally to inspect behavior before enabling the skill.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk978610bfx304nrntp21ybcqfx7zvd2ftimervk978610bfx304nrntp21ybcqfx7zvd2f

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

⏱️ Clawdis
Binsnode

SKILL.md

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)

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…