Agent skill · Code Review & Quality

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.

Derek Pearson935★ · +23/wk · 1 repos on radarProfile →
claude-codecodexcursorNOASSERTION
Install
npx skills add dpearson2699/swift-ios-skills --skill push-notifications --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 20 KB
Bundled scripts: none
Path: skills/push-notifications/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 963 · +28 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

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 UserNotifications APIs and APNs handling 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 like MESSAGE_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 didReceiveRemoteNotification using UIBackgroundFetchResult.
  • Service extension behavior requires mutable-content: 1 and handling of content updates on all success/failure/timeout paths; silent pushes do not trigger service extensions.
  • Localization uses localization keys within the aps payload.
  • Deep linking relies on a shared observable router pattern to route taps to the correct screen.
From the SKILL.md

# 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

What's inside
Steps it walks through
  1. Contents
  2. Correction Reviews
  3. Permission Flow
  4. Checking Current Status
  5. Provisional Notifications
  6. Critical Alerts
  7. Handling Denied Permissions
  8. APNs Registration
  9. Registration Order
  10. Token Handling
  11. Local Notifications
  12. Creating Content
  13. Trigger Types
  14. Scheduling and Managing
Ships with 3 files
  • evals/evals.json
  • references/notification-patterns.md
  • references/rich-notifications.md
More from swift-ios-skills
All skills →
About this skill
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.

Keep going