# IOS Simulator Skill

Build, test, and drive iOS apps in the Simulator with 30 token-efficient scripts.

- Repository: https://github.com/conorluddy/ios-simulator-skill (1307 stars)
- Category: Design
- License: MIT
- Last updated: 2026-10-19
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add conorluddy/ios-simulator-skill --skill ios-simulator-skill -g -a claude-code -y`
Codex: `npx skills add conorluddy/ios-simulator-skill --skill ios-simulator-skill -g -a codex -y`
Cursor: `npx skills add conorluddy/ios-simulator-skill --skill ios-simulator-skill -g -a cursor -y`
Gemini CLI: `npx skills add conorluddy/ios-simulator-skill --skill ios-simulator-skill -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add conorluddy/ios-simulator-skill`

## Description

Build, test, and drive iOS apps in the Simulator with 30 token-efficient scripts. Use when asked to build or test an Xcode project, launch an app on a simulator, tap/type/swipe through its UI by accessibility label, take screenshots or visual diffs, audit accessibility, read logs or diagnose hangs, or manage simulators (boot, erase, permissions, location, push, appearance). macOS only; needs Xcode, Python 3.12+ and idb.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# iOS Simulator Skill

Build, test, and automate iOS applications using accessibility-driven navigation and structured data instead of pixel coordinates.

## Quick Start

```bash
# 1. Check environment
bash scripts/sim_health_check.sh

# 2. Launch app
python3 scripts/app_launcher.py --launch com.example.app

# 3. Map screen to see elements
python3 scripts/screen_mapper.py

# 4. Tap button
python3 scripts/navigator.py --find-text "Login" --tap

# 5. Enter text
python3 scripts/navigator.py --find-type TextField --enter-text "user@example.com"
```

**Paths:** `scripts/` is relative to the directory containing this SKILL.md, not the user's project.
Examples write `scripts/...` for brevity; run them by absolute path from the user's project
(e.g. `python3 <skill-dir>/scripts/navigator.py ...`) so relative Xcode project paths still resolve.

All scripts support `--help` for detailed options; most support `--json` for machine-readable output.

## Navigation Strategy

**Always prefer the accessibility tree over screenshots for navigation.** The accessibility tree gives you element types, labels, frames, and tap targets, structured data that's cheaper and more reliable than image analysis.

Use this priority:
1. `screen_mapper.py` → structured element list (5-7 lines, ~10 tokens)
2. `navigator.py --find-text/--find-type/--find-id` → semantic interaction
3. Screenshots → only for visual verification, bug reports, or visual diff

Screenshots cost 1,600, 6,300 tokens depending on size. The accessibility tree costs 10, 50 tokens in default mode.

## 30 Production Scripts

### Build & Development (2 scripts)

1. **build_and_test.py** - Build Xcode projects, run tests, parse results with progressive disclosure
   - Build with live result streaming
   - Parse errors and warnings from xcresult bundles
   - Retrieve detailed build logs on demand
   - Options: `--project`, `--scheme`, `--clean`, `--test`, `--verbose`, `--json`

The rest: https://github.com/conorluddy/ios-simulator-skill/blob/HEAD/ios-simulator-skill/skills/ios-simulator-skill/SKILL.md
