ios-debugger-agent
GitHub提供iOS应用构建、启动、UI自动化及调试的标准化工作流,基于XcodeBuildMCP工具在模拟器环境中执行测试与验证。
Trigger Scenarios
Install
npx skills add pingdotgg/t3code --skill ios-debugger-agent -g -y
SKILL.md
Frontmatter
{
"name": "ios-debugger-agent",
"description": "Build, launch, inspect, and drive iOS apps with the repository-configured XcodeBuildMCP server. Use on macOS for iOS Simulator builds, focused native test runs, semantic UI automation, screenshots, logs, or debugging, including T3 Code Mobile verification."
}
iOS Debugger Agent
Use the repository-configured xcodebuildmcp tools instead of requiring a globally installed Codex plugin. Prefer MCP tools over raw xcodebuild, xcrun, or simctl when the client exposes them.
Confirm availability
This workflow requires macOS 14.5 or newer, Xcode 16 or newer, and Node.js 18 or newer. The repository pins XcodeBuildMCP in both .mcp.json for Claude Code and .codex/config.toml for Codex. Project MCP servers may require one-time trust or approval followed by a new session.
If the tools are missing:
- Confirm the repository is trusted and its project MCP server was approved.
- Restart or recreate the agent session after approving configuration.
- Run
npx --yes xcodebuildmcp@2.6.2 doctorwhen the server starts but simulator or UI-automation tools are unavailable. Follow its actionable Xcode or AXe setup guidance. - Fall back to the pinned XcodeBuildMCP CLI or native Apple CLIs only when the current agent client cannot expose project MCP tools.
Do not ask contributors to install the OpenAI build-ios-apps plugin globally.
Establish one simulator context
- Call
session_show_defaultsbefore discovery, build, launch, or UI work. - Call
list_simsand select one explicit simulator UDID. Prefer a simulator that is already booted; boot an installed simulator when verification requires it, but do not create or download runtimes without user authorization. - Call
session_set_defaultswith the project or workspace, scheme, Debug configuration, simulator ID, and bundle identifier when known. - Keep every subsequent build, launch, screenshot, log capture, and UI action pinned to that same UDID.
Avoid generic Mac window automation for switching among Simulator windows. Explicit device identity is more reliable.
Choose build or launch
- Use
build_run_simwhen native source, native dependencies, entitlements, or project configuration changed. - Use
test_simfor the smallest relevant native test target or test cases; do not run an entire workspace test matrix routinely. - Use
launch_app_simwhen a compatible app is already installed and no native rebuild is needed. - To reuse an existing build artifact, use
get_sim_app_pathorget_app_bundle_id, install it withinstall_app_simwhen necessary, and then launch it. - Do not run a build-only action immediately before
build_run_simunless the task requires both artifacts.
After launch, call snapshot_ui or screenshot before interacting. An open Simulator window alone is not evidence that the intended app launched.
Drive the UI semantically
- Call
snapshot_uito obtain the current accessibility hierarchy and element references. - Use only current
elementRefvalues whose snapshot entries list the intended action. XcodeBuildMCP2.6.2does not accept coordinates fortap; when the app exposes no actionable reference, prefer a registered deep link or another app-supported route and otherwise report the accessibility blocker. - Refresh with
snapshot_uiafter navigation or layout changes. Element references are snapshot-specific. - Use
wait_for_uifor asynchronous transitions when available rather than fixed sleeps. - Capture a final
screenshotfor the state that proves the affected flow.
Use gesture or scoped swipe actions when needed. If a gesture is unreliable, return to a known route or relaunch rather than switching to generic desktop automation.
Capture logs and debug
- Use
start_sim_log_capandstop_sim_log_capwith the exact bundle identifier for focused runtime logs. - Use debugger tools only when the task requires runtime diagnosis; attach to the selected simulator and app rather than an ambiguous process.
- Summarize relevant errors instead of returning unbounded logs.
Clean up
Stop only log captures, debugger sessions, apps, or simulators started for the current test. Leave pre-existing simulators and unrelated sessions alone.
Upstream
Adapted from OpenAI's build-ios-apps plugin version 0.1.2 (ios-debugger-agent, MIT) and aligned with XcodeBuildMCP 2.6.2 tool names.
Version History
- ece0508 Current 2026-07-24 22:03


