CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary skill body: executable Swift throughout, an explicit authorization workflow with version gating, wrong/right contrast pairs in Common Mistakes, and a validation checklist with error-recovery guidance for batch operations. The only improvement space is trimming a few redundant section-intro sentences.

DimensionReasoningScore

Conciseness

The body is dominated by complete, uncommented-except-where-useful Swift code with terse policy guidance ("Create a single `EKEventStore` instance and reuse it"), and no tutorial-style padding about what EventKit is. A handful of one-liners restate their own section titles ("Attach alarms to events or reminders to trigger notifications", "Use `EKRecurrenceRule` to create repeating events or reminders") and could be trimmed, which places it at the efficient-with-minor-trims anchor rather than the every-token-earns-its-place anchor.

4 / 5

Actionability

Nearly all guidance is copy-paste-ready executable Swift — full functions for creating events, fetching via predicate, reminders with continuation-based async bridging, recurrence, alarms, the event editor coordinator with delegate callback, and change observation — covering the common cases. It is not a 4 because there are no pseudocode blocks and no missing key API details; even version-specific API splits (iOS 17+ vs legacy, iOS 26+ typed notifications) are concrete.

5 / 5

Workflow Clarity

The multi-step flow (availability split → Info.plist keys per access path → narrowest authorization gate → operation) is explicitly sequenced via cross-referenced gates ("After the full-access gate in [Authorization](#authorization)"), and a Review Checklist provides validation checkpoints including an error-recovery feedback loop for batch saves ("on failure `reset()` unsaved state, discard every invalidated `EKObject`, then refetch or reconstruct before retry"). Because batch operations do have explicit validation and recovery guidance, the destructive/batch cap does not apply, and it matches the top anchor with feedback loops and checklists.

5 / 5

Progressive Disclosure

The main file is a well-navigated overview (Contents TOC, anchored sections) that keeps core patterns inline and pushes extended material to a single, clearly signaled, one-level-deep reference — references/eventkit-patterns.md is a real 405-line file containing SwiftUI integration, advanced predicates, batch operations, and typed notifications, linked both from the Alarms section and the References section. It is not a 4 because nothing that belongs in the reference is buried in the main file, no nesting exceeds one level, and external links are clearly grouped.

5 / 5

Total

19

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, concrete capability list, explicit "Use when" triggers, and full API-class coverage that makes it both discoverable and hard to confuse with other skills. The only weakness is that some natural-language synonyms users might say (schedule, recurring, to-dos) are traded for API class names.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions covering the framework surface — "Create, read, and manage calendar events and reminders", "setting recurrence rules", "requesting calendar or reminders access", "presenting event editors", "choosing calendars", "handling alarms", "observing calendar changes" — which matches the comprehensive-coverage anchor. It is not a 4 because the action list spans creation, reads, authorization, UI editors, and change observation with no notable capability gaps.

5 / 5

Completeness

It explicitly answers both questions: the first sentence states what it does ("Create, read, and manage calendar events and reminders using EventKit and EventKitUI") and "Use when adding events..." gives concrete trigger phrases, matching the top anchor. A 4 would require the when-clause to be less explicit, which is not the case.

5 / 5

Trigger Term Quality

Natural phrases users would say are present ("adding events to the user's calendar", "creating reminders", "calendar events", "alarms") alongside the full class-name inventory (EKEventStore, EKEvent, EKRecurrenceRule, etc.). It is below the comprehensive-synonyms anchor because common user phrasings like "schedule an event", "repeating/recurring events", or "to-dos" are absent while the tail of the description leans on API class names rather than natural language.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — Apple EventKit/EventKitUI calendar and reminder management — with distinct triggers (specific frameworks, classes, and UI controllers), so overlap risk with other skills is minimal. It is not a 4 because no closely related skill's territory is ambiguously claimed; the framework names disambiguate fully.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

dpearson2699/swift-ios-skills

Path

skills/eventkit/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.