creating-ics-files
Creates RFC 5545-compliant .ics calendar files from documents or metadata. Use when the user asks to create calendar events, meeting invites, or .ics files.
When & Why to Use This Skill
The ICS File Creator is a specialized Claude skill that automates the generation of RFC 5545-compliant .ics calendar files from unstructured text, documents, or metadata. It streamlines the scheduling workflow by accurately extracting event titles, timezones, locations, and attendee details to create ready-to-use meeting invites compatible with Google Calendar, Microsoft Outlook, and Apple Calendar.
Use Cases
- Converting project timelines or meeting minutes into downloadable calendar events to ensure team alignment.
- Generating professional meeting invites from brief email descriptions, including multiple attendees and RSVP requirements.
- Setting up complex recurring schedules (weekly syncs, monthly reviews) using precise RRULE syntax for automated calendar management.
- Standardizing event timezones for global teams to prevent scheduling conflicts across different geographic regions.
- Creating bulk calendar files from document data extraction to simplify event planning and registration processes.
| name | creating-ics-files |
|---|---|
| description | > |
ICS File Creator
Creates .ics (iCalendar) files from documents or metadata provided by the user.
Default Assumptions
- Timezone: US Central (America/Chicago - Minneapolis) unless specified otherwise
Required Information
Before creating an ICS file, ensure you have:
- Event title/summary - from the document or user input
- Date and time - start and end times
- Location - if not provided, ask the user
- Invitees - if not provided, ask the user for attendee email addresses
- Notes/description - if not provided, ask the user
Workflow
- Parse the provided document or metadata to extract event details
- Identify any missing required information (location, invitees, notes)
- Ask the user for any missing information before proceeding
- Generate the ICS file
- Display a detailed summary for verification (see below)
ICS File Format
Use this template for generating events:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ICS Generator//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
UID:{unique-id}@generated
DTSTAMP:{current-utc-timestamp}
DTSTART;TZID=America/Chicago:{start-datetime}
DTEND;TZID=America/Chicago:{end-datetime}
SUMMARY:{event-title}
LOCATION:{location}
DESCRIPTION:{notes}
ORGANIZER;CN={organizer-name}:mailto:{organizer-email}
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN={attendee-name}:mailto:{attendee-email}
END:VEVENT
END:VCALENDAR
Date/Time Formats
- With timezone:
DTSTART;TZID=America/Chicago:20250115T140000 - All-day events:
DTSTART;VALUE=DATE:20250115 - UTC:
DTSTART:20250115T200000Z
Multiple Attendees
Add one ATTENDEE line per invitee:
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Alice:mailto:alice@example.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Bob:mailto:bob@example.com
Verification Summary
After creating the ICS file, ALWAYS display a detailed summary like this:
## Event Summary
**Title**: Weekly Team Standup
**Date**: Wednesday, January 15, 2025
**Time**: 2:00 PM - 2:30 PM (US Central - America/Chicago)
**Duration**: 30 minutes
**Location**: Conference Room A / https://zoom.us/j/123456789
**Invitees**:
- Alice Smith <alice@example.com>
- Bob Jones <bob@example.com>
**Notes**:
Weekly sync to discuss project progress and blockers.
**File**: meeting.ics
This allows the user to manually verify all event details are correct before using the file.
Recurring Events
For recurring events, add an RRULE:
- Weekly:
RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR - Daily:
RRULE:FREQ=DAILY - Monthly:
RRULE:FREQ=MONTHLY;BYMONTHDAY=15 - With end date:
RRULE:FREQ=WEEKLY;UNTIL=20251231T235959Z - With count:
RRULE:FREQ=WEEKLY;COUNT=10
Validation Checklist
Before returning the ICS file, verify:
- All
BEGIN:/END:blocks are correctly paired - Required properties present:
UID,DTSTAMP,DTSTART,DTEND,SUMMARY - Timezone is correctly specified (default: America/Chicago)
- All attendee email addresses are valid format
- Location is included
- Description/notes are included
- For recurring events, RRULE syntax is valid