Back to Debugging & Troubleshooting

ios-debugger-agent

iOSXcodeSimulatorDebuggingMobile DevelopmentAgentMCP ToolsApp Development
⭐ 3.7kπŸ“„ MITπŸ•’ 2026-03-29Source β†—

Install this skill

npx skills add dimillian/skills

Works across Claude Code, Cursor, Codex, Copilot & Antigravity

The iOS Debugger Agent manages the interaction between AI assistants and local Xcode environments. It provides a structured interface for deploying apps to booted iOS simulators, navigating application hierarchies, and analyzing runtime logs. By orchestrating the XcodeBuildMCP protocol, the agent automates the discovery of simulator states, manages project schemes, and executes UI operations such as tapping, text entry, and gesture tracking. It bridges the gap between raw source code and dynamic simulator behavior, allowing developers to inspect UI states, confirm layout rendering, and capture debug output without manually switching contexts between the code editor and the simulator application. This agent transforms high-level user goals into specific simulator commands, ensuring that build parameters, bundle identifiers, and session defaults remain synchronized during the testing process.

When to Use This Skill

  • β€’Verifying UI layout responsiveness on a specific simulated device
  • β€’Reproducing crash reports by capturing live simulator logs
  • β€’Testing user flows such as login or data entry on a fresh build
  • β€’Confirming that recent code changes reflect correctly in the app interface

How to Invoke This Skill

Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:

  • β€œDebug the current iOS build on the simulator
  • β€œShow me the UI hierarchy for the running app
  • β€œStart capturing logs and try to reproduce the login flow
  • β€œFind the booted simulator and build the app
  • β€œTap the submit button and check for error logs

Pro Tips

  • πŸ’‘Always ensure an iOS simulator is pre-booted to expedite the debugging process; the skill can discover existing booted instances.
  • πŸ’‘Leverage the `session-set-defaults` function to define your project path, scheme, and simulator ID once per session to reduce repetitive inputs.
  • πŸ’‘Combine UI interaction requests with log capture to get a comprehensive view of what happened leading up to an issue.

What this skill does

  • β€’Identify and target active iOS simulators
  • β€’Automate build and launch cycles for specific app schemes
  • β€’Inspect UI element hierarchies via screen description tools
  • β€’Execute remote taps, text inputs, and navigation gestures
  • β€’Stream and summarize console logs directly from the simulator

When not to use it

  • βœ•When physical hardware device testing or debugging is required
  • βœ•If the build environment or Xcode project configuration is corrupted or missing dependencies
  • βœ•For tasks requiring non-simulated features like push notification hardware integration

Example workflow

  1. Confirm a simulator is currently booted
  2. Set the project path, scheme, and simulator ID as session defaults
  3. Build the application and launch it within the simulator environment
  4. Use describe_ui to identify the target interactable elements
  5. Perform the necessary UI actions and initiate log capture
  6. Stop log capture and analyze the resulting output for errors

Prerequisites

  • –Xcode installed on macOS
  • –An existing iOS project with valid scheme configurations
  • –A booted iOS simulator instance

Pitfalls & limitations

  • !Attempts to boot simulators automatically may fail due to system permissions
  • !UI elements might report as non-hittable if the layout has not finished rendering
  • !Incorrect scheme or bundle ID settings will cause build or launch failures

FAQ

Does this agent work with physical iPhone devices?
No, this agent is explicitly built to interface with the Xcode simulator environment and does not support physical hardware connections.
What should I do if the agent cannot find my app bundle ID?
You can resolve this by using the provided get_sim_app_path and get_app_bundle_id tools to manually query the simulator for the correct identifier.
Can the agent interact with UI elements hidden behind menus?
The agent relies on the describe_ui tool to see the current layout. If an element is not present in the description, you must first navigate to the correct screen.

How it compares

Unlike manual testing which requires constant context switching, this agent maintains persistent state information, allowing it to execute multi-step diagnostic workflows faster and with higher accuracy.

Source & trust

⭐ 3.7k starsπŸ“„ MITπŸ•’ Updated 2026-03-29
πŸ“„ Full skill instructions β€” original source: dimillian/skills
# 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 mcp__XcodeBuildMCP__list_sims and select the simulator with state Booted.
- If none are booted, ask the user to boot one (do not boot automatically unless asked).

### 2) Set session defaults
- Call mcp__XcodeBuildMCP__session-set-defaults with:
- 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 mcp__XcodeBuildMCP__build_run_sim.
- If the app is already built and only launch is requested, use mcp__XcodeBuildMCP__launch_app_sim.
- If bundle id is unknown:
1) mcp__XcodeBuildMCP__get_sim_app_path
2) mcp__XcodeBuildMCP__get_app_bundle_id

## UI Interaction & Debugging
Use these when asked to inspect or interact with the running app.

- **Describe UI**: mcp__XcodeBuildMCP__describe_ui before tapping or swiping.
- **Tap**: mcp__XcodeBuildMCP__tap (prefer id or label; use coordinates only if needed).
- **Type**: mcp__XcodeBuildMCP__type_text after focusing a field.
- **Gestures**: mcp__XcodeBuildMCP__gesture for common scrolls and edge swipes.
- **Screenshot**: mcp__XcodeBuildMCP__screenshot for visual confirmation.

## Logs & Console Output
- Start logs: mcp__XcodeBuildMCP__start_sim_log_cap with the app bundle id.
- Stop logs: mcp__XcodeBuildMCP__stop_sim_log_cap and summarize important lines.
- For console output, set captureConsole: true and 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_ui after layout changes.

How to Use This Skill Unit

Option A: Project-Specific (Recommended)

  1. Click "Download" above
  2. In your project, create the directory: .agent/skills/ios-debugger-agent/
  3. Save the file as SKILL.md
  4. The agent will automatically discover the skill based on its description.

Option B: Global Installation (All Agents)

Save the file to these locations to make it available across all projects:

  • Claude Code: ~/.claude/skills/dimillian/skills/ios-debugger-agent/SKILL.md
  • Cursor: ~/.cursor/skills/dimillian/skills/ios-debugger-agent/SKILL.md
  • Antigravity: ~/.gemini/antigravity/skills/dimillian/skills/ios-debugger-agent/SKILL.md

πŸš€ Install with CLI:
npx skills add dimillian/skills

Read the Master Guide: Mastering Agent Skills β†’

Recommended Rules

View more rules β†’

Recommended Workflows

View more workflows β†’

Recommended MCP Servers

View more MCP servers β†’

Take It Further

Maximize your productivity with these powerful resources

πŸ“‹

Define Your Standards

Set up coding standards to ensure this workflow produces consistent, high-quality results.

Browse Rules Library
πŸ“–

Master Workflows

Learn how to create custom workflows, use Turbo Mode, and build your automation library.

Complete Guide

How to use this Skill in Claude Code & Cursor

For Claude Code (CLI)

To use this skill in Claude Code, copy the rule content into your project's custom instructions or follow our Add-Skill CLI guide. This ensures Claude follows your standards during every code generation.

For Cursor & Windsurf

For Cursor or Windsurf, individual skills are best used in the "Rules for AI" section. This specific unit helps the agent avoid debugging & troubleshooting issues, leading to cleaner, more efficient code.

Why the skill format matters: the standardized Agent Skills format lets your AI agent load detailed instructions only when they are relevant, keeping your prompt clean while improving results.

Source & attribution

This skill is categorized under Debugging & Troubleshooting and is published by Thomas Ricouard, maintained in dimillian/skills.

← Browse All Agent Skills
Sponsored AI assistant. Recommendations may be paid.