ios-simulator

ios-simulator is a skill for Claude Code from simiancraft/simiancraft-skills. It costs 142 tokens per session (1,170 once invoked), scanned A, original, MIT.

A command-line toolkit for running an iOS app in Apple's iOS Simulator and controlling it through its accessibility information instead of screen coordinates.

In plain words
What is it for?
It helps discover and boot devices, install and launch apps, tap and type into accessible controls, change permissions, and capture screenshots.
Why use it?
It makes simulator tests less dependent on device size, window position, or fragile taps.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the simiancraft-skills plugin — 16 skills, 4 agents shipped together

Good fit It helps discover and boot devices, install and launch apps, tap and type into accessible controls, change permissions, and capture screenshots.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/simiancraft/simiancraft-skills/ios-simulator
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add simiancraft/simiancraft-skills --skill ios-simulator
Clone the repo
git clone --depth 1 https://github.com/simiancraft/simiancraft-skills

Made for: Claude Code.

Or install simiancraft-skills, the plugin that ships this one along with the rest of its 16 skills, 4 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ios-simulator

README.md
[![agentmods](https://agentmods.dev/badge/skills/simiancraft/simiancraft-skills/ios-simulator/github.svg)](https://agentmods.dev/skills/simiancraft/simiancraft-skills/ios-simulator)
Your own site
<a href="https://agentmods.dev/skills/simiancraft/simiancraft-skills/ios-simulator"><img src="https://agentmods.dev/badge/skills/simiancraft/simiancraft-skills/ios-simulator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ios-simulator

Your own site · 80×15
<a href="https://agentmods.dev/skills/simiancraft/simiancraft-skills/ios-simulator"><img src="https://agentmods.dev/badge/skills/simiancraft/simiancraft-skills/ios-simulator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 142 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,170 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00142 $0.01170
Opus 5 $0.00071 $0.00585
Sonnet 5 $0.00028 $0.00234
Haiku 4.5 $0.00014 $0.00117

Measured 10d ago against content hash 0cbe8f039d1a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

ios-simulator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/ios-simulator/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

iOS Simulator (core, project-agnostic)

The kernel for driving an iOS Simulator on macOS. Layers sit ON TOP of this: expo-ios-simulator (the Expo/React-Native runtime), mobile-accessibility (the tree you drive against), ios-simulator-triage (when it breaks), and ios-simulator-flow-evidence (capturing proof). Everything here goes through xcrun simctl and AXe; the Simulator app window is touched only for what the CLI cannot do.

Before anything

Run the checks and install the driver: prerequisites.md. In short, macOS with Xcode (so xcrun simctl), a booted simulator, and AXe (brew install cameroncooke/axe/axe).

The loop

  1. Boot, install, launch an app on a device (references/lifecycle.md): find the booted UDID, simctl install, simctl launch.
  2. Drive by accessibility, not coordinates (references/driving.md): axe tap --id or --label, axe type, axe swipe or gesture. See mobile-accessibility for what makes an app addressable.
  3. Capture (references/capture.md): simctl io ... screenshot; the screenshot is the device framebuffer, so window size and position never matter. Verify it with vision.
  4. Set device state and permissions (references/permissions.md, references/device-state.md): simctl privacy to skip dialogs; appearance, status bar, location, media, clipboard, and push to put the device in a known state.
  5. The app's own chrome (references/simulator-ui.md): menu-only features, the window geometry, and opening a URL on the device.

Rules

The first three are laws about how this environment fails; internalize them before the first command, because the failures they prevent emit no error.

  • Trust effects, not exit codes. Every actuation channel here confirms delivery, not processing: AXe synthesizes HID events (references/driving.md), an AppleScript menu click returns success even when Simulator is backgrounded and the click never lands (references/simulator-ui.md), and simctl launch / openurl return before the app is interactive (observed, reproducible; the readiness gates in expo-ios-simulator references/development-builds.md exist for exactly this). After any step whose outcome matters, verify the state actually changed: re-run axe describe-ui, or screenshot and read it.
  • Gate on readiness signals, never fixed sleeps. Wait on something provably true: simctl bootstatus -b for boot (references/lifecycle.md), --wait-timeout for an element, the accessibility tree growing labels for a screen. A sleep that worked once is a flake that has not fired yet. Layer skills add their own signals (Metro's /status probe and the first-bundle wait in expo-ios-simulator).
  • Ask what is on top before blaming the target. iOS stacks surfaces over the app: permission and app alerts, the software keyboard, and (on Expo) the dev menu, the LogBox toast, and the inspector overlay. When a tap silently does nothing or the tree looks wrong, dump the label inventory (references/driving.md) and clear the overlay first; ios-simulator-triage references/automation-failures.md walks the causes.
  • Prefer simctl and AXe (accessibility) over the window and coordinates, and identity over coordinates (the targeting ladder in references/driving.md). Read the Simulator's state; never resize or full-screen it.
  • Every factual claim here and in the references cites a primary source (the tool's own help, Apple, AXe); a prior-art skill is never a source.

Read the full file on GitHub · 81 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 81 lines · 142 tokens per session scan A 0cbe8f039d1a

Subscribe to this mod's changes

ios-simulator is a skill published in the GitHub repository simiancraft/simiancraft-skills (7 stars, last pushed 6d ago), licensed MIT. It adds 142 tokens to every session and 1,170 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

test-native-extension

Validate a third-party control repo across four automated layers plus one printed manual recipe. Layer 1 asserts native-source structure (Android getName() and iOS +moduleName to manifest nativeModule; @ReactMethod / RCTEXPORTMETHOD to methods; no @ReactModule) plus load/init readiness (ReactPackage public no-arg…

microsoft/power-platform-skills · 211 tokens

ios-device-qa

Use when the user runs /ios-device-qa to drive a real iPhone over USB through a debug-bridge daemon and return a device QA report with verified interactions. Do not use for remote, credential, publish, deploy, or irreversible changes.

OutlineDriven/odin-claude-plugin · 55 tokens

xcode-simulator-testing

Use when asked to run /xcode-simulator-testing with a scheme name or current to build and launch an iOS app in a simulator. Not for project regeneration: use ios-build-fix.

OutlineDriven/odin-claude-plugin · 46 tokens

mobile-app-testing

Record real-device (iOS Simulator / Android emulator) test flows for your app (web or native) via tapflow's MCP server, replay them with tapflow's own CLI, and stream results into an installed e2e-dashboard.

FaisalNoman/playwright-skills · 52 tokens

xcode-testing-workflow

Guide Swift Testing, XCTest, XCUITest, XCUIAutomation-oriented mechanics, code coverage, xctestplan matrices, accessibility-verification follow-through, test filtering, retries, diagnostics, and test-specific fallback work in existing Xcode-managed projects and workspaces. Use when Xcode-aware execution is needed and…

gaelic-ghost/socket · 81 tokens

maestro-fix-cycle

Auto-repair loop for failing Maestro mobile tests on the iOS Simulator, one flow at a time. Use when you want mobile/simulator tests fixed automatically. Triggers on: conserta os testes mobile, arruma o teste do simulador, loop de correcao mobile, fix mobile tests, auto fix ios tests.

parisgroup-ai/imersao-ia-setup · 73 tokens