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.
Builds iOS apps with visual feedback using simulator automation tools.
/plugin marketplace add ky1ejs/claude-plugins/plugin install ky1ejs-ios-engineer-plugins-ios-engineer@ky1ejs/claude-pluginsThis skill is limited to using the following 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 |
mcp__xcodebuild__* | Build, test, and deployment tools |
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:
Build the app
Use mcp__xcodebuild tools or:
xcodebuild -scheme Cut -destination 'platform=iOS Simulator,name=iPhone 16 Pro' build
Launch in simulator
mcp__ios-simulator__launch_app with bundle ID: com.watch.cut
Navigate to the changed screen
xcrun simctl openurl booted "cut://..."ui_tap to navigate through the UICapture and analyze
ui_view to get screenshot for visual analysisui_describe_all to verify accessibility treeIterate if needed
Always 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: "com.watch.cut")
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
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.