push-notifications
Implement, review, or debug push notifications in iOS/macOS apps — local notifications, remote (APNs) notifications, rich notifications, notification actions, silent pushes, and notification service/content extensions. Use when working with UNUserNotificationCenter, registering for remote notifications, handling notification payloads, setting up notification categories and actions, creating rich notification content, or debugging notification delivery. Also use when working with alerts, badges, sounds, background pushes, or user notification permissions in Swift apps.
npx skills add dpearson2699/swift-ios-skills --skill push-notifications --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Implements, reviews, and debugs local and remote notifications on iOS/macOS using UserNotifications and APNs. Covers permission flow, token registration, payload structure, foreground handling, notification actions, grouping, and rich notifications. Targets iOS 26+ with Swift 6.3, backward-compatible to iOS 16 unless noted.
How it works
- Emphasizes keeping adjacent domains separate for specific payload types (Live Activity, PushKit/VoIP, App Clips, background processing).
- Divides functionality into sections: Correction Reviews, Permission Flow, APNs Registration, Local Notifications, Remote Notification Payload, Notification Handling, Notification Actions and Categories, Notification Grouping, Common Mistakes, Review Checklist, References.
- Provides sample code blocks for requesting permission, checking status, registering for remote notifications, handling device tokens, and configuring notifications.
- Shows explicit Swift examples for creating content, various triggers (time, calendar, location), scheduling, and managing notifications.
- Details handling of remote notifications with both standard and silent/background payloads, including background fetch results and content-handling constraints for service extensions.
- Includes guidance on mutable-content service extensions, attachments, localization, and deep linking via a shared router pattern.
- Demonstrates UNUserNotificationCenterDelegate methods to control foreground display and user interaction, including handling default/dismiss/custom actions.
- Demonstrates defining notification categories and actions, including text input actions and destructive actions, and registering them at launch.
When to use it
Use when implementing, reviewing, or debugging push notifications in Swift apps, including:
- requesting user permission
- registering for remote notifications
- handling notification payloads (local and remote)
- configuring categories and actions
- creating rich notification content and attachments
- debugging delivery, background processing, and notification behavior
- working with alerts, badges, sounds, background pushes, or user notification permissions
What it can touch
- Code samples reference
UserNotificationsAPIs andAPNshandling in Swift - File names and tool names are quoted exactly as in the skill text:
UNUserNotificationCenter,registerForRemoteNotifications(),didRegisterForRemoteNotificationsWithDeviceToken,UIBackgroundFetchResult,UNMutableNotificationContent,UNTimeIntervalNotificationTrigger,UNCalendarNotificationTrigger,UNLocationNotificationTrigger,UNNotificationRequest,UNNotificationCategory,UNNotificationAction,UNTextInputNotificationAction,UNUserNotificationCenterDelegate,NotificationDelegate,DeepLinkRouter, and related identifiers likeMESSAGE_CATEGORY,REPLY_ACTION, etc.
Caveats
- The description specifies targets (iOS 26+ with Swift 6.3) with backward compatibility to iOS 16 unless noted.
- It notes that provisional and critical alerts require special entitlements or prompts.
- It emphasizes that background pushes are low priority, throttled, and not guaranteed, with proper handling in
didReceiveRemoteNotificationusingUIBackgroundFetchResult. - Service extension behavior requires
mutable-content: 1and handling of content updates on all success/failure/timeout paths; silent pushes do not trigger service extensions. - Localization uses localization keys within the
apspayload. - Deep linking relies on a shared observable router pattern to route taps to the correct screen.
# Push Notifications Implement, review, and debug local and remote notifications on iOS/macOS using `UserNotifications` and APNs. Covers permission flow, token registration, payload structure, foreground handling, notification actions, grouping, and rich notifications. Targets iOS 26+ with Swift 6.3, backward-compatible to iOS 16 unless noted. Keep adjacent domains separate: Live Activity `content-state` payloads belong in `activitykit`; PushKit/VoIP call pushes belong in `callkit`; App Clip ephemeral notification setup belongs in `app-clips`; long-running or scheduled background work after a silent push belongs in `background-processing`. ## Contents - [Correction Reviews](#correction-reviews) - [Permission Flow](#permission-flow) - [APNs Registration](#apns-registration) - [Local Notifications](#local-notifications) - [Remote Notification Payload](#remote-notification-payload) - [Notification Handling](#notification-handling) - [Notification Actions and Categories](#notification-actions-and-categories) - [Notification Grouping](#notification-grouping) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Correction Reviews Wh
- Contents
- Correction Reviews
- Permission Flow
- Checking Current Status
- Provisional Notifications
- Critical Alerts
- Handling Denied Permissions
- APNs Registration
- Registration Order
- Token Handling
- Local Notifications
- Creating Content
- Trigger Types
- Scheduling and Managing
What does the push-notifications skill do?
Implement, review, or debug push notifications in iOS/macOS apps — local notifications, remote (APNs) notifications, rich notifications, notification actions, silent pushes, and notification service/content extensions. Use when working with UNUserNotificationCenter, registering for remote notifications, handling notification payloads, setting up notification categories and actions, creating rich notification content, or debugging notification delivery. Also use when working with alerts, badges, sounds, background pushes, or user notification permissions in Swift apps.
How do I install it?
Run `npx skills add dpearson2699/swift-ios-skills --skill push-notifications --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From dpearson2699/swift-ios-skills, a repository with 963 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.