musickit — Claude Code skill: Apple Music playback in iOS
A MusicKit and MediaPlayer skill: catalog search, subscriptions, playback queue, Now Playing and remote commands for iOS apps.
npx skills add dpearson2699/swift-ios-skills --skill musickit -a claude-codeWhat musickit does
The skill walks an agent through wiring Apple Music into an iOS app. Catalog search runs on MusicCatalogSearchRequest, subscriptions are read from MusicSubscription.current, and playback goes through ApplicationMusicPlayer with its queue. Separate sections cover MPNowPlayingInfoCenter and MPRemoteCommandCenter, so the lock screen and remote controls get the metadata they need.
Setup comes first. The skill tells you to enable the MusicKit App Service for the explicit bundle ID, add NSAppleMusicUsageDescription to Info.plist, and set the audio background mode in UIBackgroundModes. Debugging code before those three are right wastes time, because nothing will authorize or play.
Inside you also get authorization via MusicAuthorization.request(), the Apple Music subscription offer sheet, a common-mistakes list and a review checklist. One catch worth knowing up front: catalog playback is gated on canPlayCatalogContent, so a user without a subscription gets no audio and your UI has to say so.
What it helps with
- add Apple Music catalog search to an iOS app
- gate playback on the user's Apple Music subscription
- build a playback queue and skip between tracks
- show the current track on the lock screen and CarPlay
- review MusicKit code against a mistake checklist
Example prompts for the agent
- Add Apple Music catalog search with MusicKit and show the results in a list
- Build a player screen on ApplicationMusicPlayer with a queue and a play-next action
- Set up Now Playing and remote commands so the track shows on the lock screen
How to install musickit
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill musickit -a claude-code2Manually: put the files in place
~/.claude/skills/musickit/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/musickit/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill musickit -a codex2Manually: put the files in place
.agents/skills/musickit/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill musickit -a cursor2Manually: put the files in place
.cursor/skills/musickit/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills musickit2Manually: put the files in place
.github/skills/musickit/SKILL.md1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill musickit -a gemini-cli2Platform CLI
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/musickitManually: put the files in place
.devin/skills/musickit/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill musickit -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about musickit
How to install musickit in Claude?
Run npx skills add dpearson2699/swift-ios-skills --skill musickit -a claude-code. The skill lands at ~/.claude/skills/musickit/SKILL.md.
What does the musickit skill do?
It gives the agent MusicKit and MediaPlayer guidance: authorization, catalog search, subscription checks, playback, queue management and Now Playing info.
Does playback work without an Apple Music subscription?
No. The skill ties catalog playback to canPlayCatalogContent, so you need to handle the unsubscribed state and offer the subscription sheet.