This covers Swift 6.2's strict concurrency model with async/await, actors, and Sendable constraints that catch data races at compile time. You'll want this when migrating from completion handlers to modern patterns, fixing Sendable errors, or wrangling shared state without locks. The reference guide is thorough on task groups, cancellation, and the actor re-entrancy gotchas that bite everyone. The real value is in the migration patterns and the blunt guidance on when not to reach for @unchecked Sendable as a quick fix. If you're still using DispatchQueue for everything or your codebase is drowning in completion handler pyramids, this walks through the proper modern alternatives.

skills.sh installs
181
GitHub stars
233
last updated
Aug 21, 2026

Install

$ npx -y skills add johnrogers/claude-swift-engineering --skill modern-swift --agent claude-code

Installs into .claude/skills of the current project.

Files

Modern Swift (6.2+)

Swift 6.2 introduces strict compile-time concurrency checking with async/await, actors, and Sendable constraints that prevent data races at compile time instead of runtime. This is the foundation of safe concurrent Swift.

Overview

Modern Swift replaces older concurrency patterns (completion handlers, DispatchQueue, locks) with compiler-enforced safety. The core principle: if it compiles with strict concurrency enabled, it cannot have data races.

Quick Reference

NeedUseNOT
Async operationasync/awaitCompletion handlers
Main thread work@MainActorDispatchQueue.main
Shared mutable stateactorLocks, serial queues
Parallel tasksTaskGroupDispatchGroup
Thread safetySendable@unchecked everywhere

Core Workflow

When writing async Swift code:

  1. Mark async functions with async, call with await
  2. Apply @MainActor to view models and UI-updating code
  3. Use actor instead of locks for shared mutable state
  4. Check Task.isCancelled or call Task.checkCancellation() in loops
  5. Enable strict concurrency in Package.swift for compile-time safety

Sponsors

Details

Repository
github.com/johnrogers/claude-swift-engineering
Categories
Documentation, Mobile Development
First seen
Jun 3, 2026

More from johnrogers/claude-swift-engineering

All 10
1jschulte avatarreverse-engineerjschulte/claude-pluginsPerforms deep codebase analysis to generate 11 comprehensive documentation files. Adapts output based on the selected route -- Greenfield extracts business logi181skills.sh installs
2itechmeat avatarcommitsitechmeat/llm-codeConventional Commits specification. Covers commit structure, types, breaking changes. Use when writing structured commit messages, configuring automated changel177skills.sh installs
3observerw avatarskill-creatorobserverw/skill-creator-skillGuide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends agent' capabilit177skills.sh installs
4personamanagmentlayer avatardbt-expertpersonamanagmentlayer/pclExpert-level dbt (data build tool), models, tests, documentation, incremental models, macros, and Jinja templating177skills.sh installs
5syncfusion avatarsyncfusion-react-calendarsyncfusion/react-ui-components-skillsComprehensive guide for implementing the Syncfusion React Calendar component with quick navigation, when-to-use guidance, and reference links for common tasks. 173skills.sh installs
6charleswiltgen avataraxiom-network-framework-refcharleswiltgen/axiomReference — Comprehensive Network.framework guide covering NetworkConnection (iOS 26+), NWConnection (iOS 12-25), TLV framing, Coder protocol, NetworkListener, 170skills.sh installs