mcpField
A
agent-browser-ios

agent-browser-ios

github.com/owenleezyAgent workflows456 installsUpdated 31w ago
Repository

About agent-browser-ios

An agent-browser skill for controlling iOS Simulator apps, aimed at agents running mobile browser workflows. It documents setup, device interaction patterns, and iOS-specific pitfalls.

Key features

  1. 01Boot and list iOS simulators
  2. 02Use tap and swipe for native controls
  3. 03Inspect accessibility trees and WebViews
  4. 04Capture simulator screenshots

Use cases

  1. 01Run browser tasks in an iOS Simulator
  2. 02Navigate native screens with touch actions
  3. 03Inspect WebView content after enabling Web Inspector

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/owenleezy/agent-browser-skill --skill agent-browser-ios

After installing, type/agent-browser-iosin Claude Code to confirm it loaded.

Details

From the project README

Agent Browser — iOS Simulator

Internal template. Entry point: agent-browser skill.

Recommended config: agent-browser -p ios (short for --provider ios)


NEVER

NEVER run commands before Simulator is booted — daemon can't connect; boot first with xcrun simctl
NEVER use `scroll` on iOS — use `swipe up` / `swipe down` instead
NEVER use `click` on native touch targets — prefer `tap @ref` for iOS elements
NEVER copy element refs across navigations — re-run `snapshot -i` after every screen change
NEVER assume WebView content is inspectable — must enable Web Inspector in Safari → Develop → [device]

Prerequisites

iOS Simulator requires:

  1. macOS (Apple Silicon or Intel)
  2. Xcode with iOS Simulator — install from Mac App Store
  3. Appium — npm install -g appium && appium driver install xcuitest
  4. Simulator must be running in Xcode before starting agent-browser
# Verify prerequisites
xcodebuild -version         # Xcode installed?
appium --version            # Appium installed?
appium driver list --installed   # XCUITest driver present?

Environment Check

printenv | grep AGENT_BROWSER   # already set? Omit the corresponding inline flag

Workflow

# 1. Start Simulator in Xcode first (or via xcrun)
xcrun simctl boot "iPhone 15 Pro"
open -a Simulator

# 2. List available simulators
agent-browser -p ios device list

# 3. Open app in simulator
agent-browser -p ios --device "iPhone 15 Pro" open https://app.example.com

# 4. Explore interactive elements
agent-browser -p ios snapshot -i

# 5. iOS-native gestures
agent-browser -p ios tap @e1
agent-browser -p ios swipe up           # scroll up
agent-browser -p ios swipe down         # scroll down
agent-browser -p ios swipe left         # swipe carousel / delete row
agent-browser -p ios swipe right        # go back (swipe edge)

# 6. Standard commands work too
agent-browser -p ios screenshot --full ios-result.png
agent-browser -p ios find role button click --name "Submit"
agent-browser -p ios get text @e3
agent-browser -p ios wait --load networkidle

Key Patterns

PatternCommand
List simulatorsagent-browser -p ios device list
Target specific device-p ios --device "iPhone 15 Pro"
iOS scrollswipe up / swipe down (not scroll)
iOS taptap @e1 (preferred over click for touch targets)
Navigate backswipe right (edge swipe)
Dismiss bottom sheetswipe down
Take evidence screenshotscreenshot --full ios-result.png
Inspect DOM (WebView)snapshot -i (for web content in WKWebView)

Chrome Commands That Still Work on iOS

These standard commands work with -p ios:

  • open <url> — navigate
  • snapshot / snapshot -i — accessibility tree
  • find role button click --name "..." — semantic locator
  • get text @e1 / get value @e1
  • screenshot [path] / screenshot --full
  • wait @e1 / wait --load networkidle
  • is visible @e1 / is enabled @e1
  • errors / console (for WebView content)

Pitfalls

MistakeFix
Simulator not started before runningStart Simulator in Xcode first, or xcrun simctl boot "iPhone 15 Pro"
Appium not installednpm install -g appium && appium driver install xcuitest
Using scroll instead of swipeiOS uses swipe up/swipe down, not scroll
Using click on touch-only elementsPrefer tap @e1 for native touch targets
device list shows no devicesSimulator not booted — open Xcode → Simulators and boot one
XCUITest driver missingappium driver install xcuitest
WebView content not inspectableEnable "Web Inspector" in Safari → Develop → [device name]

Comments

Markdown supported