ios-simulator-interaction

ios-simulator-interaction is a skill for Claude Code, Codex from riwsky/iosef. It costs 107 tokens per session (3,338 once invoked), scanned B, original, MIT.

A toolset for interacting with an iOS app running in the iOS Simulator, including viewing screens, finding interface elements, and performing taps or other actions. The iOS Simulator runs iPhone and iPad apps on a Mac without a physical device.

In plain words
What is it for?
Use it while building or testing an iOS app in the Simulator. It supports starting or connecting to a simulator, inspecting its accessibility tree, viewing screens, interacting with elements, and checking UI state.
Why use it?
It gives an agent a consistent way to inspect and test simulated iOS interfaces using element names and roles, rather than relying only on screen coordinates.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is iosef install_app --app-path ./build/MyApp.app.

Good fit Use it while building or testing an iOS app in the Simulator. It supports starting or connecting to a simulator, inspecting its accessibility tree, viewing screens, interacting with elements, and checking UI state.

Compare 6 skills from other repositories ↓
View source ↗ riwsky/iosef
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/riwsky/iosef
agentmods
npx agentmods add skills/riwsky/iosef/ios-simulator-interaction

Made for: Claude Code, Codex.

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-interaction

README.md
[![agentmods](https://agentmods.dev/badge/skills/riwsky/iosef/ios-simulator-interaction/github.svg)](https://agentmods.dev/skills/riwsky/iosef/ios-simulator-interaction)
Your own site
<a href="https://agentmods.dev/skills/riwsky/iosef/ios-simulator-interaction"><img src="https://agentmods.dev/badge/skills/riwsky/iosef/ios-simulator-interaction/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-interaction

Your own site · 80×15
<a href="https://agentmods.dev/skills/riwsky/iosef/ios-simulator-interaction"><img src="https://agentmods.dev/badge/skills/riwsky/iosef/ios-simulator-interaction.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 107 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,338 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium MCP Rug Pull · line 263
    uvx/uv tool run commands without ==version create a rug-pull risk.
    Fix: Pin the version: uvx package-name==1.2.3
How audits are shown
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.00107 $0.03338
Opus 5.5 $0.00043 $0.01335
Sonnet 5.5 $0.00021 $0.00668
Haiku 4.5 $0.00011 $0.00334

Measured 1mo ago against content hash cd58357a593d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

ios-simulator-interaction scanned grade B with 1 finding 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 1mo 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.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

- **"Could not load framework … SimulatorKit"?** iosef uses the Xcode chosen by `DEVELOPER_DIR`, then `xcode-select`, then `/Applications/Xcode.app`. Check which with `iosef status` (the `Xcode:` line), and point it else
skills/ios-simulator-interaction/SKILL.md · 308 lines

How it starts

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

iOS Simulator Interaction

Use iosef (via Bash) as the primary tool for all iOS simulator interactions. Compared to idb and simctl, it:

  • Lets you interact by AX-tree selectors (--name, --role, --identifier) instead of only bare coordinates
  • Scales screenshots so pixel coordinates match iOS point space — no translation needed
  • Infers which simulator to use from VCS root or session state
  • Provides dedicated assert commands (exists, count, text, wait) with exit codes for scripting

Getting Started

Session lifecycle:

# Create a local session (scoped to this directory)
iosef start --local --device "my-sim"

# ... do work (tap, type, describe, view, etc.) ...

# Tear down — shuts down simulator, deletes device, removes .iosef/
iosef stop

Use --local to avoid interfering with simulators used by other agents. Session state lives in .iosef/state.json — ensure .iosef/ is in .gitignore.

For existing simulators: iosef connect "iPhone 16" --local

Check session state anytime: iosef status (or iosef status --json)

Core Workflow

Inspect: describe and view

Always start with iosef describe to get the accessibility tree. The format is:

AXButton "Label" (center_x±half_width, center_y±half_height)

The center values are the tap targets. Example: AXButton "Start" (197±160, 270±22) → tap at (197, 270).

iosef describe                        # Full AX tree
iosef describe --depth 2              # Limit tree depth
iosef describe --x 200 --y 400       # What's at this coordinate?
iosef describe --json | jq '.. | objects | select(.role == "button")'

Use iosef view for screenshots (not simctl or idb — iosef aligns coordinate spaces):

iosef view                            # Screenshot to temp file (prints path)
iosef view --output /tmp/screen.png   # Screenshot to specific path

Interact: tap, type, swipe

Prefer selectors over coordinates — selectors survive layout changes and scroll position shifts.

Read the full file on GitHub · 308 lines

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. 1mo ago Changed · +32 lines · +7 tokens per session scan A → B cd58357a593d
  2. 1mo ago First seen · 276 lines · 100 tokens per session scan A 44a0312e7ab2

Subscribe to this mod's changes

ios-simulator-interaction is a skill published in the GitHub repository riwsky/iosef (19 stars, last pushed yesterday), licensed MIT. It adds 107 tokens to every session and 3,338 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

testa

Autonomously E2E-test iOS apps in the Simulator — read the screen (accessibility tree OR on-device OCR), tap/type/swipe/drag-drop/pinch/rotate, manage apps, and assert results. Use when asked to test, QA, drive, or reproduce a flow in an iOS app/simulator (React Native, Expo, native SwiftUI, or any app).…

valewnrt/testa · 0 tokens

argent-test-ui-flow

Autonomously test an app UI (iOS or Android) by running interact-screenshot-verify loops using argent MCP tools. Use when testing UI flows, verifying login works, testing navigation, running UI test scenarios, manual QA steps, visible UI changes, or visual behavior.

software-mansion/argent · 61 tokens

mobile-automation

Control Android and iOS devices, emulators and simulators — launch apps, tap, swipe, type, take screenshots, read the accessibility tree. Use when a task involves a mobile device or app, mobile UI testing, or reproducing a bug on a phone.

mobile-next/mobile-mcp · 58 tokens

baguette

Drive and inspect iOS simulators with the baguette CLI: taps, swipes, buttons, typing, screenshots, the accessibility tree, logs, and the conditions an app runs under (location, network, appearance, push, UserDefaults), without opening Xcode. Use when an agent must act on or verify a running simulator — a UI flow…

tddworks/baguette · 116 tokens

ios-simulator-skill

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…

conorluddy/ios-simulator-skill · 106 tokens

argent-qa-e2e

Write repeatable QA regression e2e tests from test cases, tickets, or acceptance criteria. Use when the user asks to write, automate, or generate an e2e test or preserve an automated regression scenario, with deterministic setup, stable targets, executable structural or visual evidence, and two consecutive full…

software-mansion/argent · 137 tokens