timely
Manage Apple Reminders from the command line with geofencing support. Use when creating reminders on macOS with optional location-based triggers (arrive/depart), due dates, or time-based alerts. Works with iCloud-synced reminder lists.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/halbotley/timelytimely
A CLI for Apple Reminders with geofencing support. Create location-aware and time-based reminders without UI interaction.
Why timely?
- Location triggers — Remind when arriving at or departing from a place
- No UI prompts — Works silently via EventKit
- iCloud sync — Reminders appear on all devices
Installation
brew tap halbotley/tap
brew install timely
First run prompts for Reminders access (System Settings → Privacy → Reminders). One-time only.
Commands
List reminder lists
timely lists
View reminders
timely show Reminders # Show all in list
timely show Reminders 10 # Show last 10
Create time-based reminder
timely add Reminders "Call mom" --due "tomorrow 3pm"
timely add Reminders "Submit report" --due "friday 5pm"
Create location-based reminder (arrive)
timely add Reminders "Buy milk" \
--location "Trader Joe's" \
--address "123 Main St, Santa Barbara, CA" \
--arrive
Create location-based reminder (depart)
timely add Reminders "Text wife leaving" \
--location "Office" \
--address "456 Work Ave" \
--depart
Combined (time + location)
timely add Reminders "Pick up prescription" \
--due "today" \
--location "CVS" \
--address "789 Pharmacy Rd" \
--arrive
Due Date Formats
Natural language parsing:
"today","tomorrow""monday","next friday""tomorrow 3pm","friday 5pm""2025-03-15","2025-03-15 14:30"
Geofencing Notes
--locationis the display name (what you see in Reminders)--addressis used for geocoding (must be a real address)--arrivetriggers when entering the location--departtriggers when leaving the location- Default geofence radius is ~100 meters
Shared Lists
For shared iCloud reminder lists, use the exact list name as it appears in the Reminders app. The list syncs across all family members' devices.
Examples
# Simple reminder
timely add Reminders "Water plants" --due "saturday 9am"
# Reminder when getting home
timely add Reminders "Take out trash" \
--location "Home" \
--address "123 My Street, My City, CA" \
--arrive
# Reminder when leaving work
timely add Reminders "Pick up kids" \
--location "Office" \
--address "456 Work Blvd" \
--depart
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-halbotley-timely": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
duely
Track recurring maintenance tasks from the command line. Use when scheduling, checking, and logging periodic tasks like backups, reviews, or any repeating chore. Shows overdue items and keeps an execution log.
session-hygiene
Prevent sessions.json bloat from accumulating isolated sessions (hooks, crons, subagents). Sets up a cron to archive stale sessions to daily JSONL files and keep sessions.json lean. Use when sessions.json grows large, the gateway becomes slow or unresponsive, or as preventive maintenance on any OpenClaw instance with hooks or crons. Related to openclaw/openclaw#15225.
calmly
Manage macOS Calendar events from the command line using EventKit. Use when creating, listing, or viewing calendar events on macOS without AppleScript dialogs or UI prompts. Supports all-day events, multi-day events, and timed events. Works with iCloud, local, and CalDAV calendars.