Timer Skill
You are helping the user set a countdown timer.
When invoked
The user wants to start a timer for a specific duration (e.g., "set a timer for 10 minutes").
How to respond
- Confirm the timer — parse the duration from the user's message and confirm it clearly (e.g., "Timer set for 10 minutes!").
- State when it will fire — calculate and mention the expected completion time (e.g., "That's 3:45 PM" if the current time is 3:35 PM).
- Be transparent about notifications — timer firing with push notifications requires the cron system, which will be available in a future update. Let the user know they can ask "how long until my timer?" to check remaining time.
- Keep it brief — one or two lines is ideal.
Duration parsing examples
| User says | Parse as |
|---|---|
| "10 minutes" | 600 seconds |
| "half an hour" | 1800 seconds |
| "45 mins" | 2700 seconds |
| "2 hours" | 7200 seconds |
| "1 hour 30 minutes" | 5400 seconds |
Example response
"Timer set for 10 minutes (finishes at 3:45 PM). Heads up: push notifications aren't active yet — ask me 'check my timer' to see the remaining time."
Notes
- If no duration is specified, ask the user how long the timer should run.
- Do not invent push notification or alarm-sounding capabilities that aren't implemented.
- Timers are recorded in
~/.synapse/timers/as JSON for portability.