axiom-codex/skills/axiom-media/SKILL.md
Use when working with camera, photos, audio, haptics, ShazamKit, or Now Playing. Covers AVCaptureSession, PHPicker, PhotosPicker, AVFoundation, Core Haptics, audio recognition, MediaPlayer, CarPlay, MusicKit.
npx skillsauth add charleswiltgen/axiom axiom-mediaInstall 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 camera, photo, audio, haptic, or media playback work.
| Symptom / Task | Reference |
|----------------|-----------|
| Camera capture, AVCaptureSession | See skills/camera-capture.md |
| Camera API (RotationCoordinator, etc.) | See skills/camera-capture-ref.md |
| Camera freezes, black preview, rotation | See skills/camera-capture-diag.md |
| Photo pickers, library access | See skills/photo-library.md |
| PHPicker, PhotosPicker API reference | See skills/photo-library-ref.md |
| Audio, AVFoundation, spatial audio | See skills/avfoundation-ref.md |
| Audio recognition, ShazamKit | See skills/shazamkit.md |
| ShazamKit API reference | See skills/shazamkit-ref.md |
| Haptic feedback, Core Haptics | See skills/haptics.md |
| Now Playing metadata, remote commands | See skills/now-playing.md |
| Animated lock-screen artwork (iOS 26+) | See skills/now-playing.md Pattern 8 |
| CarPlay HIG, app categories, design rules, entitlements | See skills/carplay-hig.md |
| CarPlay templates reference (all 13 templates, availability matrix, depth limits) | See skills/carplay-templates-ref.md |
| CarPlay navigation reference (base view, route guidance, cluster/HUD, multitouch, voice prompts) | See skills/carplay-navigation-ref.md |
| CarPlay Now Playing template customization + sports mode | See skills/now-playing-carplay.md |
| MusicKit Now Playing | See skills/now-playing-musickit.md |
digraph media {
start [label="Media task" shape=ellipse];
what [label="Which media feature?" shape=diamond];
start -> what;
what -> "skills/camera-capture.md" [label="camera capture"];
what -> "skills/photo-library.md" [label="photo pickers\n/ library"];
what -> "skills/avfoundation-ref.md" [label="audio / AVFoundation"];
what -> "skills/shazamkit.md" [label="ShazamKit\n/ audio recognition"];
what -> "skills/haptics.md" [label="haptic feedback"];
what -> "skills/now-playing.md" [label="Now Playing\n/ remote commands"];
what -> "skills/carplay-hig.md" [label="CarPlay app design\n/ categories / entitlements"];
}
skills/camera-capture.md (patterns), skills/camera-capture-ref.md (API), skills/camera-capture-diag.md (debugging)skills/photo-library.md, skills/photo-library-ref.mdskills/avfoundation-ref.mdskills/shazamkit.md, skills/shazamkit-ref.mdskills/haptics.mdskills/now-playing.md, skills/now-playing-carplay.md, skills/now-playing-musickit.mdskills/carplay-hig.md (start here for any CarPlay work)camera-auditor agentCamera + permissions (camera access denied, Info.plist missing):
ShazamKit + microphone permissions:
Now Playing + background audio:
Photo library + privacy:
| Thought | Reality | |---------|---------| | "Camera capture is just AVCaptureSession setup" | Camera has interruption handlers, rotation, and threading requirements. | | "I'll add haptics with a simple API call" | Haptic design has patterns for each interaction type matching HIG. | | "ShazamKit is just SHSession + a delegate" | iOS 17+ has SHManagedSession which eliminates all AVAudioEngine boilerplate. | | "Now Playing info is just setting metadata" | Remote commands, artwork handling, and state sync have 15+ gotchas. | | "I'll use UIImagePickerController for photos" | PHPicker/PhotosPicker are the modern API — no permissions required. |
User: "How do I set up a camera preview?"
→ Read: skills/camera-capture.md
User: "Camera freezes when I get a phone call"
→ Read: skills/camera-capture-diag.md
User: "How do I let users pick photos in SwiftUI?"
→ Read: skills/photo-library.md
User: "Implement haptic feedback for button taps"
→ Read: skills/haptics.md
User: "Now Playing info doesn't appear on Lock Screen"
→ Read: skills/now-playing.md
User: "How do I identify songs with ShazamKit?"
→ Read: skills/shazamkit.md
User: "Check my camera code for issues"
→ Launch: camera-auditor agent
development
Use when building ANY watchOS app — app structure, independent apps, Watch Connectivity, Smart Stack widgets, complications, controls, RelevanceKit, background tasks, ClockKit migration.
development
Use when working with HealthKit, WorkoutKit, health data, workouts, or fitness features on iOS or watchOS. Covers permissions, queries, background delivery, custom workouts, multidevice coordination.
development
Use when building, fixing, or improving ANY SwiftUI UI — views, navigation, layout, animations, performance, architecture, gestures, debugging, iOS 26 features.
tools
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.