From workflow
Query macOS Calendar and Reminders using icalpal CLI. Use this skill when you need to fetch calendar events, reminders/tasks, or calendar metadata from the local macOS Calendar database. Supports filtering by date, calendar, account, and various output formats including JSON.
npx claudepluginhub shortrib-labs/shortrib-claude-marketplace --plugin workflowThis skill is limited to using the following tools:
Query macOS Calendar events and Reminders using the icalpal command-line tool.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Query macOS Calendar events and Reminders using the icalpal command-line tool.
events - Print all eventseventsToday - Print events occurring todayeventsToday+N - Print events from today through N days ahead (e.g., eventsToday+7 for the week)eventsNow - Print events occurring at the present timeeventsRemaining - Print events from now until midnighttasks or reminders - Print all tasksdatedTasks - Print tasks with a due dateundatedTasks - Print tasks with no due datetasksDueBefore - Print uncompleted tasks due between given datescalendars - Print available calendarsaccounts or stores - Print calendar accountsUse -o FORMAT to specify output format:
json - JSON format (best for programmatic use)default - Human-readable default formatansi - Colored terminal outputcsv - Comma-separated valuesmd - Markdown formatyaml - YAML formathtml - HTML formatxml - XML formatRecommendation: Always use -o json when processing data programmatically.
--from=DATE - Events starting on or after DATE--to=DATE - Events starting on or before DATE--days=N - Show N days of events including start date-n - Include only events from now onDATE can be: yesterday, today, tomorrow, +N, -N, or any DateTime.parse() format.
--is=ACCOUNTS - Include only these accounts--es=ACCOUNTS - Exclude these accounts--ic=CALENDARS - Include only these calendars--ec=CALENDARS - Exclude these calendars--il=LISTS - Include only these reminder lists--el=LISTS - Exclude these reminder lists--it=TYPES - Include only these types--et=TYPES - Exclude these types--id - Include completed reminders--ed - Exclude uncompleted reminders--ia - Include only all-day events--ea - Exclude all-day events--match=FIELD=REGEX - Include items where FIELD matches REGEX (case insensitive)Available: ROWID, UUID, account, address, all_day, attendees, availability, calendar, color, conference_url_detected, count, duration, end_date, end_tz, flags, frequency, has_recurrences, interval, invitation_status, location, notes, orig_date, orig_item_id, rend_date, specifier, start_date, start_tz, status, subcal_url, symbolic_color_name, title, trigger_interval, type, unique_identifier, url, xdate
--iep=PROPERTIES - Include only these event properties--eep=PROPERTIES - Exclude these event properties--aep=PROPERTIES - Add properties to default listAvailable: alert, all_day, assignee, badge, color, completed, due_date, flagged, grocery, group, id, list_name, location, members, messaging, notes, parent, priority, proximity, radius, shared, tags, title, url, utc_offset
--itp=PROPERTIES - Include only these task properties--etp=PROPERTIES - Exclude these task properties--atp=PROPERTIES - Add properties to default listUse --iep=all or --itp=all to include all properties.
--sort=PROPERTY - Sort by property--std - Sort tasks by due date-r - Reverse sort order--sc - Separate by calendar--sd - Separate by date--sp - Separate by priority--li=N - Limit to N itemsicalpal eventsToday -o json
icalpal eventsToday+7 --ic="chuck@replicated.com" -o json
icalpal eventsToday+14 --et=Birthdays -o json
icalpal datedTasks --std -o json
icalpal tasks --il="To Do" -o json
icalpal events --match=title=meeting -o json
icalpal eventsRemaining --iep=title,start_date,end_date,location,attendees -o json
icalpal calendars -o json
title - Event titlestart_date - Start time (Unix timestamp in event's timezone)end_date - End time (Unix timestamp)sseconds / eseconds - Start/end as Unix epoch secondssdate / edate - Relative date strings ("today", "tomorrow", etc.)sctime / ectime - Formatted datetime stringsall_day - 1 if all-day event, 0 otherwisecalendar - Calendar nameaccount - Account name (Google, iCloud, etc.)location - Event locationattendees - Array of attendee emailsnotes - Event description/notesconference_url_detected - Video conference URL if detectedtitle - Task titledue_date - Due date (Unix timestamp, null if undated)due - Formatted due date stringpriority - Priority (0=none, 1=high, 2=medium, 3=low)long_priority - Human-readable prioritycompleted - 1 if completed, 0 otherwiseflagged - 1 if flagged, 0 otherwiselist_name - Reminder list namenotes - Task notestags - Array of tags