Swift 6 并发迁移劝退?让 Claude 当你的 Swift 并发顾问
Swift 6 来了,严格并发把无数老项目打成”main actor bound”。每改一个文件就蹦出一堆 Sendable、actor、@preconcurrency 的编译警告——写起来真的不快乐。
但最近发现一个 Skill,被作者 Antoine van der Lee(就是出过《Swift Concurrency Course》那位)做成了一个”放在 Claude 边上的并发顾问”,GitHub 上 1.6k ⭐、skills.sh 上 1.5 万次安装,我试用一周之后想说:iOS 开发者真该装一个。
它解决什么问题
写 Swift 并发代码,90% 的痛点都集中在三件事:
- 诊断看不懂 — Swift 编译器的并发错误信息长且晦涩,新人是真不知道从哪下手;
- 不知道该用哪种工具 —
Task、Task.detached、async let、withTaskGroup各自适合什么场景,选错了就埋雷; - Swift 6 迁移没头绪 — strict concurrency 全开之后,旧项目一夜回到解放前。
这个 Skill 把这些问题打包成一份”决策树 + 参考手册”:SKILL.md 里是先做哪些分析(读 Package.swift、判断 Swift 语言模式、strict concurrency 级别、default isolation 等),references/ 下六个基础模块(async-await-basics、tasks、actors、sendable、threading,加上 stream 模块),还有专门的 migration / observation / performance / testing / core-data 文档。Claude 看到并发报错时,会先按决策树定位问题、再精准拉对应文档。
几个让我惊艳的细节
作者是真正做过 Swift 6 迁移的人,不是纸面知识:
- 不乱贴 @MainActor — 很多 AI 看到错误就建议”加个 @MainActor 试试”,这个 Skill 明确禁止这种偷懒做法,要求先确认代码是不是真的 UI-bound;
- 结构化并发优先 — 默认推荐
async let、TaskGroup,非必要不用Task.detached; - Sendable 逃逸方案要书面交代 — 用
@preconcurrency、@unchecked Sendable、nonisolated(unsafe)这类”安全绕路”,必须写出文档化的安全不变式,不能稀里糊涂贴上去; - Swift 6.2 新特性全覆盖 — Default Actor Isolation、isolated deinit、Global Actor Conformance、
nonisolated(nonsending)、@concurrent、Approachable Concurrency 构建设置都收进去了。
使用方式
一行命令装好:
npx skills add https://github.com/AvdLee/Swift-Concurrency-Agent-Skill --skill swift-concurrency
或者用 OpenSkills:openskills install avdlee/Swift-Concurrency-Agent-Skill。装完之后,在 Claude Code 里直接说”用 swift concurrency skill 分析一下我的项目”就行,Claude 会自动按决策树加载对应参考。
这个 Skill 是 Agent Skills 开放格式写的,不只是 Claude Code,Codex、Cursor、Gemini CLI 这些兼容的工具都能识别。
适合谁
- 正在迁移 Swift 6 / strict concurrency 的工程团队;
- 写 SwiftUI、async/await 代码常被编译器虐的独立开发者;
- 需要做 Core Data 并发安全设计的老项目维护者;
- 想系统学 Swift 并发模式的中级 Swift 工程师。
一句话总结:这不是个玩具 Skill,是一个被正经 Swift 专家把真实迁移经验蒸馏出来的”并发顾问”。如果你最近被 Swift 6 警告折磨过,装上它,会省下你翻 Stack Overflow 的无数小时。
GitHub: https://github.com/AvdLee/Swift-Concurrency-Agent-Skill
GitHub: https://github.com/AvdLee/Swift-Concurrency-Agent-Skill
评论区
登录后可评论。