axiom-ios-concurrency

安装量: 156
排名: #5539

安装

npx skills add https://github.com/charleswiltgen/axiom --skill axiom-ios-concurrency

iOS Concurrency Router

You MUST use this skill for ANY concurrency, async/await, threading, or Swift 6 concurrency work.

When to Use

Use this router when:

Writing async/await code Seeing concurrency errors (data races, actor isolation) Working with @MainActor Dealing with Sendable conformance Optimizing Swift performance Migrating to Swift 6 concurrency App freezes during loading (likely main thread blocking) Conflict Resolution

ios-concurrency vs ios-performance: When app freezes or feels slow:

Try ios-concurrency FIRST — Main thread blocking is the #1 cause of UI freezes. Check for synchronous work on @MainActor before profiling. Only use ios-performance if concurrency fixes don't help — Profile after ruling out obvious blocking.

ios-concurrency vs ios-build: When seeing Swift 6 concurrency errors:

Use ios-concurrency, NOT ios-build — Concurrency errors are CODE issues, not environment issues ios-build is for "No such module", simulator issues, build failures unrelated to Swift language errors

Rationale: A 2-second freeze during data loading is almost always await on main thread or missing background dispatch. Domain knowledge solves this faster than Time Profiler.

Routing Logic Swift Concurrency Issues

Swift 6 concurrency patterns → /skill axiom-swift-concurrency

async/await patterns @MainActor usage Actor isolation Sendable conformance Data race prevention Swift 6 migration

Swift performance → /skill axiom-swift-performance

Value vs reference types Copy-on-write optimization ARC overhead Generic specialization Collection performance

Synchronous actor access → /skill axiom-assume-isolated

MainActor.assumeIsolated @preconcurrency protocol conformances Legacy delegate callbacks Testing MainActor code synchronously

Thread-safe primitives → /skill axiom-synchronization

Mutex (iOS 18+) OSAllocatedUnfairLock (iOS 16+) Atomic types Lock vs actor decision

Parameter ownership → /skill axiom-ownership-conventions

borrowing/consuming modifiers Noncopyable types (~Copyable) ARC traffic reduction consume operator

Concurrency profiling → /skill axiom-concurrency-profiling

Swift Concurrency Instruments template Actor contention diagnosis Thread pool exhaustion Task visualization Decision Tree User asks about concurrency ├─ Concurrency errors? │ ├─ Data races? → swift-concurrency │ ├─ Actor isolation? → swift-concurrency │ ├─ @MainActor? → swift-concurrency │ └─ Sendable? → swift-concurrency │ ├─ Writing async code? → swift-concurrency │ ├─ assumeIsolated questions? → assume-isolated │ ├─ Mutex/lock/synchronization? → synchronization │ ├─ borrowing/consuming/ownership? → ownership-conventions │ ├─ Profile async performance? → concurrency-profiling │ └─ Performance optimization? → swift-performance

Critical Patterns

Swift 6 Concurrency (swift-concurrency):

Progressive journey: single-threaded → async → concurrent → actors @concurrent attribute for forced background execution Isolated conformances Main actor mode for approachable concurrency 11 copy-paste patterns

Swift Performance (swift-performance):

~Copyable for non-copyable types Copy-on-write (COW) patterns Value vs reference type decisions ARC overhead reduction Generic specialization Example Invocations

User: "I'm getting 'data race' errors in Swift 6" → Invoke: /skill axiom-swift-concurrency

User: "How do I use @MainActor correctly?" → Invoke: /skill axiom-swift-concurrency

User: "My app is slow due to unnecessary copying" → Invoke: /skill axiom-swift-performance

User: "Should I use async/await for this network call?" → Invoke: /skill axiom-swift-concurrency

User: "How do I use assumeIsolated?" → Invoke: /skill axiom-assume-isolated

User: "My delegate callback runs on main thread, how do I access MainActor state?" → Invoke: /skill axiom-assume-isolated

User: "Should I use Mutex or actor?" → Invoke: /skill axiom-synchronization

User: "What's the difference between os_unfair_lock and OSAllocatedUnfairLock?" → Invoke: /skill axiom-synchronization

User: "What does borrowing do in Swift?" → Invoke: /skill axiom-ownership-conventions

User: "How do I use ~Copyable types?" → Invoke: /skill axiom-ownership-conventions

User: "My async code is slow, how do I profile it?" → Invoke: /skill axiom-concurrency-profiling

User: "I think I have actor contention, how do I diagnose it?" → Invoke: /skill axiom-concurrency-profiling

返回排行榜