ai/ios-skills/ios-axiom-ios-integration/SKILL.md
Use when integrating ANY iOS system feature - Siri, Shortcuts, Apple Intelligence, widgets, IAP, camera, photo library, photos picker, audio, axiom-haptics, axiom-localization, privacy. Covers App Intents, WidgetKit, StoreKit, AVFoundation, PHPicker, PhotosPicker, Core Haptics, App Shortcuts, Spotlight.
npx skillsauth add kurko/dotfiles axiom-ios-integrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You MUST use this skill for ANY iOS system integration including Siri, Shortcuts, widgets, in-app purchases, camera, photo library, audio, axiom-haptics, and more.
Use this router for:
When integration issues overlap with other domains:
Widget + data sync issues (widget not showing updated data):
Live Activity + push notification issues:
Camera + permissions + privacy:
App Intents → /skill axiom-app-intents-ref
App Shortcuts → /skill axiom-app-shortcuts-ref
App discoverability → /skill axiom-app-discoverability
Core Spotlight → /skill axiom-core-spotlight-ref
Widgets/Live Activities → /skill axiom-extensions-widgets
Widget reference → /skill axiom-extensions-widgets-ref
IAP implementation → /skill axiom-in-app-purchases
StoreKit 2 reference → /skill axiom-storekit-ref
IAP audit → Launch iap-auditor agent (missing transaction.finish(), weak receipt validation, missing restore, subscription tracking)
IAP full implementation → Launch iap-implementation agent (StoreKit config, StoreManager, transaction handling, restore purchases)
Camera capture implementation → /skill axiom-camera-capture
Camera API reference → /skill axiom-camera-capture-ref
Camera debugging → /skill axiom-camera-capture-diag
Camera audit → Launch camera-auditor agent or /axiom:audit camera (deprecated APIs, missing interruption handlers, threading violations, permission anti-patterns)
Photo pickers & library → /skill axiom-photo-library
Photo library API reference → /skill axiom-photo-library-ref
Audio (AVFoundation) → /skill axiom-avfoundation-ref
Haptics → /skill axiom-haptics
Now Playing → /skill axiom-now-playing
CarPlay Now Playing → /skill axiom-now-playing-carplay
MusicKit integration → /skill axiom-now-playing-musickit
Localization → /skill axiom-localization
Privacy UX → /skill axiom-privacy-ux
BGTaskScheduler implementation → /skill axiom-background-processing
Background task debugging → /skill axiom-background-processing-diag
Background task API reference → /skill axiom-background-processing-ref
Implementation patterns → /skill axiom-core-location
API reference → /skill axiom-core-location-ref
Debugging location issues → /skill axiom-core-location-diag
| Thought | Reality | |---------|---------| | "App Intents are just a protocol conformance" | App Intents have parameter validation, entity queries, and background execution. app-intents-ref covers all. | | "Widgets are simple, I've done them before" | Widgets have timeline, interactivity, and Live Activity patterns that evolve yearly. extensions-widgets is current. | | "I'll add haptics with a simple API call" | Haptic design has patterns for each interaction type. haptics skill matches HIG guidelines. | | "Localization is just String Catalogs" | Xcode 26 has type-safe localization, generated symbols, and #bundle macro. localization skill is current. | | "Camera capture is just AVCaptureSession setup" | Camera has interruption handlers, rotation, and threading requirements. camera-capture covers all. |
User: "How do I add Siri support for my app?"
→ Invoke: /skill axiom-app-intents-ref
User: "My widget isn't updating"
→ Invoke: /skill axiom-extensions-widgets
User: "My widget isn't showing updated SwiftData content"
→ Invoke: /skill axiom-extensions-widgets + also invoke ios-data router for App Group/shared container setup
User: "My Live Activity isn't updating and I'm getting push notification errors"
→ Invoke: /skill axiom-extensions-widgets for ActivityKit + also invoke ios-networking router for push delivery
User: "Implement in-app purchases with StoreKit 2"
→ Invoke: /skill axiom-in-app-purchases
User: "How do I localize my app strings?"
→ Invoke: /skill axiom-localization
User: "Implement haptic feedback for button taps"
→ Invoke: /skill axiom-haptics
User: "How do I set up a camera preview?"
→ Invoke: /skill axiom-camera-capture
User: "Camera freezes when I get a phone call"
→ Invoke: /skill axiom-camera-capture-diag
User: "What is RotationCoordinator?"
→ Invoke: /skill axiom-camera-capture-ref
User: "How do I let users pick photos in SwiftUI?"
→ Invoke: /skill axiom-photo-library
User: "User can't see their photos after granting access"
→ Invoke: /skill axiom-photo-library
User: "How do I save a photo to the camera roll?"
→ Invoke: /skill axiom-photo-library
User: "My background task never runs"
→ Invoke: /skill axiom-background-processing-diag
User: "How do I implement BGTaskScheduler?"
→ Invoke: /skill axiom-background-processing
User: "What's the difference between BGAppRefreshTask and BGProcessingTask?"
→ Invoke: /skill axiom-background-processing-ref
User: "How do I implement geofencing?"
→ Invoke: /skill axiom-core-location
User: "Location updates not working in background"
→ Invoke: /skill axiom-core-location-diag
User: "What is CLServiceSession?"
→ Invoke: /skill axiom-core-location-ref
User: "Review my in-app purchase implementation"
→ Invoke: iap-auditor agent
User: "Implement in-app purchases for my app"
→ Invoke: iap-implementation agent
User: "Check my camera code for issues"
→ Invoke: camera-auditor agent
data-ai
Merge the current worktree branch into main and sync main back. Use when the user says "merge to main", "ship it", "merge and continue", or after completing a task in a worktree and wanting to continue with the next one.
tools
Synchronize AI agent skills, commands, configs, permissions, hooks, and instructions across Claude Code, Codex CLI, and other Agent Skills-compatible tools. Use when the user asks to pull skills from Claude into Codex, sync Codex work back to Claude, migrate agent commands, reconcile frontmatter, update permissions, or keep agent setup files in parity.
testing
Write or update UI-independent use cases for QA. Use when the user says "write use cases", "add use cases", "QA use cases", "update use cases", "compose use cases", or when starting implementation of a new feature (after plan approval). Also activates for "what should we test", "regression cases", or "use cases for QA".
documentation
Skill on how to write a task. Use when user asks you to write a task (for Asana, Linear, Jira, Notion and equivalent). Also activates when user says "create task", "write task", or similar task creation workflow requests.