Install
$ agentstack add skill-ariadoss-superskills-swiftui-alarmkit ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
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 →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:
- [ ]
NSAlarmKitUsageDescriptionin Info.plist - [ ] Authorization flow implemented and tested
- [ ] Using
.authorizationState(not.authorizationStatus) - [ ] Alarm UUIDs persisted
- [ ]
alarmUpdatessequence 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.
- Author: ariadoss
- Source: ariadoss/superskills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.