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
6/2/2026
Claude Code
#calendar#ics#event-export#scheduling

Recommended for

Automated summary

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

How this analysis is made

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

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/ics-calendar-event-generator-mma3js34' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ics-calendar-event-generator-mma3js34/download' --output '.skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md.part' && mv '.skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md.part' '.skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md' && test -s '.skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ics' && cp -R '.skill-downloads/ics-calendar-event-generator-mma3js34' '.claude/skills/ics'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/ics-calendar-event-generator-mma3js34'

openskills read 'ics-calendar-event-generator-mma3js34'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/ics-calendar-event-generator-mma3js34/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills