ICS Calendar Event Generator

VerifiedSafe

Automatically extracts event details (flights, hotels, meetings) from text or screenshots and generates .ics files ready for import into Apple Calendar, Google Calendar, or Outlook. Helps quickly convert booking confirmations into calendar events without manual entry.

Sby Skills Guide Bot
ProductivityIntermediate
406/2/2026
Claude Code
#calendar#ics#event-export#scheduling

Recommended for

Our review

Extracts event details from text or screenshots and generates .ics files for import into Apple Calendar, Google Calendar, or Outlook.

Strengths

  • Automatically handles timezone conversions to UTC.
  • Produces standards-compliant .ics files compatible with all major calendar apps.
  • Supports multiple event types (flight, hotel, generic) with tailored templates.

Limitations

  • Requires manual user input for ambiguous timezones.
  • Screenshot parsing depends on clear text visibility (no advanced OCR).
  • Does not support recurring events or alarms.
When to use it

Use this skill when you need to quickly convert booking confirmations or event details into ready-to-import calendar files.

When not to use it

Avoid this skill for complex calendar management needs (synchronization, recurring events) or when screenshot quality is poor.

Security analysis

Safe
Quality score92/100

The skill only guides the generation of .ics calendar files from user-provided text or images. It does not execute any shell commands, network requests, or file deletion. The Read tool may access local files, but only as instructed by the user, and no sensitive data is exfiltrated.

No concerns found

Examples

Flight to ICS
I have a flight confirmation: United Airlines UA456, Jan 20, 2025, depart SFO 8:30 AM, arrive ORD 2:45 PM, confirmation ABC123. Can you make a calendar event?
Hotel stay to ICS
I'm checking into the Marriott Downtown on March 5, 2025 and checking out March 8, 2025. Address: 123 Main St, Chicago, IL. Confirmation: H7890. Generate an ICS file.

name: ics description: This skill should be used when the user asks to "create calendar event", "add to calendar", "generate ics", "export to ical", or shares a flight/hotel/event booking screenshot or text to convert to calendar format.

/ics

Extract event details from text or screenshots and generate .ics files for import into Apple Calendar, Google Calendar, or Outlook.

Instructions

  1. Identify the input type:

    • If user provides a file path to a screenshot/image, use the Read tool to view it
    • If user provides text, parse it directly
  2. Extract event details:

    • SUMMARY: Event title (e.g., "Flight AA123 SFO→JFK", "Marriott Hotel Stay")
    • DTSTART: Start date/time in UTC (format: YYYYMMDDTHHMMSSZ)
    • DTEND: End date/time in UTC
    • LOCATION: Venue, airport, hotel address
    • DESCRIPTION: Additional details (confirmation number, booking reference, etc.)
  3. Handle time zones:

    • Ask user for their local timezone if times appear ambiguous
    • Convert all times to UTC for the .ics file
    • Include TZID if needed for display purposes
  4. Generate the .ics file:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Claude Code//ICS Generator//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:{unique-id}@claude-code
DTSTAMP:{current-utc-timestamp}
DTSTART:{start-datetime}
DTEND:{end-datetime}
SUMMARY:{event-title}
LOCATION:{location}
DESCRIPTION:{details}
END:VEVENT
END:VCALENDAR
  1. Save the file:
    • Default filename: {event-type}-{date}.ics (e.g., flight-2025-01-15.ics)
    • Save to current directory or user-specified path

Event Type Templates

Flight

  • SUMMARY: Flight {airline}{number} {origin}→{destination}
  • DTSTART: Departure time (local converted to UTC)
  • DTEND: Arrival time (local converted to UTC)
  • LOCATION: Departure airport
  • DESCRIPTION: Confirmation #, seat, terminal/gate if available

Hotel

  • SUMMARY: {hotel-name} - Check-in
  • DTSTART: Check-in date at 15:00 local (default)
  • DTEND: Check-out date at 11:00 local (default)
  • LOCATION: Hotel address
  • DESCRIPTION: Confirmation #, room type, contact info

Generic Event

  • SUMMARY: Event name
  • DTSTART/DTEND: As specified
  • LOCATION: Venue
  • DESCRIPTION: Any additional details

Example Usage

Input: Screenshot of flight confirmation showing:

United Airlines UA456
Jan 20, 2025
Depart: SFO 8:30 AM → Arrive: ORD 2:45 PM
Confirmation: ABC123

Output file: flight-2025-01-20.ics

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Claude Code//ICS Generator//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:ua456-20250120@claude-code
DTSTAMP:20250120T000000Z
DTSTART:20250120T163000Z
DTEND:20250120T204500Z
SUMMARY:Flight UA456 SFO→ORD
LOCATION:San Francisco International Airport (SFO)
DESCRIPTION:Confirmation: ABC123\nUnited Airlines
END:VEVENT
END:VCALENDAR

Notes

  • For multi-leg flights, create separate events for each leg
  • For hotel stays spanning multiple nights, create a single all-day event
  • Always include confirmation/booking numbers in DESCRIPTION
  • Use \n for line breaks within DESCRIPTION field
Related skills