gh-Dimillian-Skills/ios-debugger-agent/SKILL.md
Alan Pope 3db84e63d0
feat: improve 8 skills with targeted optimizations
Hullo @dimillian 👋

I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the before/after:

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| swiftui-ui-patterns | 81% | 100% | +19% |
| github | 85% | 100% | +15% |
| macos-spm-app-packaging | 86% | 100% | +14% |
| react-component-performance | 86% | 100% | +14% |
| swift-concurrency-expert | 88% | 100% | +12% |
| app-store-changelog | 93% | 100% | +7% |
| ios-debugger-agent | 94% | 100% | +6% |
| swiftui-view-refactor | 93% | 95% | +2% |
| swiftui-liquid-glass | 100% | 100% | — |
| swiftui-performance-audit | 100% | 100% | — |

<details>
<summary>Changes made</summary>

**swiftui-ui-patterns** — Expanded description with additional trigger terms (VStack/HStack, @State, @Binding, navigation hierarchies, custom view modifiers). Added explicit build validation checkpoints and error recovery guidance to the workflow steps.

**github** — Added explicit "Use when..." clause with natural trigger terms (check CI status, create PR, list issues). Added a structured "Debugging a CI Failure" numbered workflow organizing existing commands into a clear investigation sequence.

**macos-spm-app-packaging** — Added a minimum end-to-end example (bootstrap to running app). Added validation checkpoints after packaging, signing, and notarization with specific verification commands (codesign, spctl, stapler). Added a common notarization failures troubleshooting table.

**react-component-performance** — Added three concrete before/after code examples (isolate ticking state, stabilize callbacks with useCallback + memo, derived data with useMemo). Expanded profiling validation with explicit React DevTools Profiler steps.

**swift-concurrency-expert** — Expanded description with concrete actions (adding Sendable conformance, @MainActor annotations, resolving actor isolation warnings). Added verification step to workflow. Added three before/after Swift code examples covering @MainActor, protocol conformance isolation, and @concurrent.

**app-store-changelog** — Added commit-to-bullet transformation examples showing how raw commits map to user-facing App Store bullets, plus examples of internal-only commits that get dropped. Added a complete example "What's New" output block.

**ios-debugger-agent** — Added build failure handling and post-launch verification checkpoints to the core workflow (verify app launched via describe_ui or screenshot before proceeding to UI interaction).

**swiftui-view-refactor** — Tightened prose in sections 3, 3b, and large-view handling. Removed a redundant example. Converted workflow list to clean numbered format.

</details>

Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.

If you want to run reviews, evals and optimizations yourself, just `npm install @tessl/cli` then run `tessl skill review path/to/your/SKILL.md`, and click here (https://tessl.io/registry/skills/submit) to find out more.

Thanks in advance 🙏
2026-03-06 16:53:32 +00:00

2.7 KiB

name description
ios-debugger-agent 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 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 mcp__XcodeBuildMCP__describe_ui or mcp__XcodeBuildMCP__screenshot before proceeding to UI interaction.
  • 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.