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.
Use this skill when you need to quickly convert booking confirmations or event details into ready-to-import calendar files.
Avoid this skill for complex calendar management needs (synchronization, recurring events) or when screenshot quality is poor.
Security analysis
SafeThe 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 madeExamples
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?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
-
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
-
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.)
-
Handle time zones:
- Ask user for their local timezone if times appear ambiguous
- Convert all times to UTC for the .ics file
- Include
TZIDif needed for display purposes
-
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
- Save the file:
- Default filename:
{event-type}-{date}.ics(e.g.,flight-2025-01-15.ics) - Save to current directory or user-specified path
- Default filename:
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
\nfor 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 filesThis 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.mdFrom 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 installationopenskills 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 syncManual 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.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.