Agent skill · software engineering · dpearson2699

eventkit

Create, read, and manage calendar events and reminders using EventKit and EventKitUI. Use when adding events to the user's calendar, creating reminders, setting recurrence rules, requesting calendar or reminders access, presenting event editors, choosing calendars, handling alarms, observing calendar changes, or working with EKEventStore, EKEvent, EKReminder, EKCalendar, EKRecurrenceRule, EKEventEditViewController, EKCalendarChooser, or EventKitUI views.

Why this skill is useful

Provides specific commands and patterns for managing calendar events and reminders using EventKit that the AI wouldn't reliably generate on its own.

What it needs

About 7k tokens when loaded. Last updated 2026-07-31. 973 stars on the source repository.

What this skill does

EventKit Use EventKit for calendar and reminder authorization, CRUD, recurrence, alarms, and system editors. Contents Availability Setup Authorization Creating Events Fetching Events Reminders Recurrence Rules Alarms EventKitUI Controllers Observing Changes Common Mistakes Review Checklist References Availability iOS 17+: Use granular full/write-only request methods; legacy requestAccess(to:) no longer prompts and throws. The system event editor can create an event without app calendar access. For iOS 10–16, guard those APIs, use the legacy request plus NSCalendarsUsageDescription / NSRemindersUsageDescription; EventKitUI may also need NSContactsUsageDescription. iOS 26+: The typed EKEventStore.EventStoreChanged / .changed message is available behind a guard. Keep EKEventStoreChanged for earlier systems. Setup Info.plist Keys Add the usage description for the access path selected in Authorization. Do not request broader access merely to simplify the setup path. The authorization-free system editor path needs no calendar usage string. Direct writes need write-only or full access; reads need full access. Reminders have only full access. Event Store Create a single EKEventStore instance and reuse it. Do not mix objects from different event stores. Authorization Request the narrowest access that matches the feature. Apply the versioned request path in Availability. Key Access Level --- --- NSCalendarsFullAccessUsageDescription Read + write events NSCalendarsWriteOnlyAccessUsageDescription Direct write-only event creation NSRemindersFullAccessUsageDescription Read + write reminders Full Access to Events Call try await eventStore.requestFullAccessToEvents() when the app needs to read, edit, delete, or fetch calendar events. Write-Only Access to Events Use when your app only creates events (e.g., saving a booking) and does not need to read existing events. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills dpearson2699/eventkit

View the source on GitHub

Browse the @skills marketplace