Build an ics calendar
build_icsCreate a valid .ics calendar file from dated events and recurring classes, excluding holidays and reading weeks and adding reminders.
Instructions
Build a valid .ics calendar file from dated events and recurring classes, with reminders. Inputs: events (each with title, date, optional start_time, end_time, type, course, location and notes), classes (each with course, weekdays, start_date, end_date, start_time and optional end_time, location, holidays and reading_weeks), reminders_minutes (whole minutes before each event, default 60), calendar_name and optional output_path. Each class becomes one weekly recurring event with holidays and reading weeks removed. The tool checks the file before returning it. Example prompt: "Make an .ics file for my course with a reminder one day before each assignment."
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| events | No | Dated events such as assignments and exams. | |
| classes | No | Recurring classes to add as weekly events. | |
| output_path | No | Optional file path. When it is passed, the calendar is written there as a .ics file. | |
| calendar_name | No | Name shown in the calendar app. Defaults to "Course calendar". | |
| reminders_minutes | No | Reminder times in whole minutes before an event. Defaults to [60]. Pass an empty array for no reminders. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ics | Yes | The calendar file as text, with CRLF line breaks. | |
| valid | Yes | True when the calendar passed the built in checks. | |
| errors | Yes | Problems found by the checks. Empty when the calendar is valid. | |
| class_count | Yes | How many recurring classes the calendar holds. | |
| event_count | Yes | How many single events the calendar holds. | |
| output_path | Yes | The file path the calendar was written to, or null when no path was passed. | |
| class_meetings | Yes | How many class meetings the recurring events produce after skips. |