iOS System Integration
You MUST use this skill for ANY iOS system integration including Siri, Shortcuts, widgets, in-app purchases, background tasks, push notifications, and more.
Quick Reference
| Symptom / Task |
Reference |
| Siri, App Intents, entity queries |
See skills/app-intents-ref.md |
| App Shortcuts, phrases, Spotlight |
See skills/app-shortcuts-ref.md |
| App discoverability strategy |
See skills/app-discoverability.md |
| Core Spotlight indexing |
See skills/core-spotlight-ref.md |
| Widgets, Live Activities, Control Center |
See skills/extensions-widgets.md |
| Widget/Live Activity API reference |
See skills/extensions-widgets-ref.md |
| In-app purchases, subscriptions |
See skills/in-app-purchases.md |
| StoreKit 2 API reference |
See skills/storekit-ref.md |
| Calendar events, reminders (EventKit) |
See skills/eventkit.md |
| EventKit API reference |
See skills/eventkit-ref.md |
| Contacts, contact picker |
See skills/contacts.md |
| Contacts API reference |
See skills/contacts-ref.md |
| Localization, String Catalogs |
See skills/localization.md |
| Apple terminology matching, glossary, pseudolocalization, TMS |
See skills/localization-research-ref.md |
| Privacy manifests, permissions UX |
See skills/privacy-ux.md |
| AlarmKit (iOS 26+) |
See skills/alarmkit-ref.md |
| Timer patterns, scheduling |
See skills/timer-patterns.md |
| Timer API reference |
See skills/timer-patterns-ref.md |
| Background tasks, BGTaskScheduler |
See skills/background-processing.md |
| Background task debugging |
See skills/background-processing-diag.md |
| Background task API reference |
See skills/background-processing-ref.md |
| Push notifications, APNs |
See skills/push-notifications.md |
| Push notification debugging |
See skills/push-notifications-diag.md |
| Push notification API reference |
See skills/push-notifications-ref.md |
Decision Tree
digraph integration {
start [label="Integration task" shape=ellipse];
what [label="Which system feature?" shape=diamond];
start -> what;
what -> "skills/app-intents-ref.md" [label="Siri / App Intents"];
what -> "skills/app-shortcuts-ref.md" [label="Shortcuts / phrases"];
what -> "skills/app-discoverability.md" [label="discoverability\nstrategy"];
what -> "skills/extensions-widgets.md" [label="widgets / Live Activities\n/ Control Center"];
what -> "skills/in-app-purchases.md" [label="IAP / subscriptions"];
what -> "skills/eventkit.md" [label="calendar / reminders"];
what -> "skills/contacts.md" [label="contacts"];
what -> "skills/localization.md" [label="localization"];
what -> "skills/privacy-ux.md" [label="privacy / permissions"];
what -> "skills/alarmkit-ref.md" [label="alarms (iOS 26+)"];
what -> "skills/timer-patterns.md" [label="timers"];
what -> "skills/background-processing.md" [label="background tasks"];
what -> "skills/push-notifications.md" [label="push notifications"];
}
- Siri / App Intents / entity queries? →
skills/app-intents-ref.md
- App Shortcuts / phrases? →
skills/app-shortcuts-ref.md
- App discoverability / Spotlight strategy? →
skills/app-discoverability.md, skills/core-spotlight-ref.md
- Widgets / Live Activities / Control Center? →
skills/extensions-widgets.md, skills/extensions-widgets-ref.md
- In-app purchases / StoreKit? →
skills/in-app-purchases.md, skills/storekit-ref.md
- Calendar / reminders / EventKit? →
skills/eventkit.md, skills/eventkit-ref.md
- Contacts / contact picker? →
skills/contacts.md, skills/contacts-ref.md
- Localization mechanics (String Catalogs, plurals, RTL)? →
skills/localization.md
8a. Localization research (Apple terminology, glossary, pseudolocalization, TMS)? → skills/localization-research-ref.md
- Privacy / permissions? →
skills/privacy-ux.md
- Alarms (iOS 26+)? →
skills/alarmkit-ref.md
- Timers? →
skills/timer-patterns.md, skills/timer-patterns-ref.md
- Background tasks / BGTaskScheduler? →
skills/background-processing.md, skills/background-processing-diag.md, skills/background-processing-ref.md
- Push notifications? →
skills/push-notifications.md, skills/push-notifications-diag.md, skills/push-notifications-ref.md
- Want IAP audit? → Launch
iap-auditor agent
- Want full IAP implementation? → Launch
iap-implementation agent
- Camera / photos / audio / haptics / ShazamKit? → Use
axiom-media instead
Cross-Domain Routing
Widget + data sync (widget not showing updated data):
- Widget timeline not refreshing → stay here (extensions-widgets)
- SwiftData/Core Data not shared with extension → also invoke axiom-data (App Groups)
Live Activity + push notification:
- ActivityKit push token setup → stay here (extensions-widgets)
- Push delivery failures → also invoke axiom-networking (networking-diag)
- Entitlements/certificates → also invoke axiom-build
Push + background processing (silent push not triggering background work):
- Push payload and delivery → stay here (push-notifications-diag)
- BGTaskScheduler execution → stay here (background-processing)
Calendar/Contacts + data sync:
- EventKit/Contacts data issues → stay here
- Shared data with widget via App Groups → also invoke axiom-data
watchOS surfaces
- Complications + Smart Stack widgets → See axiom-watchos (skills/smart-stack-and-complications.md)
- Live Activities on Apple Watch → See axiom-watchos (skills/controls-and-live-activities.md)
Conflict Resolution
integration vs axiom-build: When system features fail with entitlement/certificate errors:
- Use axiom-build for signing and provisioning issues
- Use integration for API usage and permission patterns
integration vs axiom-data: When widgets or extensions can't access shared data:
- App Groups and shared containers → axiom-data
- Widget timeline, Live Activity updates → integration
integration vs axiom-media: When media features overlap with system features:
- Camera/photo/audio/haptics code → axiom-media
- Privacy manifests for camera/microphone → stay here (privacy-ux)
- Background audio mode → stay here (background-processing)
Anti-Rationalization
| Thought |
Reality |
| "App Intents are just a protocol conformance" |
App Intents have parameter validation, entity queries, and background execution. |
| "Widgets are simple, I've done them before" |
Widgets have timeline, interactivity, and Live Activity patterns that evolve yearly. |
| "Localization is just String Catalogs" |
Xcode 26 has type-safe localization, generated symbols, and #bundle macro. |
| "Push notifications are just a payload and a token" |
Token lifecycle, Focus levels, service extension gotchas cause 80% of push bugs. |
| "Just request full Calendar access" |
Most apps only need to add events — EventKitUI does that with zero permissions. |
| "I'll use CNContactStore directly for picking" |
CNContactPickerViewController needs no authorization and shows all contacts. |
Example Invocations
User: "How do I add Siri support?"
→ Read: skills/app-intents-ref.md
User: "My widget isn't updating"
→ Read: skills/extensions-widgets.md
User: "Implement in-app purchases with StoreKit 2"
→ Read: skills/in-app-purchases.md
User: "How do I implement push notifications?"
→ Read: skills/push-notifications.md
User: "Push notifications work in dev but not production"
→ Read: skills/push-notifications-diag.md
User: "My background task never runs"
→ Read: skills/background-processing-diag.md
User: "How do I add an event to the user's calendar?"
→ Read: skills/eventkit.md
User: "How do I let users pick a contact?"
→ Read: skills/contacts.md
User: "Review my in-app purchase implementation"
→ Launch: iap-auditor agent
1---2name: axiom-integration3description: Use when integrating ANY iOS system feature - Siri, Shortcuts, widgets, IAP, localization, privacy, alarms, calendar, reminders, contacts, background tasks, push notifications, timers. Covers App Intents, WidgetKit, StoreKit, EventKit, Contacts.4license: MIT5---6
7# iOS System Integration
8
9**You MUST use this skill for ANY iOS system integration including Siri, Shortcuts, widgets, in-app purchases, background tasks, push notifications, and more.**
10
11## Quick Reference
12
13| Symptom / Task | Reference |
14|----------------|-----------|
15| Siri, App Intents, entity queries | See `skills/app-intents-ref.md` |
16| App Shortcuts, phrases, Spotlight | See `skills/app-shortcuts-ref.md` |
17| App discoverability strategy | See `skills/app-discoverability.md` |
18| Core Spotlight indexing | See `skills/core-spotlight-ref.md` |
19| Widgets, Live Activities, Control Center | See `skills/extensions-widgets.md` |
20| Widget/Live Activity API reference | See `skills/extensions-widgets-ref.md` |
21| In-app purchases, subscriptions | See `skills/in-app-purchases.md` |
22| StoreKit 2 API reference | See `skills/storekit-ref.md` |
23| Calendar events, reminders (EventKit) | See `skills/eventkit.md` |
24| EventKit API reference | See `skills/eventkit-ref.md` |
25| Contacts, contact picker | See `skills/contacts.md` |
26| Contacts API reference | See `skills/contacts-ref.md` |
27| Localization, String Catalogs | See `skills/localization.md` |
28| Apple terminology matching, glossary, pseudolocalization, TMS | See `skills/localization-research-ref.md` |
29| Privacy manifests, permissions UX | See `skills/privacy-ux.md` |
30| AlarmKit (iOS 26+) | See `skills/alarmkit-ref.md` |
31| Timer patterns, scheduling | See `skills/timer-patterns.md` |
32| Timer API reference | See `skills/timer-patterns-ref.md` |
33| Background tasks, BGTaskScheduler | See `skills/background-processing.md` |
34| Background task debugging | See `skills/background-processing-diag.md` |
35| Background task API reference | See `skills/background-processing-ref.md` |
36| Push notifications, APNs | See `skills/push-notifications.md` |
37| Push notification debugging | See `skills/push-notifications-diag.md` |
38| Push notification API reference | See `skills/push-notifications-ref.md` |
39
40## Decision Tree
41
42```dot
43digraph integration {
44 start [label="Integration task" shape=ellipse];
45 what [label="Which system feature?" shape=diamond];
46
47 start -> what;
48 what -> "skills/app-intents-ref.md" [label="Siri / App Intents"];
49 what -> "skills/app-shortcuts-ref.md" [label="Shortcuts / phrases"];
50 what -> "skills/app-discoverability.md" [label="discoverability\nstrategy"];
51 what -> "skills/extensions-widgets.md" [label="widgets / Live Activities\n/ Control Center"];
52 what -> "skills/in-app-purchases.md" [label="IAP / subscriptions"];
53 what -> "skills/eventkit.md" [label="calendar / reminders"];
54 what -> "skills/contacts.md" [label="contacts"];
55 what -> "skills/localization.md" [label="localization"];
56 what -> "skills/privacy-ux.md" [label="privacy / permissions"];
57 what -> "skills/alarmkit-ref.md" [label="alarms (iOS 26+)"];
58 what -> "skills/timer-patterns.md" [label="timers"];
59 what -> "skills/background-processing.md" [label="background tasks"];
60 what -> "skills/push-notifications.md" [label="push notifications"];
61}
62```
63
641. Siri / App Intents / entity queries? → `skills/app-intents-ref.md`
652. App Shortcuts / phrases? → `skills/app-shortcuts-ref.md`
663. App discoverability / Spotlight strategy? → `skills/app-discoverability.md`, `skills/core-spotlight-ref.md`
674. Widgets / Live Activities / Control Center? → `skills/extensions-widgets.md`, `skills/extensions-widgets-ref.md`
685. In-app purchases / StoreKit? → `skills/in-app-purchases.md`, `skills/storekit-ref.md`
696. Calendar / reminders / EventKit? → `skills/eventkit.md`, `skills/eventkit-ref.md`
707. Contacts / contact picker? → `skills/contacts.md`, `skills/contacts-ref.md`
718. Localization mechanics (String Catalogs, plurals, RTL)? → `skills/localization.md`
728a. Localization research (Apple terminology, glossary, pseudolocalization, TMS)? → `skills/localization-research-ref.md`
739. Privacy / permissions? → `skills/privacy-ux.md`
7410. Alarms (iOS 26+)? → `skills/alarmkit-ref.md`
7511. Timers? → `skills/timer-patterns.md`, `skills/timer-patterns-ref.md`
7612. Background tasks / BGTaskScheduler? → `skills/background-processing.md`, `skills/background-processing-diag.md`, `skills/background-processing-ref.md`
7713. Push notifications? → `skills/push-notifications.md`, `skills/push-notifications-diag.md`, `skills/push-notifications-ref.md`
7814. Want IAP audit? → Launch `iap-auditor` agent
7915. Want full IAP implementation? → Launch `iap-implementation` agent
8016. Camera / photos / audio / haptics / ShazamKit? → **Use `axiom-media` instead**
81
82## Cross-Domain Routing
83
84**Widget + data sync** (widget not showing updated data):
85- Widget timeline not refreshing → **stay here** (extensions-widgets)
86- SwiftData/Core Data not shared with extension → **also invoke axiom-data** (App Groups)
87
88**Live Activity + push notification**:
89- ActivityKit push token setup → **stay here** (extensions-widgets)
90- Push delivery failures → **also invoke axiom-networking** (networking-diag)
91- Entitlements/certificates → **also invoke axiom-build**
92
93**Push + background processing** (silent push not triggering background work):
94- Push payload and delivery → **stay here** (push-notifications-diag)
95- BGTaskScheduler execution → **stay here** (background-processing)
96
97**Calendar/Contacts + data sync**:
98- EventKit/Contacts data issues → **stay here**
99- Shared data with widget via App Groups → **also invoke axiom-data**
100
101#### watchOS surfaces
102- Complications + Smart Stack widgets → See axiom-watchos (skills/smart-stack-and-complications.md)
103- Live Activities on Apple Watch → See axiom-watchos (skills/controls-and-live-activities.md)
104
105## Conflict Resolution
106
107**integration vs axiom-build**: When system features fail with entitlement/certificate errors:
108- Use **axiom-build** for signing and provisioning issues
109- Use **integration** for API usage and permission patterns
110
111**integration vs axiom-data**: When widgets or extensions can't access shared data:
112- App Groups and shared containers → **axiom-data**
113- Widget timeline, Live Activity updates → **integration**
114
115**integration vs axiom-media**: When media features overlap with system features:
116- Camera/photo/audio/haptics code → **axiom-media**
117- Privacy manifests for camera/microphone → **stay here** (privacy-ux)
118- Background audio mode → **stay here** (background-processing)
119
120## Anti-Rationalization
121
122| Thought | Reality |
123|---------|---------|
124| "App Intents are just a protocol conformance" | App Intents have parameter validation, entity queries, and background execution. |
125| "Widgets are simple, I've done them before" | Widgets have timeline, interactivity, and Live Activity patterns that evolve yearly. |
126| "Localization is just String Catalogs" | Xcode 26 has type-safe localization, generated symbols, and #bundle macro. |
127| "Push notifications are just a payload and a token" | Token lifecycle, Focus levels, service extension gotchas cause 80% of push bugs. |
128| "Just request full Calendar access" | Most apps only need to add events — EventKitUI does that with zero permissions. |
129| "I'll use CNContactStore directly for picking" | CNContactPickerViewController needs no authorization and shows all contacts. |
130
131## Example Invocations
132
133User: "How do I add Siri support?"
134→ Read: `skills/app-intents-ref.md`
135
136User: "My widget isn't updating"
137→ Read: `skills/extensions-widgets.md`
138
139User: "Implement in-app purchases with StoreKit 2"
140→ Read: `skills/in-app-purchases.md`
141
142User: "How do I implement push notifications?"
143→ Read: `skills/push-notifications.md`
144
145User: "Push notifications work in dev but not production"
146→ Read: `skills/push-notifications-diag.md`
147
148User: "My background task never runs"
149→ Read: `skills/background-processing-diag.md`
150
151User: "How do I add an event to the user's calendar?"
152→ Read: `skills/eventkit.md`
153
154User: "How do I let users pick a contact?"
155→ Read: `skills/contacts.md`
156
157User: "Review my in-app purchase implementation"
158→ Launch: `iap-auditor` agent