Ios simulator debugger
Swift-focused AI agent skills for iOS and macOS: build, debug, simulator, SwiftUI, Xcode, App Store workflows. Part of Plug'n Skills.
npx -y skills add Xopoko/build-swift-apps --skill ios-simulator-debuggerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Build, run, launch, inspect, interact with, and debug iOS simulator apps using XcodeBuildMCP tools, UI descriptions, screenshots, and log capture. Prefer ios-simulator-browser for user-facing browser mirrors, visible simulator proof, or SwiftUI preview viewing.
SKILL.md
2.3 KB, 530 tokens by cl100k_base, as published. Nobody here has run it
iOS Simulator Debugger
Use XcodeBuildMCP for simulator control, build/run, UI inspection, screenshots, interaction, and logs.
If the user should see or interact with the running app, prefer ios-simulator-browser after this skill has selected or launched the Simulator. Keep this skill focused on build/run, logs, bundle IDs, UI tree inspection, and headless simulator automation.
Workflow
- Discover a booted simulator with
mcp__XcodeBuildMCP__list_sims. If none is booted, ask the user to boot one unless they asked you to boot it. - Set defaults with
mcp__XcodeBuildMCP__session-set-defaults:projectPathorworkspacePath,scheme,simulatorId, optionalconfiguration: "Debug"anduseLatestOS: true. - Build/run with
mcp__XcodeBuildMCP__build_run_simwhen requested. If the build fails, inspect output and retry only when justified, optionally withpreferXcodebuild: true. - After a successful run, verify launch with
mcp__XcodeBuildMCP__describe_uiormcp__XcodeBuildMCP__screenshotbefore UI interaction. - If only launch is requested, use
mcp__XcodeBuildMCP__launch_app_sim. If bundle id is unknown, callmcp__XcodeBuildMCP__get_sim_app_paththenmcp__XcodeBuildMCP__get_app_bundle_id.
Interaction
- Describe before acting:
mcp__XcodeBuildMCP__describe_ui. - Tap by
idorlabelfirst; coordinates only when needed. - Type after focusing a field with
mcp__XcodeBuildMCP__type_text. - Use
mcp__XcodeBuildMCP__gesturefor scrolls and edge swipes. - Capture visual proof with
mcp__XcodeBuildMCP__screenshot.
Logs
Start capture with mcp__XcodeBuildMCP__start_sim_log_cap and the app bundle id. Stop with mcp__XcodeBuildMCP__stop_sim_log_cap and summarize important lines. For console output, set captureConsole: true and relaunch if required.
Troubleshooting
Wrong app means verify scheme/bundle id. Non-hittable elements require fresh describe_ui after layout changes. Do not keep interacting after an unhandled build or launch failure.
Gives 0 of the 12 instructions most debug triage skills give in 530 tokens
Counted across 839 of the 1,149 authors here whose files we hold, read 2026-08-06
- investigate root cause before proposing any fixin 102 of 839, across 65 files
- read error messages completelyin 90 of 839, across 48 files
- create a failing test case before fixingin 84 of 839, across 44 files
- reproduce the issue consistentlyin 82 of 839, across 40 files
- change one variable at a timein 82 of 839, across 42 files
- check recent changesin 74 of 839, across 35 files
- write the regression test before fixingin 74 of 839, across 36 files
- fix the root cause not the symptomin 60 of 839, across 43 files
- implement a single fix at a timein 59 of 839, across 20 files
- trace data flow backward to the sourcein 50 of 839, across 20 files
- remove all debug instrumentationin 49 of 839, across 13 files
- form a single hypothesisin 48 of 839, across 18 files
Said here and by no other author read
- discover a booted simulator before running
- set defaults before building or running
- launch the app directly when only launch is requested
- tap elements by id or label first
- type text after focusing a field
- capture screenshots for visual proof
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.