swift-6-migration

Migrate Swift codebases to Swift 6 with concurrency adoption and strict checking.

6|2|Updated Oct 25, 2025
One-click install
npx skills add https://github.com/ivan-magda/claude-code-marketplace --skill swift-6-migration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: swift-6-migration
Source: https://github.com/ivan-magda/claude-code-marketplace/tree/main/plugins/swift/skills/swift-6-migration
Command: npx skills add https://github.com/ivan-magda/claude-code-marketplace --skill swift-6-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides expert guidance for migrating Swift codebases to Swift 6, focusing on concurrency adoption, data race safety, and strict checking. It helps fix Sendable conformance issues, actor isolation problems, and enables complete checking mode. Use when migrating to Swift 6, enabling Swift 6 language mode, fixing concurrency warnings, resolving data race issues, or adopting async/await and actors.

Core Features & Use Cases

  • Guided Migration: Step-by-step Swift 6 migration guidance covering concurrency, Sendable conformance, and actor isolation.
  • Incremental Strategy: Promote incremental adoption with complete checking and automatic warnings to minimize breakages.
  • Hands-on Guidance: Practical commands and best practices to apply migration changes safely.

Quick Start

Run the Swift 6 migration workflow on your project: enable Swift 6 language mode for targets, enable complete concurrency checking, and apply incremental fixes per the migration guide.

Frequently Asked Questions about swift-6-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate my Swift codebase to Swift 6?

Migrate to Swift 6 by enabling Swift 6 language mode for your targets, then enable complete concurrency checking to identify data race and Sendable conformance issues. Apply fixes incrementally following the migration guide, adopting async/await and actors to resolve warnings before full deployment.

What is Sendable conformance and why does Swift 6 require it?

Sendable conformance ensures types are safe to share across actor boundaries and concurrent contexts. Swift 6's complete concurrency checking enforces Sendable to prevent data races; you must mark types Sendable or redesign them to isolate mutable state within actors.

Can I migrate to Swift 6 incrementally without fixing all concurrency issues at once?

Yes, Swift 6 supports incremental migration through complete checking mode, which emits warnings before errors. Enable it per-target, fix issues in stages across libraries and tests, and gradually adopt async/await and actor isolation without requiring all changes simultaneously.

What's the difference between Swift 6 language mode and complete concurrency checking?

Swift 6 language mode enables the language's concurrency features; complete concurrency checking enforces strict data race safety rules. Enable language mode first on your targets, then activate complete checking to surface Sendable and actor isolation violations as warnings, then errors.

Do I need to adopt async/await to migrate to Swift 6?

Async/await is not strictly required, but Swift 6 migration focuses on concurrency safety and actor isolation. You must fix data race warnings and Sendable conformance issues; async/await and actors are the idiomatic solutions that eliminate most concurrency violations in Swift 6.

What should I do if Swift 6 migration breaks my existing tests?

Run complete concurrency checking on your test targets and apply the same migration steps: fix Sendable violations, isolate mutable state in actors, and adopt async/await where needed. The migration guide provides incremental testing strategies to verify changes safely across your test suite.