Token-efficient by default
Default output is 3–5 lines. Drill into errors, warnings, or full logs only when you need them. Conversations stay focused, costs stay low.
A production-ready skill of 22 scripts wrapping xcodebuild, xcrun simctl, and idb with semantic interfaces designed for AI agents and developers.
Three principles, applied to every script.
Default output is 3–5 lines. Drill into errors, warnings, or full logs only when you need them. Conversations stay focused, costs stay low.
Find elements by meaning — labels, types, IDs — not pixels. Built on the iOS accessibility tree, so tests survive UI redesigns.
Class-based scripts, type hints, Black + Ruff CI. Auto-UDID detection. Idempotent device lifecycle. Works with real simulators today.
A typical login flow with raw idb output is ~400 lines. With this skill, ~15.
Screen analysis
−97.5%
Find & tap button
−99%
Login flow
−96%
Two commands, no setup. Restart Claude Code; the skill loads automatically.
/plugin marketplace add conorluddy/ios-simulator-skill
/plugin install ios-simulator-skill@conorluddy
Prerequisites: macOS 12+ · Xcode CLT · Python 3 · IDB (optional). Full list →
Every script supports --help and --json. Auto-detects the booted simulator unless you pass --udid.
build_and_test.pyBuild, test, parse xcresult bundles with progressive error disclosurelog_monitor.pyReal-time log monitoring with severity filteringscreen_mapper.pyAnalyze the current screen, list interactive elementsnavigator.pyFind and interact with elements semanticallygesture.pySwipes, scrolls, pinches, long press, pull to refreshkeyboard.pyText input and hardware button controlapp_launcher.pyLaunch, terminate, install, deep link appsaccessibility_audit.pyWCAG compliance checking on the current screenvisual_diff.pyCompare two screenshots for visual changestest_recorder.pyAutomated test documentation with screenshotsapp_state_capture.pyDebugging snapshots: screenshot, hierarchy, logssim_health_check.shVerify Xcode, simctl, IDB, Python toolchainmodel_inspector.pyInspect Core Data / SwiftData models from project filesclipboard.pyCopy text to simulator clipboard for paste testingstatus_bar.pyOverride status bar (time, battery, network)push_notification.pySend simulated push notificationsprivacy_manager.pyGrant, revoke, reset app permissions across 13 servicessimctl_boot.pyBoot simulators with readiness verificationsimctl_shutdown.pyGracefully shutdown simulatorssimctl_create.pyCreate simulators by device type and OS versionsimctl_delete.pyDelete simulators with safety confirmationsimctl_erase.pyFactory reset without deletionSame iOS task suite. With and without the skill loaded. Run it yourself with claude evals run.
100%
3 of 3 tasks passed
46%
~1.4 of 3 tasks passed
Tested with Claude Code evals.