migrating-to-swift-concurrency — Claude Code skill
Supplies Apple's Swift Concurrency Migration Guide to your agent. Helps resolve data races, fix Sendable errors, and switch to Swift 6.
npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a claude-codeWhat migrating-to-swift-concurrency does
This skill supplies Apple's migration documentation directly to the coding agent. It contains chapters on data-race safety concepts, compiler diagnostic fixes, source compatibility, and runtime execution details.
Reference implementations accompany the texts. Files like Boundaries.swift, Globals.swift, and PreconcurrencyImport.swift show concrete code patterns for actor isolation and concurrency boundaries.
The content targets Swift 6 language semantics. In existing Swift 5 projects, strict concurrency checking must be enabled in compiler settings before these fixes apply cleanly.
What it helps with
- resolve Sendable conformance and actor isolation compiler errors
- prepare codebases for the Swift 6 language mode
- enable data-race safety checking in Swift 5 projects
- introduce async/await incrementally into legacy code
Example prompts for the agent
- Fix this compiler warning about passing non-Sendable closure across an actor boundary
- Show how to wrap this legacy API using preconcurrency import in Swift
- What is the recommended migration strategy to prepare our module for Swift 6?
How to install migrating-to-swift-concurrency
1Skills CLI (Vercel)
npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a claude-code2Manually: put the files in place
~/.claude/skills/migrating-to-swift-concurrency/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/migrating-to-swift-concurrency/
1Skills CLI (Vercel)
npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a codex2Manually: put the files in place
.agents/skills/migrating-to-swift-concurrency/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a cursor2Manually: put the files in place
.cursor/skills/migrating-to-swift-concurrency/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install kylehughes/the-unofficial-swift-concurrency-migration-skill migrating-to-swift-concurrency2Manually: put the files in place
.github/skills/migrating-to-swift-concurrency/SKILL.md1Skills CLI (Vercel)
npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a gemini-cli2Platform CLI
gemini skills install https://github.com/kylehughes/the-unofficial-swift-concurrency-migration-skill --path migrating-to-swift-concurrencyManually: put the files in place
.devin/skills/migrating-to-swift-concurrency/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about migrating-to-swift-concurrency
How to install migrating-to-swift-concurrency in Claude Code?
Run npx skills add kylehughes/the-unofficial-swift-concurrency-migration-skill --skill migrating-to-swift-concurrency -a claude-code.
What does migrating-to-swift-concurrency do?
It gives your assistant Apple's official concurrency guide and reference files to fix data races and compiler issues.
Which Swift versions does the documentation cover?
It covers Swift 6 adoption and data-race checking enablement for existing Swift 5 codebases.
Source text
SKILL.md · Apache-2.0
--- name: migrating-to-swift-concurrency description: Provides the complete Swift Concurrency Migration Guide. Use when migrating to Swift 6, resolving data-race safety errors, understanding Sendable and actor isolation, or incrementally adopting async/await. --- # Swift Concurrency Migration Guide The complete content of the Swift Concurrency Migration Guide by Apple. This guide helps you migrate your code to take advantage of Swift's data-race safety guarantees and the Swift 6 language mode. ## Documentation - **Data Race Safety** ([Guide/DataRaceSafety.md](Guide/DataRaceSafety.md)): Learn about the fundamental concepts Swift uses to enable data-race-free - **Migration Strategy** ([Guide/MigrationStrategy.md](Guide/MigrationStrategy.md)): Get started migrating your project to the Swift 6 language mode. - **Enable data-race safety checking** ([Guide/EnableDataRaceSafety.md](Guide/EnableDataRaceSafety.md)): Use Swift 6 to get full data-race safety checking or add checking to an existing Swift 5 project. - **Common Compiler Errors** ([Guide/CommonProblems.md](Guide/CommonProblems.md)): Identify, understand, and address common problems you can encounter while - **Incremental Adoption** ([Guide/IncrementalAdoption.md](Guide/IncrementalAdoption.md)): Learn how you can introduce Swift concurrency features into your project - **Migrating to upcoming language features** ([Guide/FeatureMigration.md](Guide/FeatureMigration.md)): Migrate your project to upcoming language features. - **Source Compatibility** ([Guide/SourceCompatibility.md](Guide/SourceCompatibility.md)): See an overview of potential source compatibility issues. - **Library Evolution** ([Guide/LibraryEvolution.md](Guide/LibraryEvolution.md)): Annotate library APIs for concurrency while preserving source and ABI - **Runtime Behavior** ([Guide/RuntimeBehavior.md](Guide/RuntimeBehavior.md)): Learn how Swift concurrency runtime semantics differ from other runtimes you may ## Code Examples Swift source files demonstrating migration patterns and concurrency concepts: - **Boundaries.swift** ([Examples/Boundaries.swift](Examples/Boundaries.swift)): Example code demonstrating Boundaries. - **ConformanceMismatches.swift** ([Examples/ConformanceMismatches.swift](Examples/ConformanceMismatches.swift)): Example code demonstrating ConformanceMismatches. - **DispatchQueue_PendingWork.swift** ([Examples/DispatchQueue_PendingWork.swift](Examples/DispatchQueue_PendingWork.swift)): Example code demonstrating DispatchQueue PendingWork. - **Globals.swift** ([Examples/Globals.swift](Examples/Globals.swift)): Example code demonstrating Globals. - **IncrementalMigration.swift** ([Examples/IncrementalMigration.swift](Examples/IncrementalMigration.swift)): Example code demonstrating IncrementalMigration. - **PreconcurrencyImport.swift** ([Examples/PreconcurrencyImport.swift](Examples/PreconcurrencyImport.swift)): Example code demonstrating PreconcurrencyImport. - **main.swift** ([Examples/main.swift](Examples/main.swift)): Example code demonstrating main. ## Usage Notes - Start with Data Race Safety to understand the core concepts - Follow the Migration Strategy for a recommended approach - Refer to Common Problems for solutions to typical issues - Use the Code Examples as reference implementations ## License & Attribution ### Content License The documentation and example code in this skill are from the [Swift Concurrency Migration Guide](https://github.com/swiftlang/swift-migration-guide.git), copyright Apple Inc. and the Swift project authors, distributed under the [Apache 2.0 License](LICENSE.txt). ### Skill Structure License The structure and organization of this skill (this index file) is copyright Kyle Hughes, distributed under the MIT License.
© kylehughes · Apache-2.0 · kylehughes/the-unofficial-swift-concurrency-migration-skill