LogoAwesome Skills
  • Search
  • Category
  • Tag
  • Blog
LogoAwesome Skills
LogoAwesome Skills

Discover Open-Source Agent Skills for AI Coding Assistants

Product

  • Search
  • Category
  • Tag
  • Blog

Resources

  • Claude Skill Docs
  • Antigravity Skills Docs

Tools

  • Claude Code
  • OpenCode
  • Cursor
  • Codex
  • Antigravity

Company

  • Privacy Policy
  • Terms of Service
  • Sitemap

©2026 Awesome Skills. All rights reserved.

Privacy PolicyTerms
Back to Skills

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.

851stars43forksUpdated 7/8/2026
Developer Tools#ios#calendar#mobile-development#eventkit#swift

Security Assessment

Safe(100/100)
Security Score100/100

About eventkit

eventkit covers creating, reading, and managing calendar events and reminders with EventKit and EventKitUI, targeting Swift 6.3 and iOS 26+. It spans authorization, event and reminder CRUD, recurrence rules, alarms, the EventKitUI editors, and observing store changes. Setup starts with Info.plist usage-description keys chosen by access level: NSCalendarsFullAccessUsageDescription for read and write, NSCalendarsWriteOnlyAccessUsageDescription for direct write-only creation, and NSRemindersFullAccessUsageDescription for reminders, plus legacy keys for iOS 10 through 16. A single EKEventStore instance is created and reused throughout, and objects from different stores are never mixed.

Authorization follows the granular iOS 17+ model: requestFullAccessToEvents for reading, editing, deleting, or fetching; requestWriteOnlyAccessToEvents for apps that only create events and never read them; and requestFullAccessToReminders for reminders. Only .fullAccess supports reads, and notably an app that merely presents EKEventEditViewController to let the person create an event needs no calendar authorization at all on iOS 17+.

Events are built as EKEvent objects and saved with a span such as .thisEvent, optionally targeting a specific writable calendar or attaching an EKStructuredLocation. Fetching uses date-range predicates that expand recurring occurrences, capped to a four-year span, and runs synchronously; reminders instead fetch asynchronously through a completion handler. Recurrence is expressed with EKRecurrenceRule, from simple frequency-and-interval rules with an optional EKRecurrenceEnd to complex rules using EKRecurrenceDayOfWeek and related components. The guide also includes alarms, EventKitUI controllers, change observation, and common-mistakes and review-checklist sections to steer correct usage.

FAQ

What does this skill let an app do?

Create, read, and manage calendar events and reminders, covering authorization, event and reminder CRUD, recurrence rules, alarms, and EventKitUI editors on Swift 6.3 and iOS 26+.

What authorization levels exist on iOS 17+?

Granular access: full access to events (requestFullAccessToEvents), write-only access to events (requestWriteOnlyAccessToEvents), and full access to reminders (requestFullAccessToReminders). Only .fullAccess supports reading events or reminders.

When can an app skip calendar authorization?

On iOS 17+, an app that only presents EKEventEditViewController to let the person create an event needs no calendar authorization or usage strings; direct EventKit writes still need write-only or full access.

What Info.plist keys are required?

NSCalendarsFullAccessUsageDescription, NSCalendarsWriteOnlyAccessUsageDescription, and NSRemindersFullAccessUsageDescription, plus legacy NSCalendarsUsageDescription and NSRemindersUsageDescription (and NSContactsUsageDescription for EventKitUI) on iOS 10 through 16.

How are recurring events created?

With EKRecurrenceRule: simple rules by frequency and interval with an optional EKRecurrenceEnd, or complex rules using EKRecurrenceDayOfWeek and related components; changes are saved with a span such as .thisEvent.

All Files

3 files
evals/evals.json3.9 KB
View
references/eventkit-patterns.md10.0 KB
View
SKILL.md15.1 KB
View

Install eventkit

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

dpearson2699/swift-ios-skills

Related Skills

short-form-video

14

multi-asset-morning-briefing

7,907

content-strategy

2,901

doherty-threshold

2,901