axiom-ios-build
npx skills add https://github.com/fotescodev/ios-agent-skills --skill axiom-ios-build
Agent 安装分布
Skill 文档
iOS Build & Environment Router
You MUST use this skill for ANY build, environment, or Xcode-related issue before debugging application code.
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 FAILEDwithout obvious code cause- Tests crash in clean project
- Simulator hangs or won’t boot
- “No such module” after SPM changes
- Zombie
xcodebuildprocesses - Stale builds (old code still running)
- Clean build differs from incremental build
Why xcode-debugging first: 90% of mysterious issues are environment, not code. Check this BEFORE debugging code.
Invoke: /skill axiom-xcode-debugging
2. Slow Builds â build-performance
Triggers:
- Compilation takes too long
- Type checking bottlenecks
- Want to optimize build time
- Build Timeline shows slow phases
Invoke: /skill axiom-build-performance
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. General Dependency Issues â build-debugging
Triggers:
- CocoaPods resolution failures
- “Multiple commands produce” errors
- Framework version mismatches
- Non-SPM dependency graph conflicts
Invoke: /skill axiom-build-debugging
7. 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: /skill axiom-testflight-triage
8. 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: /skill axiom-app-store-connect-ref
9. 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
10. 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: /skill axiom-metrickit-ref
11. 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: /skill axiom-hang-diagnostics
Decision Tree
User reports build/environment issue
ââ Is it mysterious/intermittent/clean build fails?
â ââ YES â xcode-debugging (environment-first)
â
ââ Is it SPM dependency conflict?
â ââ YES â spm-conflict-resolver (Agent)
â
ââ Is it CocoaPods/other dependency conflict? (legacy)
â ââ YES â build-debugging (note: CocoaPods is legacy; prefer SPM)
â
ââ Is it slow build time?
â ââ YES â build-performance
â
ââ Is it security/privacy/App Store prep?
â ââ YES â security-privacy-scanner (Agent)
â
ââ Is it modernization/deprecated APIs/iOS 17+ migration?
â ââ YES â modernization-helper (Agent)
â
ââ Is it TestFlight crash/feedback triage?
â ââ YES â testflight-triage
â
ââ Is it navigating App Store Connect for crashes/metrics?
â ââ YES â app-store-connect-ref
â
ââ Do they have a crash log (.ips/.crash) to analyze?
â ââ YES â crash-analyzer (Agent)
â
ââ Is it MetricKit setup or payload parsing?
â ââ YES â metrickit-ref
â
ââ Is it app hang/freeze/watchdog termination?
ââ YES â hang-diagnostics
Anti-Rationalization
Do NOT skip this router for:
- “Simple” build errors (may have environment cause)
- “Quick fixes” (environment issues return if not addressed)
Environment issues are the #1 time sink in iOS development. Check environment before debugging code.
When NOT to Use (Conflict Resolution)
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:
- â “No such module” when code is correct
- â Simulator won’t boot
- â Clean build fails, incremental works
- â Zombie xcodebuild processes
- â Swift concurrency warnings/errors
- â Database migration failures
- â Type checking errors in valid code
Example Invocations
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