alarmkit

Installation
SKILL.md

AlarmKit

System-level alarms and countdown timers on iOS 26+ that sound through Silent Mode and Focus. The deep API reference — every component, authorization, scheduling, countdowns, Live Activity integration, App Intents, custom sounds, and a full worked example — lives in references/guide.md. This file is the decision and discipline layer: read it first, open the guide for specifics.

Dials

Set these explicitly at the start; they change what "correct" means.

  1. ALARM_KIND — scheduled (fires at a wall-clock time; Alarm.Schedule.fixed for one-shot or .relative for recurring/timezone-adaptive) · countdown (a running timer with countdown/paused UI; needs a Widget Extension) · both (a scheduled alarm that then runs a postAlert countdown, e.g. snooze).
  2. SECONDARY_ACTION — none (stop button only) · snooze (secondaryButtonBehavior: .countdown + a postAlert duration) · custom (secondaryButtonBehavior: .custom + a LiveActivityIntent to open the app or run logic).
  3. LIVE_ACTIVITY — none (plain scheduled alarm, no countdown UI needed) · required (any countdown surface — you MUST ship a Widget Extension with an ActivityConfiguration(for: AlarmAttributes<Metadata>.self), see the activitykit skill).

When to use

Building or reviewing any alarm or timer that must fire reliably regardless of mute/Focus — wake-up alarms, cooking/medication timers, workout intervals, time-critical reminders. Do NOT reach for AlarmKit for ordinary reminders or marketing nudges; that abuse is rejected at review and is what UserNotifications is for. If the alarm shows a live countdown, the countdown UI is a Live Activity — use the activitykit skill for the widget.

Core rules

Installs
1
GitHub Stars
1
First Seen
Jun 18, 2026
alarmkit — moritztucher/swift-agent-skills