agent-ios

A workflow for controlling an iOS Simulator, a computer-based copy of an iPhone or iPad used for testing apps. It takes UI snapshots, acts on identified elements, and checks the result with another snapshot or screenshot.

In plain words
What is it for?
Use it to navigate simulator apps, tap controls, type text, inspect accessibility elements, and verify screen layouts.
Why use it?
It reduces mistakes caused by tapping outdated or guessed screen coordinates. Rechecking the interface after each action shows whether the app actually changed as expected.

Skill for Claude CodeCodex

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.

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

Made for: Claude Code, Codex.

Per session 141 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,373 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00141 $0.01373
Opus 5 $0.00071 $0.00687
Sonnet 5 $0.00028 $0.00275
Haiku 4.5 $0.00014 $0.00137

Measured 2d ago against content hash 2245760baf3a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

agent-ios 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 2d 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.

docs/skill/SKILL.md · 92 lines

How it starts

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

agent-ios: drive the iOS Simulator

agent-ios gives you the agent-browser workflow for the iOS Simulator: snapshot the UI to get element refs, act on refs, verify with another snapshot or a screenshot.

The loop

agent-ios snapshot -i        # 1. see the screen: elements with @refs
agent-ios tap @e3            # 2. act on a ref
agent-ios snapshot -i        # 3. re-snapshot: the UI changed, refs are new
agent-ios screenshot         # 4. visual check when layout/rendering matters

Rules:

  • Always snapshot before acting. Refs belong to one snapshot generation; acting on refs from before a UI change exits with code 3 ("take a new snapshot").
  • Re-snapshot after anything that changes the screen - taps, navigation, typing, alerts.
  • Prefer @refs over raw coordinates. Fall back to tap x y only when an element is missing from the tree (some React Native views merge children into one accessibility element; find the target visually via screenshot and tap its coordinates in points).
  • Verify, don't assume. After an action, confirm the effect with snapshot (structure) or screenshot (pixels; the printed path is a PNG you can read).

Reading snapshots

snapshot gen=2 app=host.exp.Exponent screen=402x874
@e11 TextField ph="Search Credentials" (117,89 252x17) [disabled]
@e12 Other "Add Credential" (24,236 354x89)
  • Format: @ref Type "label" id=identifier val="value" ph="placeholder" (x,y wxh) [flags]
  • Flags: [disabled] [selected] [focused] [offscreen]. Offscreen refs (closed drawers, scrolled-away rows) refuse to tap - scroll or open the container first.
  • React Native tappables usually appear as Other with a label, not Button. They tap fine by ref.
  • snapshot with no -i shows the full tree including static text; -i shows only actionable, on-screen elements. --json gives the structured tree.
  • A [!] a system alert is present line means springboard has a dialog up - handle it before anything else.
  • The system share sheet (Save as PDF, Copy, Save to Files, Print, app targets) shows up in the tree and is tappable by ref - its out-of-process coordinates are translated to screen space automatically. If a share action is collapsed under "View More", tap that first.
  • Some pickers run in a fully separate process and do not appear in the session app's tree at all - most notably the Files "save to" / document picker. snapshot there returns nothing. Drive those from a screenshot with coordinate taps, or snapshot --app com.apple.springboard. Prefer pre-granting access (agent-ios permissions grant photos <bundleId>) so pickers/alerts don't appear mid-flow.

Read the full file on GitHub · 92 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. 2d ago First seen · 92 lines · 141 tokens per session scan A 2245760baf3a

Subscribe to this mod's changes

agent-ios is a skill published in the GitHub repository squaduplabs/agent-ios (2 stars, last pushed 1mo ago), licensed MIT. It adds 141 tokens to every session and 1,373 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

issue-triage

Issue triage: audit open issues, categorize, detect duplicates, cross-ref PRs, risk assessment, post comments. Args: "all" for deep analysis of all, issue numbers to focus (e.g. "42 57"), "en"/"fr" for language, no arg = audit only in French.

rtk-ai/rtk · 70 tokens

seo

Optimize for search engine visibility and ranking. Use when asked to "improve SEO", "optimize for search", "fix meta tags", "add structured data", "sitemap optimization", or "search engine optimization".

addyosmani/web-quality-skills · 46 tokens

release

Cut a sim-use release end-to-end. Use when the user runs /release or asks to "ship a release", "publish a version", "cut a release", or "release to homebrew". Drives scripts/local-release.sh; never reimplement its build/sign/tarball logic.

lycorp-jp/sim-use · 61 tokens

Website Audit

Comprehensive website auditing skill using Lighthouse, PageSpeed Insights, and web performance APIs to audit performance, accessibility, SEO, best practices, and security.

PramodDutta/qaskills · 33 tokens

GitHub Hub

Your intelligent GitHub command center -- start here. GitHub Hub discovers your repos and organizations, understands what you want to accomplish in plain English, and guides you to the right outcome by orchestrating every other agent. No commands to memorize. Just talk.

Community-Access/accessibility-agents · 55 tokens

Accessibility Manual Audit

Teach agents to guide manual accessibility audits for keyboard, screen reader, zoom, reflow, focus, and WCAG 2.2 criteria that scanners miss.

PramodDutta/qaskills · 36 tokens