Install
openclaw skills install ical-calendarQuery `.ics` calendar files, raw iCal strings, or remote iCal feeds with the local `icali` CLI. Use when a user asks for natural-language calendar lookups such as what's on a day, week, or time window, whether a person appears in upcoming meetings, or when filtering iCal events by summary, description, location, date range, status, or component type.
openclaw skills install ical-calendarUse this skill when the user explicitly wants .ics or iCal data, or when the available source is an iCal file, string, or feed.
Before querying, identify the real iCal source:
icali --file "/absolute/path/to/calendar.ics"icali --url "https://example.com/calendar.ics"icali --string "BEGIN:VCALENDAR..."--file or --url is usually clearer in agent logsNever invent a calendar source. If the source is not provided, look for one in the workspace or prior context. If none is available, say you need the .ics path, URL, or raw iCal text.
Prefer --json unless the user explicitly wants raw CLI output.
Important flags:
--date YYYY-MM-DD for one calendar day--from YYYY-MM-DD [--to YYYY-MM-DD] for a date range--from-datetime YYYY-MM-DDTHH:mm [--to-datetime YYYY-MM-DDTHH:mm] for a local time window--today as a shortcut for the active timezone--tz <IANA zone> or --utc--search <pattern> for OR search across summary, description, and location--field <k=v> for exact field targeting with AND semantics across repeats--field-any <k=v> for OR search across named fields--limit <n> for the next few matches--exclude-status <s> to drop cancelled items--type <name> where the default is eventSemantics:
[from, to) or [from-datetime, to-datetime)--to and --to-datetime are exclusive--from and --from-datetime may be used without an end value for open-ended upcoming queries--date cannot be combined with range flags--field filters are ANDed--field-any groups are ANDed, while fields inside one --field-any group are ORed--search is shorthand for OR search across summary, description, and location--exclude-status matches statuses case-insensitively and may be repeated--tz when local day boundaries matter--exclude-status CANCELLED--limit--jsonicali.Use:
icali --file "/path/to/calendar.ics" --today --json
If the timezone should be explicit:
icali --file "/path/to/calendar.ics" --today --tz Europe/London --json
Use:
icali --file "/path/to/calendar.ics" --date 2026-04-14 --json
Translate the phrase into an exact week window, then use a date range:
icali --file "/path/to/calendar.ics" --from 2026-04-13 --to 2026-04-20 --json
State the interpreted range in the answer, especially if the locale or timezone affects week boundaries.
Use a local datetime window:
icali --file "/path/to/calendar.ics" --from-datetime 2026-04-11T12:00 --to-datetime 2026-04-11T18:00 --json
Prefer --search plus an open-ended future window:
icali --file "/path/to/calendar.ics" --from 2026-04-11 --search "/stacey/i" --exclude-status CANCELLED --json
If the user asks for only the next few:
icali --file "/path/to/calendar.ics" --from 2026-04-11 --search "/stacey/i" --exclude-status CANCELLED --limit 3 --json
Use --field when the field itself matters:
icali --file "/path/to/calendar.ics" --field "summary=/review/i" --json
Use --field-any when the match may appear in one of several fields:
icali --file "/path/to/calendar.ics" --field-any "summary,description,location=/review/i" --json
Use:
icali --file "/path/to/calendar.ics" --from 2026-04-11 --to 2026-04-18 --exclude-status CANCELLED --json
Prefer these defaults:
--date or --today--from and --to--from-datetime and --to-datetime--search "/name/i"--exclude-status CANCELLED--limitUse fielded matching only when needed:
--search is the simplest natural-language default--field is for exact field targeting--field-any is for named-field OR matchingAvoid these mistakes:
.ics source--date when the user asked for a range--field flags when the user really wants OR semantics--to and --to-datetime are exclusiveReturn a normal calendar answer, not a CLI transcript.
Include:
If the request is underspecified, say exactly what is missing:
.ics file or feed found