SKILL.md
iOS Debugger Agent
Overview
Use XcodeBuildMCP to build and run the current project scheme on a booted iOS simulator, interact with the UI, and capture logs. Prefer the MCP tools for simulator control, logs, and view inspection.
Core Workflow
Follow this sequence unless the user asks for a narrower action.
1) Discover the booted simulator
- Call
mcpXcodeBuildMCPlist_simsand select the simulator with stateBooted. - If none are booted, ask the user to boot one (do not boot automatically unless asked).
2) Set session defaults
- Call
mcpXcodeBuildMCPsession-set-defaultswith:
- projectPath or workspacePath (whichever the repo uses) - scheme for the current app - simulatorId from the booted device - Optional: configuration: "Debug", useLatestOS: true
3) Build + run (when requested)
- Call
mcpXcodeBuildMCPbuildrunsim. - If the build fails, check the error output and retry (optionally with
preferXcodebuild: true) or escalate to the user before attempting any UI interaction. - After a successful build, verify the app launched by calling
mcpXcodeBuildMCPdescribe_uiormcpXcodeBuildMCPscreenshotbefore proceeding to UI interaction. - If the app is already built and only launch is requested, use
mcpXcodeBuildMCPlaunchappsim. - If bundle id is unknown:
1) mcpXcodeBuildMCPgetsimapppath 2) mcpXcodeBuildMCPgetappbundleid
UI Interaction & Debugging
Use these when asked to inspect or interact with the running app.
- Describe UI:
mcpXcodeBuildMCPdescribe_uibefore tapping or swiping. - Tap:
mcpXcodeBuildMCPtap(preferidorlabel; use coordinates only if needed). - Type:
mcpXcodeBuildMCPtype_textafter focusing a field. - Gestures:
mcpXcodeBuildMCPgesturefor common scrolls and edge swipes. - Screenshot:
mcpXcodeBuildMCPscreenshotfor visual confirmation.
Logs & Console Output
- Start logs:
mcpXcodeBuildMCPstartsimlog_capwith the app bundle id. - Stop logs:
mcpXcodeBuildMCPstopsimlog_capand summarize important lines. - For console output, set
captureConsole: trueand relaunch if required.
Troubleshooting
- If build fails, ask whether to retry with
preferXcodebuild: true. - If the wrong app launches, confirm the scheme and bundle id.
- If UI elements are not hittable, re-run
describe_uiafter layout changes.