What problem does it solve?
Swift concurrency code often produces confusing compiler diagnostics like "Sending value of non-Sendable type" or "Main actor-isolated cannot be used from a nonisolated context", and incorrect fixes can introduce data races, deadlocks, or app rejections. This Skill provides structured guidance for reasoning about isolation domains, choosing correct fixes, and migrating to Swift 6 strict concurrency.
Core Features & Use Cases
- Isolation-Aware Diagnosis: Identifies the isolation boundary (@MainActor, custom actor, nonisolated) before proposing fixes, and reads project build settings (Swift language mode, strict concurrency level, default isolation) from Package.swift or .pbxproj before interpreting diagnostics.
- Triage Playbooks: Maps common errors (non-Sendable warnings, MainActor isolation errors, XCTest async errors, Core Data concurrency warnings) to targeted reference files with preferred fixes.
- Migration Support: Provides a build-fix-rebuild-test validation loop for Swift 6 and strict-concurrency migration with minimal blast radius.
- Use Case: A developer hits "Sending value of non-Sendable type risks causing data races" after enabling strict concurrency. The Skill traces where the value crosses an isolation boundary, then guides a fix using Sendable conformance or actor isolation rather than blanket @MainActor annotations.
Quick Start
Ask the assistant to explain and fix a Swift concurrency warning in your code, such as a data race error involving an actor or Sendable type.