- Created skills/ directory - Moved 272 skills to skills/ subfolder - Kept agents/ at root level - Kept installation scripts and docs at root level Repository structure: - skills/ - All 272 skills from skills.sh - agents/ - Agent definitions - *.sh, *.ps1 - Installation scripts - README.md, etc. - Documentation Co-Authored-By: Claude <noreply@anthropic.com>
50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
---
|
|
name: ios-debugger-agent
|
|
description: Use XcodeBuildMCP to build, run, launch, and debug the current iOS project on a booted simulator. Trigger when asked to run an iOS app, interact with the simulator UI, inspect on-screen state, capture logs/console output, or diagnose runtime behavior using XcodeBuildMCP tools.
|
|
---
|
|
|
|
# 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.
|