accessorysetupkit — Claude Code skill: install and use
Guides AccessorySetupKit setup for Bluetooth and Wi-Fi accessory discovery in iOS 18+. Use it when moving away from permission-based CoreBluetooth scanning.
npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a claude-codeWhat accessorysetupkit does
This skill guides implementation of the AccessorySetupKit system picker for Bluetooth and Wi-Fi accessory discovery and authorization, with communication handed over to CoreBluetooth or NetworkExtension. It covers ASDiscoveryDescriptor, proximity rules, and accessory capability options.
It explains how to create ASAccessorySession, wait for .activated, display ASPickerDisplayItem, and react to added, changed, or removed accessories. A Wi-Fi descriptor uses either ssid or ssidPrefix; setting both causes an app crash.
Configure Info.plist, including NSAccessorySetupSupports, before using the picker. Bluetooth values in those keys must match the descriptor, or discovery crashes the app. That is a reason to check UUIDs, names, and identifiers before testing.
What it helps with
- configure the system accessory picker
- define BLE discovery matching rules
- set up a Wi-Fi accessory by SSID
- handle
ASAccessorySessionevents - move from CoreBluetooth permission scanning
Example prompts for the agent
- “Set up AccessorySetupKit discovery for a BLE accessory using its service UUID.”
- “Show how to create
ASAccessorySessionand wait for.activated.” - “Check the
Info.plistrules for a Wi-Fi accessory usingssidPrefix.”
How to install accessorysetupkit
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a claude-code2Manually: put the files in place
~/.claude/skills/accessorysetupkit/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/accessorysetupkit/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a codex2Manually: put the files in place
.agents/skills/accessorysetupkit/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a cursor2Manually: put the files in place
.cursor/skills/accessorysetupkit/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills accessorysetupkit2Manually: put the files in place
.github/skills/accessorysetupkit/SKILL.md1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a gemini-cli2Platform CLI
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/accessorysetupkitManually: put the files in place
.devin/skills/accessorysetupkit/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -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 accessorysetupkit
How do I install accessorysetupkit in Claude Code?
Run npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a claude-code, then run npx skills add dpearson2699/swift-ios-skills --skill accessorysetupkit -a claude-code again. The skill file is at ~/.claude/skills/accessorysetupkit/SKILL.md.
What does accessorysetupkit do?
It guides AccessorySetupKit use for selecting, discovering, and configuring Bluetooth or Wi-Fi accessories in iOS 18+. The material covers descriptors, sessions, and connection events.
Why must Info.plist match the discovery descriptor?
Bluetooth service UUIDs, names, and company identifiers need to align with values in ASDiscoveryDescriptor. A mismatch causes a crash during discovery.