Swift Concurrency
Swift 6 data-race-diagnostik, aktörsisolering, callback-till-async-migrering
Testad · Fungerar
Vad den gör
Diagnostiserar Swift Concurrency-kompilatorfel och vägleder Swift 6-migrering genom att först läsa projektets språkläge och isoleringsinställningar, och sedan tillämpa den minsta säkra fixen. Utlöses vid Sendable, @MainActor, actors, data races, eller konvertering av completion handlers till async/await.
Testrapport
Uppgift: Få en modell med callback-laddare och gemensam cache att kompilera rent i Swift 6 — swiftc -swift-version 6 gav 3 fel «main actor-isolated property ... from a Sendable closure». Baslinjekörningen utan skill – en reflexmässig fix Task { @MainActor in ... } – kompilerades rent (0 fel), det vill säga enligt kompilatorn är båda versionerna likvärdiga. Skillnaden uppstod i nästa steg: skillen, enligt regeln «shared mutable state → actor», gjorde Cache till en aktör, medan basversionen lämnade den som en klass; när jag lade till ett realistiskt krav (förvärmning av cachen från en bakgrunds-Task.detached), kraschade basversionen med felet «non-sendable type 'Cache' ... cannot cross actor boundary», medan skill-versionen kompilerades rent (exit 0). Skillen tvingade också först att fixera language mode och tillämpade sin regel Task entry isolation, och lämnade den ärvda @MainActor, eftersom det synkrona prefixet muterar isLoading. Alla 15 filer i references/ finns på plats, installationen kontrollerades i en tom HOME utan ~/.claude. En länk till författarens betalda kurs finns, men är ärligt angiven i sidfoten och märkt «use sparingly».
Testad: 2026-07-17 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/AvdLee/Swift-Concurrency-Agent-Skill.git mkdir -p ~/.claude/skills cd Swift-Concurrency-Agent-Skill && cp -r swift-concurrency ~/.claude/skills/swift-concurrency
Kommandon och exempelprompter
/swift-concurrencySwift 6 data-race-diagnostik, aktörsisolering, callback-till-async-migrering
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
My Swift 6 build throws main actor-isolated Sendable closure errors, helpMigrate this completion-handler loader to async/await under Swift 6 strict modeThis shared mutable cache won't cross the actor boundary in Swift 6