AX

A diagnostic guide for resolving iOS build and environment failures.

Install

mkdir -p .claude/skills/axiom-ios-build && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2896" && unzip -o skill.zip -d .claude/skills/axiom-ios-build && rm skill.zip

Installs to .claude/skills/axiom-ios-build

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

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.
228 chars✓ has a “when” trigger
Advanced

Key capabilities

  • Diagnose Xcode build failures
  • Resolve dependency conflicts in CocoaPods and SPM
  • Analyze simulator and test crashes
  • Optimize build performance
  • Audit security and privacy configurations

How it works

The agent routes issues to specialized sub-skills for environment diagnostics, dependency resolution, or crash analysis before suggesting code changes.

Inputs & outputs

You give it
Build error log or crash report
You get back
Diagnostic report and remediation steps

When to use axiom-ios-build

  • Debug Xcode build failure
  • Fix dependency linkage issues
  • Resolve test crashes in simulator

About this skill

Build & Environment

You MUST use this skill for ANY build, environment, or Xcode-related issue before debugging application code.

<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit -->

Not on Claude Code? Where this router says "Launch some-auditor agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read.

Available here: skills/modernization-helper.md. Homed in another suite: axiom-security/skills/security-privacy-scanner.md.

Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those.

<!-- AXIOM_AUDITOR_INLINE_END -->

When to Use

