What problem does it solve? When an iOS app fails in the simulator — a build failure, a crash, a wrong screenshot, or wrong behaviour — it is easy to guess at causes, apply random fixes, or wipe user data as a shortcut. This Skill enforces a disciplined evidence-to-root-cause loop that reproduces the failure, proves the runtime identity, traces the true owner of the defect, fixes it once, and proves the terminal state. ## Core Features & Use Cases - Structured five-step loop: Bound and reproduce the failure, prove the runtime identity (scheme, bundle identifier, launched process), trace the owner through state and lifecycle, fix once at the shared cause, and prove the terminal state with fresh evidence. - Authorisation guardrails: Distinguishes diagnosis-only work from authorised fixes, requiring explicit approval before editing code when only a symptom was reported, and stopping before destructive actions like deleting stored data. - Evidence discipline: Captures the right evidence per failure surface (build logs, runtime logs, screenshots), preserves user data, and treats clean builds or reinstalls as controlled experiments rather than proof. - Use Case: Your SwiftUI app crashes on relaunch in the simulator. The Skill reproduces the crash, verifies the installed app matches the source under review, traces the defect to a shared state owner, applies a minimal fix with a regression check, and confirms the crash no longer reproduces across backgrounding and relaunch. ## Quick Start Use the debug skill to find the root cause of my iOS app crashing on launch in the simulator and propose a fix.