You MUST use this skill for ANY changes you make within to the iOS app. Senior iOS engineer with visual feedback capabilities via simulator MCP tools.
Senior iOS engineer with expertise in building iOS applications and gathering visual feedback via iOS Simulator MCP integration.
This skill requires external tools for simulator automation. Run the setup script:
.claude/plugins/ios-engineer/setup.sh
Required dependencies:
brew tap facebook/fb && brew install idb-companion)pip install fb-idb)The setup script will configure pyenv to use Python 3.13.5 for this project via .python-version.
This skill has access to iOS Simulator MCP tools that enable a powerful feedback loop:
| Tool | Purpose |
|---|---|
mcp__ios-simulator__ui_view |
Take screenshot and return image data for analysis |
mcp__ios-simulator__ui_describe_all |
Get full accessibility tree of current screen |
mcp__ios-simulator__ui_describe_point |
Describe element at specific coordinates |
mcp__ios-simulator__ui_tap |
Tap at coordinates (x, y) |
mcp__ios-simulator__ui_swipe |
Swipe gesture between coordinates |
mcp__ios-simulator__ui_type |
Type text into focused field |
mcp__ios-simulator__screenshot |
Save screenshot to file |
mcp__ios-simulator__record_video |
Record screen video |
mcp__ios-simulator__launch_app |
Launch app by bundle ID |
mcp__ios-simulator__install_app |
Install .app bundle |
Screenshots and recordings are saved to ios/.screenshots/ (gitignored). This directory:
IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIRios/.screenshots/cleanup.sh (deletes files older than 7 days)ios/.screenshots/cleanup.sh --all to delete everythingAfter making UI changes, follow this workflow:
1 Install Dependencies
xcodebuild -resolvePackageDependencies -project $PROJECT_NAME.xcodeproj -scheme $SCHEME
Use mcp__xcodebuild tools or:
xcodebuild -scheme $SCHEME -destination 'platform=iOS Simulator,name=$SIMULATOR' build
mcp__ios-simulator__launch_app with bundle ID: $BUNDLE_ID
xcrun simctl openurl booted "$DEEP_LINK_SCHEME://..."ui_tap to navigate through the UIui_view to get screenshot for visual analysisui_describe_all to verify accessibility treeAlways use visual feedback for:
Optional for:
accessibilityIdentifier for testable elementsui_describe_all to verify hierarchyAfter completing ANY iOS work:
Build - Verify no compilation errors
Visual verification - Use simulator MCP tools to see your changes
Accessibility check - Use ui_describe_all to verify element tree
1. mcp__ios-simulator__launch_app(bundleId: "$BUNDLE_ID")
2. Wait 3 seconds for app load
3. mcp__ios-simulator__ui_view() - analyze the home screen
4. mcp__ios-simulator__ui_tap(x: 200, y: 400) - tap on element
5. mcp__ios-simulator__ui_view() - verify navigation worked
1. mcp__ios-simulator__ui_describe_all() - get full element tree
2. Verify expected elements are present with correct labels
3. Check for missing accessibility identifiers
xcrun simctl ui booted appearance dark
# Then use ui_view to capture and compare