Calendar Generator
/install ics-generator
ics‑generator
When to use
When you need to convert a schedule, study plan, or task list into an iCalendar (.ics) file that can be imported into Google Calendar or any other iCalendar‑compatible client.
Workflow Overview
-
Collect structured events – each event must contain: -
summary(string) -description(string, optional) -start(ISO‑8601 date/time or JSDate) -end(ISO‑8601 date/time or JSDate) -colorId(Google Calendar colour ID, optional) -
Chunking / sequential dates - First chunk – supply the intended start date (e.g.,
2026‑05‑31T09:00:00Z). - Subsequent chunks – pass the last date of the previous chunk (via thelastDatefield). The skill will automatically shift the next chunk’s start date forward by one day, guaranteeing a clean “one‑day‑gap” between chunks. -
Run the skill – invoke the
runfunction exported byindex.jswith the event array and optionallastDate.
Implementation Notes
| Feature | Details |
|---|---|
| Google‑Calendar compatibility | Automatically injects the required headers:\x3Cbr>PRODID:-//Google Inc//Google Calendar 70.6//EN \x3Cbr>CALSCALE:GREGORIAN |
| UTC enforcement | All start/end times are normalized to UTC and formatted as YYYYMMDDTHHMMSSZ. Google Calendar accepts this exact format without further conversion. |
| Unique identifiers | Each event receives a UUID‑v4‑derived UID (event-\x3Cuuid>) so calendar clients can correctly sync updates. |
| Color handling | If a colorId is supplied, it’s added as X‑GOOGLE‑CALENDAR‑COLOR:\x3Cid> inside the VEVENT block. |
| Output | Returns a complete .ics string wrapped in BEGIN:VCALENDAR … END:VCALENDAR. Every VEVENT ends with END:VEVENT and the final block ends with END:VCALENDAR. |
| Dependencies | Node ≥ 20 (for crypto.randomUUID()). No external npm packages—pure JavaScript plus Node’s built‑in crypto module. |
| License | MIT – free to copy, modify, and share. |
Why the specific PRODID / CALSCALE?
From community feedback, Google Calendar only imported the generated file when those exact values were present. A generic PRODID caused the “Unable to launch event” error; CALSCALE:GREGORIAN tells Google Calendar which calendar system to assume (Gregorian), which is required for proper time‑zone handling.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install ics-generator - After installation, invoke the skill by name or use
/ics-generator - Provide required inputs per the skill's parameter spec and get structured output
What is Calendar Generator?
Generates Google Calendar‑compatible .ics files from structured event data. It is an AI Agent Skill for Claude Code / OpenClaw, with 36 downloads so far.
How do I install Calendar Generator?
Run "/install ics-generator" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Calendar Generator free?
Yes, Calendar Generator is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Calendar Generator support?
Calendar Generator is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Calendar Generator?
It is built and maintained by Zhengqun Koo (@zhengqunkoo); the current version is v1.0.0.