AgentStack
SKILL verified MIT Self-run

Swiftui Alarmkit

skill-ariadoss-superskills-swiftui-alarmkit · by ariadoss

Schedule alarms and countdown timers in iOS apps using AlarmKit. Use when implementing alarm functionality, timer features, AlarmKit integration, snooze/stop controls, Dynamic Island alarm displays, or focus mode override. Requires iOS 18+.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-ariadoss-superskills-swiftui-alarmkit

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-ariadoss-superskills-swiftui-alarmkit)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
today

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Swiftui Alarmkit? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

AlarmKit

iOS 18+ framework for scheduling alarms and countdown timers with custom UI, Live Activities, and focus/silent mode override capabilities.

When This Skill Activates

Use this skill when the user needs to:

  • Implement alarm or timer functionality
  • Reference AlarmKit, AlarmManager, or AlarmPresentation
  • Create one-time, repeating, or countdown alarms
  • Add snooze/stop controls
  • Display content on Dynamic Island or Lock Screen
  • Override Focus or silent mode

Reference Structure

  • scheduling.md: Authorization setup, alarm creation, management, state observation
  • presentation.md: Alert/countdown/paused UI customization, buttons, tint colors
  • live-activities.md: Widget integration, AlarmAttributes, Dynamic Island display

All APIs require iOS 18 or later.

Critical Mistakes to Avoid

| # | Mistake | Correct Approach | |---|---------|-----------------| | 1 | Using .authorizationStatus | Use .authorizationState | | 2 | Missing Info.plist entry | Add NSAlarmKitUsageDescription before requesting authorization | | 3 | Schedule parameter with countdown timers | Timers use only CountdownDuration — no schedule parameter | | 4 | No widget extension | Countdown and paused presentations require an ActivityConfiguration(for: AlarmAttributes.self) widget | | 5 | Not persisting alarm UUIDs | Store alarm IDs for pause/resume/cancel operations | | 6 | Not observing state changes | Subscribe to alarmUpdates async sequence for synchronization |

Quick Start Pattern

import AlarmKit

// 1. Request authorization
let manager = AlarmManager.shared
guard await manager.requestAuthorization() == .authorized else { return }

// 2. Create an alarm
let alarm = try await manager.schedule(
    AlarmRequest(
        id: UUID(),
        schedule: .oneTime(date: targetDate),
        presentation: .alert
    )
)

// 3. Persist the alarm ID
UserDefaults.standard.set(alarm.id.uuidString, forKey: "savedAlarmId")

// 4. Observe state changes
for await update in manager.alarmUpdates {
    // Handle alarm state changes
}

Validation Checklist

Before deploying:

  • [ ] NSAlarmKitUsageDescription in Info.plist
  • [ ] Authorization flow implemented and tested
  • [ ] Using .authorizationState (not .authorizationStatus)
  • [ ] Alarm UUIDs persisted
  • [ ] alarmUpdates sequence observed
  • [ ] Widget extension present (if countdown/paused UI needed)
  • [ ] Error handling for all alarm operations
  • [ ] Tested on real device (not simulator)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.