What problem does it solve?
This Skill helps you diagnose and resolve Swift Concurrency problems—especially Swift 6 / strict concurrency diagnostics—by clarifying isolation boundaries, Sendable requirements, and task/actor execution behavior.
Core Features & Use Cases
- Diagnose isolation and execution context: Identify whether failures are caused by incorrect
@MainActor usage, actor isolation mismatches, or invalid cross-isolation access.
- Refactor legacy callbacks to modern async/await: Convert patterns to structured concurrency while preserving behavior and avoiding unsafe escape hatches.
- Triage compiler and SwiftLint concurrency warnings: Handle common errors like
Main actor-isolated ... cannot be used from a nonisolated context, Sendable/data-race warnings, and async_without_await.
- Guide Swift 6 migration safely: Use a small, guardrailed migration loop that confirms SwiftPM/Xcode concurrency settings before proposing migration-sensitive changes.
Use cases include: resolving actor protocol conformance errors, fixing Sendable/data-race diagnostics, correcting task entry isolation (Task { ... } vs Task { @concurrent in ... }), and improving correctness around reentrancy, cancellation, and UI-bound work.
Quick Start
Diagnose the attached Swift concurrency compiler diagnostic using the attached code and your project’s Swift concurrency settings, then propose the smallest safe behavior-preserving fix with an explanation of the isolation boundary involved.