Use this router when you encounter:

  • Build failures (BUILD FAILED, compilation errors, linker errors)
  • Test crashes or hangs
  • Simulator issues (won't boot, device errors)
  • Xcode misbehavior (stale builds, zombie processes)
  • Dependency conflicts (CocoaPods, SPM)
  • Build performance issues (slow compilation)
  • Environment issues before debugging code

Routing Logic

This router invokes specialized skills based on the specific issue:

1. Environment-First Issues → xcode-debugging

Triggers:

  • BUILD FAILED without obvious code cause
  • Tests crash in clean project
  • Simulator hangs or won't boot
  • "No such module" after SPM changes
  • Zombie xcodebuild processes
  • Stale builds (old code still running)
  • Clean build differs from incremental build
  • Device Hub / predicted-vs-built issues in Xcode 27 (OS27)
  • Reproducing a device-only bug on a simulator (Device Hub) (OS27)

Why xcode-debugging first: 90% of mysterious issues are environment, not code. Check this BEFORE debugging code.

Invoke: skills/xcode-debugging.md


2. Slow Builds → build-performance

Triggers:

  • Compilation takes too long
  • Type checking bottlenecks
  • Want to optimize build time
  • Build Timeline shows slow phases

Invoke: skills/build-performance.md


3. SPM Dependency Conflicts → spm-conflict-resolver (Agent)

Triggers:

  • SPM resolution failures
  • "No such module" after adding package
  • Duplicate symbol linker errors
  • Version conflicts between packages
  • Swift 6 package compatibility issues
  • Package.swift / Package.resolved conflicts

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


4. Security & Privacy Audit → security-privacy-scanner (Agent)

Triggers:

  • App Store submission prep
  • Privacy Manifest requirements (iOS 17+)
  • Hardcoded credentials in code
  • Sensitive data storage concerns
  • ATS violations
  • Required Reason API declarations

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


5. iOS 17→18 Modernization → modernization-helper (Agent)

Triggers:

  • Migrate ObservableObject to @Observable
  • Update @StateObject to @State
  • Adopt modern SwiftUI patterns
  • Deprecated API cleanup
  • iOS 17+ migration

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


6. Build Failure Auto-Fix → build-fixer (Agent)

Triggers:

  • BUILD FAILED with no clear error details
  • Build sometimes succeeds, sometimes fails
  • App builds but runs old code
  • "Unable to boot simulator" error
  • Want automated environment-first diagnostics

Why build-fixer: Autonomous agent that checks zombie processes, Derived Data, SPM cache, and simulator state before investigating code. Saves 30+ minutes on environment issues.

Invoke: Launch build-fixer agent or /axiom:fix-build


7. Slow Build Optimization → build-optimizer (Agent)

Triggers:

  • Builds take too long
  • Want to identify slow type checking
  • Expensive build phase scripts
  • Suboptimal build settings
  • Want parallelization opportunities

Why build-optimizer: Scans Xcode projects for build performance optimizations — slow type checking, expensive scripts, suboptimal settings — to reduce build times by 30-50%.

Invoke: Launch build-optimizer agent or /axiom:optimize-build


8. General Dependency Issues → build-debugging

Triggers:

  • CocoaPods resolution failures
  • "Multiple commands produce" errors
  • Framework version mismatches
  • Non-SPM dependency graph conflicts

Invoke: skills/build-debugging.md


9. TestFlight Crash Triage → testflight-triage

Triggers:

  • Beta tester reported a crash
  • Crash reports in Xcode Organizer
  • Crash logs aren't symbolicated
  • TestFlight feedback with screenshots
  • App was killed but no crash report

Why testflight-triage: Systematic workflow for investigating TestFlight crashes and reviewing beta feedback. Covers symbolication, crash interpretation, common patterns, and Claude-assisted analysis.

Invoke: See axiom-shipping (skills/testflight-triage.md)


10. App Store Connect Navigation → app-store-connect-ref

Triggers:

  • How to find crashes in App Store Connect
  • ASC metrics dashboard navigation
  • Understanding crash-free users percentage
  • Comparing crash rates between versions
  • Exporting crash data from ASC
  • App Store Connect API for crash data

Why app-store-connect-ref: Reference for navigating ASC crash analysis, metrics dashboards, and data export workflows.

Invoke: See axiom-shipping (skills/app-store-connect-ref.md)


11. Crash Log Analysis → crash-analyzer (Agent)

Triggers:

  • User has .ips or .crash file to analyze
  • User pasted crash report text
  • Need to parse crash log programmatically
  • Identify crash pattern from exception type
  • Check symbolication status

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


12. MetricKit API Reference → metrickit-ref

Triggers:

  • MetricKit setup and subscription
  • MXMetricPayload parsing (CPU, memory, launches, hitches)
  • MXDiagnosticPayload parsing (crashes, hangs, disk writes)
  • MXCallStackTree decoding and symbolication
  • Field crash/hang collection
  • Background exit metrics

Why metrickit-ref: Complete MetricKit API reference with setup patterns, payload parsing, and integration with crash reporting systems.

Invoke: See axiom-performance (skills/metrickit-ref.md)


13. Hang Diagnostics → hang-diagnostics

Triggers:

  • App hangs or freezes
  • Main thread blocked for >1 second
  • UI unresponsive to touches
  • Xcode Organizer shows hang diagnostics
  • MXHangDiagnostic from MetricKit
  • Watchdog terminations (app killed during launch/background transition)

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: See axiom-performance (skills/hang-diagnostics.md)


14. Live Debugging → lldb

Triggers:

  • Need to reproduce a crash interactively
  • Want to set breakpoints and inspect state
  • Crash report analyzed, now need live investigation
  • Need to attach debugger to running app

Why lldb: Crash reports tell you WHAT crashed. LLDB tells you WHY.

Invoke: skills/lldb.md


16. Runtime Console Capture → xclog-ref

Triggers:

  • Need to see what the app is logging at runtime
  • App crashes but no crash report (need console output)
  • Silent failures (network, data, auth) with no UI feedback
  • Want to capture print()/os_log() output from simulator
  • Need structured log output for analysis
  • "What is the app printing?"

Why xclog-ref: Xcode's debug console isn't accessible externally. xclog combines simctl stdout/stderr with log stream JSON to capture everything print(), NSLog(), os_log(), and Logger emit — with structured fields (level, subsystem, category) for automated analysis.

Invoke: /axiom:console


15. Code Signing Issues → code-signing

Triggers:

  • "No signing certificate found"
  • "Provisioning profile doesn't include signing certificate"
  • errSecInternalComponent in CI
  • ITMS-90035 Invalid Signature on upload
  • Ambiguous identity / multiple certificates
  • Entitlement mismatch or missing capability
  • Setting up CI/CD code signing (GitHub Actions, fastlane match)
  • Certificate expired or revoked

Why code-signing: Code signing errors are NEVER code bugs — they are 100% configuration (certificates, profiles, entitlements, keychains). Diagnosing with CLI tools takes 5 minutes vs hours of guessing.

Invoke: See axiom-security (skills/code-signing.md) (workflows) or See axiom-security (skills/code-signing-diag.md) (troubleshooting)


Decision Tree

  1. Mysterious/intermittent/clean build fails? → xcode-debugging (environment-first)
  2. SPM dependency conflict? → spm-conflict-resolver (Agent)
  3. CocoaPods/other dependency conflict? → build-debugging
  4. Slow build time? → build-performance
  5. Security/privacy/App Store prep? → security-privacy-scanner (Agent)
  6. Want automated build fix (environment-first diagnostics)? → build-fixer (Agent)
  7. Want build time optimization scan? → build-optimizer (Agent)
  8. Modernization/deprecated APIs? → modernization-helper (Agent)
  9. TestFlight crash/feedback? → testflight-triage
  10. Navigating App Store Connect? → app-store-connect-ref
  11. Have a crash log (.ips/.crash)? → crash-analyzer (Agent)
  12. MetricKit setup/parsing? → metrickit-ref
  13. App hang/freeze/watchdog? → hang-diagnostics
  14. Need to reprodu

Content truncated.

When not to use it

  • When the issue is clearly a code-level logic bug
  • When the environment is not an iOS/Xcode project

Prerequisites

Xcode project environmentAccess to build logs

Limitations

  • Requires access to Xcode build environment
  • Limited to iOS/Xcode-related issues

How it compares

It prioritizes environment-first diagnostics to resolve build and configuration issues before attempting code-level debugging.

Compared to similar skills

axiom-ios-build side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
axiom-ios-build (this skill)31moNo flagsAdvanced
flags56moNo flagsBeginner
vercel-advanced-troubleshooting326dCautionAdvanced
vercel-debug-bundle326dReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

More by CharlesWiltgen

View all by CharlesWiltgen

axiom-ios-accessibility

CharlesWiltgen

Use when fixing or auditing ANY accessibility issue - VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.

13

axiom-ios-ai

CharlesWiltgen

Use when implementing ANY Apple Intelligence or on-device AI feature. Covers Foundation Models, @Generable, LanguageModelSession, structured output, Tool protocol, iOS 26 AI integration.

10

axiom-ios-data

CharlesWiltgen

Use when working with ANY data persistence, database, axiom-storage, CloudKit, migration, or serialization. Covers SwiftData, Core Data, GRDB, SQLite, CloudKit sync, file storage, Codable, migrations.

10

axiom-ios-performance

CharlesWiltgen

Use when app feels slow, memory grows, battery drains, or diagnosing ANY performance issue. Covers memory leaks, profiling, Instruments workflows, retain cycles, performance optimization.

11

axiom-networking

CharlesWiltgen

Use when implementing Network.framework connections, debugging connection failures, migrating from sockets/URLSession streams, or adopting structured concurrency networking patterns - prevents deprecated API usage, reachability anti-patterns, and thread-safety violations with iOS 12-26+ APIs

11

axiom-vision

CharlesWiltgen

subject segmentation, VNGenerateForegroundInstanceMaskRequest, isolate object from hand, VisionKit subject lifting, image foreground detection, instance masks, class-agnostic segmentation, VNRecognizeTextRequest, OCR, VNDetectBarcodesRequest, DataScannerViewController, document scanning, RecognizeDocumentsRequest

01

You might also like

flags

facebook

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

530

vercel-advanced-troubleshooting

jeremylongshore

Execute apply Vercel advanced debugging techniques for hard-to-diagnose issues. Use when standard troubleshooting fails, investigating complex race conditions, or preparing evidence bundles for Vercel support escalation. Trigger with phrases like "vercel hard bug", "vercel mystery error", "vercel impossible to debug", "difficult vercel issue", "vercel deep debug".

320

vercel-debug-bundle

jeremylongshore

Execute collect Vercel debug evidence for support tickets and troubleshooting. Use when encountering persistent issues, preparing support tickets, or collecting diagnostic information for Vercel problems. Trigger with phrases like "vercel debug", "vercel support bundle", "collect vercel logs", "vercel diagnostic".

318

stac-troubleshooter

StacDev

Diagnose Stac build, deploy, rendering, caching, and navigation issues using repeatable checks. Use when users report stac build finding no screens, deploy mismatches, runtime unknown widget/action errors, cache staleness, or migration regressions.

13

replit-incident-runbook

jeremylongshore

Execute Replit incident response procedures with triage, mitigation, and postmortem. Use when responding to Replit-related outages, investigating errors, or running post-incident reviews for Replit integration failures. Trigger with phrases like "replit incident", "replit outage", "replit down", "replit on-call", "replit emergency", "replit broken".

00

electron-pro

jshsakura

Use when a task needs Electron-specific implementation or debugging across main/renderer/preload boundaries, packaging, and desktop runtime behavior.

00

Search skills

Search the agent skills registry