Use when ANY iOS build fails, test crashes, Xcode misbehaves, or environment issue occurs before debugging code. Covers build failures, compilation errors, dependency conflicts, simulator problems, environment-first diagnostics.
You MUST use this skill for ANY build, environment, or Xcode-related issue before debugging application code.
Use this router when you encounter:
BUILD FAILED, compilation errors, linker errors)This router invokes specialized skills based on the specific issue:
Triggers:
BUILD FAILED without obvious code causexcodebuild processesWhy xcode-debugging first: 90% of mysterious issues are environment, not code. Check this BEFORE debugging code.
Invoke: /skill axiom-xcode-debugging
Triggers:
Invoke: /skill axiom-build-performance
Triggers:
Why spm-conflict-resolver: Specialized agent that analyzes Package.swift and Package.resolved to diagnose and resolve Swift Package Manager conflicts.
Invoke: Launch spm-conflict-resolver agent
Triggers:
Why security-privacy-scanner: Specialized agent that scans for security vulnerabilities and privacy compliance issues.
Invoke: Launch security-privacy-scanner agent or /axiom:audit security
Triggers:
Why modernization-helper: Specialized agent that scans for legacy patterns and provides migration paths with code examples.
Invoke: Launch modernization-helper agent or /axiom:audit modernization
Triggers:
Invoke: /skill axiom-build-debugging
Triggers:
Why testflight-triage: Systematic workflow for investigating TestFlight crashes and reviewing beta feedback. Covers symbolication, crash interpretation, common patterns, and Claude-assisted analysis.
Invoke: /skill axiom-testflight-triage
Triggers:
Why app-store-connect-ref: Reference for navigating ASC crash analysis, metrics dashboards, and data export workflows.
Invoke: /skill axiom-app-store-connect-ref
Triggers:
Why crash-analyzer: Autonomous agent that parses crash reports, identifies patterns (null pointer, Swift runtime, watchdog, jetsam), and generates actionable analysis.
Invoke: Launch crash-analyzer agent or /axiom:analyze-crash
Triggers:
Why metrickit-ref: Complete MetricKit API reference with setup patterns, payload parsing, and integration with crash reporting systems.
Invoke: /skill axiom-metrickit-ref
Triggers:
Why hang-diagnostics: Systematic diagnosis of hangs with decision tree for busy vs blocked main thread, tool selection (Time Profiler, System Trace), and 8 common hang patterns with fixes.
Invoke: /skill axiom-hang-diagnostics
| Thought | Reality |
|---|---|
| "I know how to fix this linker error" | Linker errors have 4+ root causes. xcode-debugging diagnoses all in 2 min. |
| "Let me just clean the build folder" | Clean builds mask the real issue. xcode-debugging finds the root cause. |
| "It's just an SPM issue, I'll fix Package.swift" | SPM conflicts cascade. spm-conflict-resolver analyzes the full dependency graph. |
| "The simulator is just slow today" | Simulator issues indicate environment corruption. xcode-debugging checks systematically. |
| "I'll skip environment checks, it compiles locally" | Environment-first saves 30+ min. Every time. |
Do NOT use ios-build for these — use the correct router instead:
| Error Type | Correct Router | Why NOT ios-build |
|---|---|---|
| Swift 6 concurrency errors | ios-concurrency | Code error, not environment |
| SwiftData migration errors | ios-data | Schema issue, not build environment |
| "Sending 'self' risks data race" | ios-concurrency | Language error, not Xcode issue |
| Type mismatch / compilation errors | Fix the code | These are code bugs |
ios-build is for environment mysteries, not code errors:
User: "My build failed with a linker error"
→ Invoke: /skill axiom-xcode-debugging (environment-first diagnostic)
User: "Builds are taking 10 minutes"
→ Invoke: /skill axiom-build-performance
User: "SPM won't resolve dependencies"
→ Invoke: spm-conflict-resolver agent
User: "Two packages require different versions of the same dependency"
→ Invoke: spm-conflict-resolver agent
User: "Duplicate symbol linker error"
→ Invoke: spm-conflict-resolver agent
User: "I need to prepare for App Store security review"
→ Invoke: security-privacy-scanner agent
User: "Do I need a Privacy Manifest?"
→ Invoke: security-privacy-scanner agent
User: "Are there hardcoded credentials in my code?"
→ Invoke: security-privacy-scanner agent
User: "How do I migrate from ObservableObject to @Observable?"
→ Invoke: modernization-helper agent
User: "Update my code to use modern SwiftUI patterns"
→ Invoke: modernization-helper agent
User: "Should I still use @StateObject?"
→ Invoke: modernization-helper agent
User: "A beta tester said my app crashed"
→ Invoke: /skill axiom-testflight-triage
User: "I see crashes in App Store Connect but don't know how to investigate"
→ Invoke: /skill axiom-testflight-triage
User: "My crash logs aren't symbolicated"
→ Invoke: /skill axiom-testflight-triage
User: "I need to review TestFlight feedback"
→ Invoke: /skill axiom-testflight-triage
User: "How do I find crashes in App Store Connect?"
→ Invoke: /skill axiom-app-store-connect-ref
User: "Where's the crash-free users metric in ASC?"
→ Invoke: /skill axiom-app-store-connect-ref
User: "How do I export crash data from App Store Connect?"
→ Invoke: /skill axiom-app-store-connect-ref
User: "Analyze this crash log" [pastes .ips content]
→ Invoke: crash-analyzer agent or /axiom:analyze-crash
User: "Parse this .ips file: ~/Library/Logs/DiagnosticReports/MyApp.ips"
→ Invoke: crash-analyzer agent or /axiom:analyze-crash
User: "Why did my app crash? Here's the report..."
→ Invoke: crash-analyzer agent or /axiom:analyze-crash
User: "How do I set up MetricKit to collect crash data?"
→ Invoke: /skill axiom-metrickit-ref
User: "How do I parse MXDiagnosticPayload?"
→ Invoke: /skill axiom-metrickit-ref
User: "What's in MXCallStackTree and how do I decode it?"
→ Invoke: /skill axiom-metrickit-ref
User: "My app hangs sometimes"
→ Invoke: /skill axiom-hang-diagnostics
User: "The main thread is blocked and UI is unresponsive"
→ Invoke: /skill axiom-hang-diagnostics
User: "Xcode Organizer shows hang diagnostics for my app"
→ Invoke: /skill axiom-hang-diagnostics
User: "My app was killed by watchdog during launch"
→ Invoke: /skill axiom-hang-diagnostics