iOS & macOS DevelopmentDocumentedScanned

swift-concurrency-expert

Swift Concurrency review and remediation for Swift 6.2+.

Share:

Installation

npx clawhub@latest install swift-concurrency-expert

View the full skill documentation and source below.

Documentation

Swift Concurrency Expert

_Attribution: copied from @Dimillian’s Dimillian/Skills (2025-12-31)._

Overview

Review and fix Swift Concurrency issues in Swift 6.2+ codebases by applying actor isolation, Sendable safety, and modern concurrency patterns with minimal behavior changes.

Workflow

1. Triage the issue

  • Capture the exact compiler diagnostics and the offending symbol(s).
  • Identify the current actor context (@MainActor, actor, nonisolated) and whether a default actor isolation mode is enabled.
  • Confirm whether the code is UI-bound or intended to run off the main actor.

2. Apply the smallest safe fix

Prefer edits that preserve existing behavior while satisfying data-race safety.

Common fixes:

  • UI-bound types: annotate the type or relevant members with @MainActor.

  • Protocol conformance on main actor types: make the conformance isolated (e.g., extension Foo: @MainActor SomeProtocol).

  • Global/static state: protect with @MainActor or move into an actor.

  • Background work: move expensive work into a @concurrent async function on a nonisolated type or use an actor to guard mutable state.

  • Sendable errors: prefer immutable/value types; add Sendable conformance only when correct; avoid @unchecked Sendable unless you can prove thread safety.


Reference material

  • See references/swift-6-2-concurrency.md for Swift 6.2 changes, patterns, and examples.
  • See references/swiftui-concurrency-tour-wwdc.md for SwiftUI-specific concurrency guidance.