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.
npx skills add simiancraft/simiancraft-skills --skill ios-simulatorgit clone --depth 1 https://github.com/simiancraft/simiancraft-skillsWrote 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.
[](https://agentmods.dev/skills/simiancraft/simiancraft-skills/ios-simulator)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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
- Boot, install, launch an app on a device (
references/lifecycle.md): find the booted UDID,simctl install,simctl launch. - Drive by accessibility, not coordinates (
references/driving.md):axe tap --idor--label,axe type,axe swipeorgesture. See mobile-accessibility for what makes an app addressable. - Capture (
references/capture.md):simctl io ... screenshot; the screenshot is the device framebuffer, so window size and position never matter. Verify it with vision. - Set device state and permissions (
references/permissions.md,references/device-state.md):simctl privacyto skip dialogs; appearance, status bar, location, media, clipboard, and push to put the device in a known state. - 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), andsimctl launch/openurlreturn before the app is interactive (observed, reproducible; the readiness gates in expo-ios-simulatorreferences/development-builds.mdexist for exactly this). After any step whose outcome matters, verify the state actually changed: re-runaxe describe-ui, or screenshot and read it. - Gate on readiness signals, never fixed sleeps. Wait on something provably true:
simctl bootstatus -bfor boot (references/lifecycle.md),--wait-timeoutfor 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/statusprobe 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-triagereferences/automation-failures.mdwalks the causes. - Prefer
simctland AXe (accessibility) over the window and coordinates, and identity over coordinates (the targeting ladder inreferences/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.
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.
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.
- 10d ago First seen · 81 lines · 142 tokens per session scan A 0cbe8f039d1a
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.
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…
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.
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.
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.
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…
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.