Read, parse, and summarize iCalendar (.ics) files from Google Calendar, Apple Calendar, and similar providers. Use when extracting upcoming events, filtering by date range, converting ICS events to JSON/text, or debugging calendar fields like DTSTART/DTEND/TZID/RRULE.
95
93%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Parse .ics files with scripts/read_ics.py instead of hand-parsing text.
ICS_URLS to one or more calendar URLs (comma-separated).
export ICS_URLS="https://example.com/a.ics,https://example.com/b.ics"~/.config/stu-skills/ics-calendar-reader/.env
ics-calendar-reader/.env-path automatically.ICS_URLS is missing and no ics_path is provided, the script exits with an instruction for the agent to ask the user for it.--url inputs by design and instructs using ICS_URLS from .env.ICS_URLS entries using webcal:// or webcals:// are normalized to https:// automatically.Path: ~/.config/stu-skills/ics-calendar-reader/.env
ICS_URLS="https://example.com/a.ics,https://example.com/b.ics"python3 scripts/read_ics.py /path/to/calendar.ics --format jsonpython3 scripts/read_ics.py --format jsonpython3 scripts/read_ics.py /path/to/calendar.ics --after now --limit 20 --format jsonpython3 scripts/read_ics.py /path/to/calendar.ics --after 2026-02-01T00:00:00 --before 2026-03-01T00:00:00 --format jsonpython3 scripts/read_ics.py --after now --limit 20 --format jsonpython3 scripts/read_ics.py /path/to/calendar.ics --format text--cache-ttl (seconds) or ICS_CACHE_TTL_SECONDS.--cache-ttl 0.--cache-dir or ICS_CACHE_DIR.$XDG_CACHE_HOME/stu-skills/ics-calendar-reader~/.cache/stu-skills/ics-calendar-reader when XDG_CACHE_HOME is unset.Expect each event to include:
summarystart (ISO-8601)end (ISO-8601 when available)all_day (boolean)locationdescriptionstatusuidorganizerattendeesSat 7 Feb 2026 16:43 (%a %-d %b %Y %H:%M).references/ics-fields.md for quick field semantics.ICS_URLS and avoid inline URLs entirely.8dd0dc8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.