MCPInstall

alarmkit

AlarmKit integration for scheduling alarms and timers with custom UI, Live Activities, and snooze support. Use when implementing alarm or timer features in iOS 26+ apps.

Installs
73
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/rshankras/claude-code-apple-skills --skill alarmkit
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads alarmkit automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

AlarmKit

Framework for scheduling alarms and countdown timers with custom UI, Live Activities integration, and focus/silent mode override. Prevents the most common mistakes: using the wrong authorization property name, omitting the Info.plist key, and forgetting the widget extension for countdown presentations.

When This Skill Activates

Use this skill when the user:

  • Asks to add, fix, or review alarm or timer functionality
  • Mentions AlarmKit, AlarmManager, or AlarmPresentation
  • Wants to schedule one-time, repeating, or countdown alarms
  • Asks about snooze, stop, or repeat buttons on alarm alerts
  • Wants alarms to appear on Dynamic Island or Lock Screen (Live Activities)
  • Mentions overriding Focus or silent mode for alarms
  • Asks about AlarmAttributes or AlarmMetadata

Decision Tree

Choose the right reference file based on what the user needs:

What do you need?
|
+-- Schedule an alarm (one-time, repeating, or timer)
|   --> scheduling.md
|       +-- One-time alarm: Alarm.Schedule.relative + .repeats: .never
|       +-- Repeating alarm: Alarm.Schedule.relative + .repeats: .weekly(weekdays)
|       +-- Countdown timer: CountdownDuration (no schedule)
|       +-- Authorization & Info.plist setup
|       +-- Managing alarms: pause, resume, cancel
|
+-- Customize alarm UI (alert, countdown, paused screens)
|   --> presentation.md
|       +-- AlarmPresentation.Alert: title, stop, snooze/repeat buttons
|       +-- AlarmPresentation.Countdown: title, pause button
|       +-- AlarmPresentation.Paused: title, resume button
|       +-- Custom buttons with AlarmButton
|       +-- Tint color and metadata via AlarmAttributes
|
+-- Show alarm on Dynamic Island / Lock Screen
    --> live-activities.md
        +-- Widget extension with ActivityConfiguration
        +-- AlarmAttributes conformance
        +-- Custom AlarmMetadata protocol

API Availability

APIMinimum VersionReference
AlarmManageriOS 26scheduling.md
Alarm / Alarm.ScheduleiOS 26scheduling.md
AlarmPresentation (.alert, .countdown, .paused)iOS 26presentation.md
AlarmAttributesiOS 26live-activities.md
AlarmMetadataiOS 26live-activities.md
AlarmButtoniOS 26presentation.md
CountdownDurationiOS 26scheduling.md
alarmUpdates async sequenceiOS 26scheduling.md
authorizationUpdates async sequenceiOS 26scheduling.md

Top Mistakes -- Quick Reference

#MistakeFixDetails
1Using .authorizationStatus instead of .authorizationStateThe property is AlarmManager.shared.authorizationState -- there is no authorizationStatusscheduling.md
2Forgetting NSAlarmKitUsageDescription in Info.plistAdd the key with a user-facing string before calling requestAuthorization()scheduling.md
3Creating countdown timer with a scheduleTimers use CountdownDuration only -- do not pass a schedulescheduling.md
4Missing widget extension for countdown presentationsCountdown and paused UI requires an ActivityConfiguration(for: AlarmAttributes.self) widgetlive-activities.md
5Not persisting alarm UUIDsStore the Alarm.id (UUID) so you can pause, resume, or cancel laterscheduling.md
6Not observing alarmUpdates for state syncUse the alarmUpdates async sequence to keep local state in sync with the systemscheduling.md

Review Checklist

When reviewing AlarmKit code, verify:

  • Info.plist -- NSAlarmKitUsageDescription is present with a meaningful description
  • Authorization -- requestAuthorization() is called before scheduling; denial is handled gracefully
  • Correct property -- uses .authorizationState, not .authorizationStatus
  • Alarm ID persistence -- alarm UUIDs are stored (e.g., UserDefaults, SwiftData) for later management
  • State observation -- alarmUpdates async sequence is used to keep UI in sync
  • Widget extension -- exists if countdown or paused presentations are used
  • Error handling -- schedule(), pause(), resume(), cancel() calls handle errors
  • System limits -- code accounts for the system limit on number of active alarms
  • Real device testing -- alarms are tested on physical devices, not just Simulator

Reference Files

FileContent
scheduling.mdAuthorization, one-time/repeating/timer creation, managing alarms, observing updates
presentation.mdAlert, countdown, paused UI customization, buttons, tint color
live-activities.mdWidget extension, AlarmAttributes, AlarmMetadata, Dynamic Island

FAQ

What does the alarmkit skill do?

AlarmKit integration for scheduling alarms and timers with custom UI, Live Activities, and snooze support. Use when implementing alarm or timer features in iOS 26+ apps.

How do I install alarmkit?

Run npx skills add https://github.com/rshankras/claude-code-apple-skills --skill alarmkit in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/alarmkit/ (personal) or .claude/skills/alarmkit/ (project).

Which AI agents can use alarmkit?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is alarmkit safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains alarmkit?

It is published by rshankras in rshankras/claude-code-apple-skills. It has 73 recorded installs.

More from rshankras/claude-code-apple-skills

View all →

macos-development

rshankras/claude-code-apple-skills

Comprehensive macOS development guidance including Swift 6+, SwiftUI, SwiftData, architecture patterns, AppKit bridging, and macOS 26 Tahoe APIs. Use for macOS code review, best practices, UI review, or platform-specific features.

ios-development

rshankras/claude-code-apple-skills

Comprehensive iOS development guidance including Swift best practices, SwiftUI patterns, UI/UX review against HIG, and app planning. Use for iOS code review, best practices, accessibility audits, or planning new iOS apps.

Mobile823 installs

design

rshankras/claude-code-apple-skills

Design skills for Apple platform UI — Liquid Glass, animations, game feel (haptics, sound, celebrations), UI prototyping, UX writing, SF Symbols, and typography. Use when implementing design language features, adding juice/feedback, writing interface copy, or choosing type and iconography.

Frontend & Design680 installs

app-store

rshankras/claude-code-apple-skills

App Store optimization and marketing skills for descriptions, screenshots, keywords, review responses, and comprehensive promotional strategy. Use when user needs help with App Store presence, ASO, marketing, or customer communication.

Mobile599 installs

watchos

rshankras/claude-code-apple-skills

watchOS development guidance including SwiftUI for Watch, Watch Connectivity, complications, and watch-specific UI patterns. Use for watchOS code review, best practices, or Watch app development.

product-development

rshankras/claude-code-apple-skills

End-to-end product development for iOS/macOS apps. Covers market research, competitive analysis, PRD generation, architecture specs, UX design, implementation guides, testing, and App Store release. Use for product planning, validation, or generating specification documents.

Testing & QA554 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs