iOS Simulator Skill
Build, test and drive iOS apps in the Simulator with 31 token-efficient scripts that navigate by accessibility label instead of pixel coordinates.
Dev & CodingIntermediate★ 1,315⑂ 103AI score 9/10Last updated: Nov 8, 2026
What it does
- Builds and tests Xcode projects via
build_and_test.py, parsing errors and warnings with progressive disclosure;--runbuilds, installs and launches in one call. - Navigates the UI through the accessibility tree:
screen_mapper.pylists elements for ~10–50 tokens,navigator.py --find-text "Login" --tapinteracts semantically (screenshots cost 1,600–6,300 tokens). - Controls device state: gestures (swipe, scroll, pinch, drag, shake, rotate), keyboard and hardware buttons, deep links, push notifications, clipboard, photo library, 13 permission services, GPS/GPX location, dark mode, Dynamic Type, contrast and locale.
- Analysis tooling: WCAG accessibility audit, screenshot visual diff, markdown test recordings, full app state snapshots, sandbox/UserDefaults/Core Data inspection, and
.xcstringslocalization gap auditing. hang_watcher.py(HangBuster) records os_log hang events into sessions, emits an ~100-token L1 summary, then drills into clusters or raw gzipped ndjson forjqexploration, with cross-session diffing.- Full simulator lifecycle: create, boot, shutdown, erase, delete, plus
sim_list.pywhich cutssimctl listoutput by 96%.
Who it's for
- iOS/Swift developers who want Claude Code to handle builds and UI test flows
- QA and accessibility engineers checking labels, touch targets and WCAG compliance
- Teams chasing main-thread hangs, scroll jank, or missing localized strings
- Prerequisites: macOS 15+, Xcode 26+ (full app), Apple silicon, Python 3.12+,
brew install facebook/fb/idb
Example uses
- "Build this project, launch it on a simulator and sign in" →
sim_health_check.sh→build_and_test.py --run→screen_mapper.py→navigator.py --find-text "Login" --tap→--find-type TextField --enter-text ... - "Audit this screen for accessibility problems" →
accessibility_audit.pyfor missing labels and small touch targets, plusappearance.py --text-size AX5 --contrast highto check large-text layout - "Find out why scrolling stutters" →
hang_watcher.py --start, interact,--stopfor the summary,--get-details --cluster 1to drill in - "Test the app with camera permission denied" →
privacy_manager.py --revoke camerathenapp_launcher.py --restart
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/conorluddy/ios-simulator-skill/HEAD/ios-simulator-skill/skills/ios-simulator-skill/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on AI Skill Mart. Copy the ios-simulator-skill/skills/ios-simulator-skill folder from the GitHub repo conorluddy/ios-simulator-skill into my ~/.claude/skills/ios-simulator-skill/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/conorluddy/ios-simulator-skill.git /tmp/ios-simulator-skill && mkdir -p ~/.claude/skills && cp -r /tmp/ios-simulator-skill/skills/ios-simulator-skill ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Confirm prerequisites: macOS 15+, Xcode 26+ (the full app, not just Command Line Tools), an Apple silicon Mac, and
python3 --version≥ 3.12. - Install idb:
brew install facebook/fb/idb(this installs both idb-cli and idb-companion). - For visual diffs, also install Pillow:
pip3 install pillow - Clone the repo:
git clone https://github.com/conorluddy/ios-simulator-skill.git /tmp/ios-simulator-skill - Copy the skill into Claude's skills folder:
mkdir -p ~/.claude/skills && cp -r /tmp/ios-simulator-skill/skills/ios-simulator-skill ~/.claude/skills/ - Verify the environment:
bash ~/.claude/skills/ios-simulator-skill/scripts/sim_health_check.sh - Restart Claude Code and ask something like "launch my app on the iOS simulator" to trigger the skill.
- If taps and typing silently do nothing, refresh the companion:
brew upgrade facebook/fb/idb-cli facebook/fb/idb-companion && idb kill.
View source on GitHub ↗License: MIT