Sep 9, 2026

swift-concurrency-agent-skill:为你的 AI 编码工具注入 Swift 6 并发专业知识

Antoine van der Lee 的这个 1,645 星 skill 把他的 Swift Concurrency Course 提炼成决策树、导航索引和 15 个参考文件——actor 隔离、Sendable、Swift 6.2 新特性、分步迁移指南和可靠的异步测试,适用于任何支持 Agent Skills 的工具。

#tutorial#developer-tools#testing

打开 Swift 6 的严格并发检查后,代码库中潜在的数据竞争会变成编译错误——而每一个都要求你做出隔离决策。这个 skill 教会你的 AI 编码工具排查顺序,让 agent 提出正确的隔离修复方案,而不是到处乱贴 @MainActor。

为什么这个 Skill 重要

README 对受众的描述很精确:正在迁移到 Swift 6 或严格并发的团队,需要安全默认值和快速分诊;正在调试数据竞争、隔离错误或 flaky 异步测试的开发者;以及任何想要围绕 actor、task、Sendable 和异步流的性能导向并发模式的人。

这些内容提炼自 Antoine van der Lee 的 Swift Concurrency Course 及其多年迁移大型生产代码库的经验,打包成可移植的 Agent Plugin(spec 1.0.0),可在任何支持 Agent Skills 开放格式的工具中使用。仓库内含 Claude Code、Cursor、Codex 和 pi 的专用 manifest,插件也已发布到 ChatGPT 和 Codex 共用的 OpenAI Plugins Directory。它刻意保持无立场:只讲业界标准实践和编译期安全,不谈架构偏好。

安装

README 推荐的方式是一条命令:

npx skills add https://github.com/avdlee/swift-concurrency-agent-skill --skill swift-concurrency

在 Claude Code 中则以插件形式安装:

/plugin marketplace add AvdLee/Swift-Concurrency-Agent-Skill
/plugin install swift-concurrency@swift-concurrency-agent-skill

要让仓库里的每个成员自动获得这个 skill,把它加进仓库 .claude/settings.json 的 enabledPlugins 和 extraKnownMarketplaces——同事打开项目时会收到安装提示。ChatGPT 和 Codex 用户可以在插件浏览器里搜索 "Swift Concurrency" 安装;pi、Gemini CLI 和手动安装方式见 INSTALLATION.md。

实战:分诊一批严格并发错误

用 README 原文建议的方式向 agent 提问:

Use the swift concurrency skill and analyze the current project for Swift Concurrency improvements

验证方式是可观察的:agent 应该会引用 skills/swift-concurrency/SKILL.md 里的分诊 playbook,然后根据你的具体错误或任务跳进对应的参考文件。这个结构正是 skill 的价值所在——SKILL.md 放决策树,导航索引会带你路由进 15 个承载深度的参考文件:actors.md 讲隔离与重入,sendable.md 讲隔离域,migration.md 讲分步 Swift 6 迁移策略,testing.md 讲可靠的异步测试,另有内存管理、性能、Core Data 等等。

覆盖范围贯穿迁移全程:在 async/await、actor、task 和 task group 之间做选择;为值类型和引用类型正确实现 Sendable;避开 actor 重入和循环引用;正确处理取消与错误传播;把基于闭包的代码改写为 async/await;从 Combine 或 RxSwift 迁移;用 Swift Testing(推荐)或 XCTest 做测试,包括用 withMainSerialExecutor 获得确定性执行。它也覆盖了 Swift 6.2 的新特性——默认 actor 隔离、isolated deinit、nonisolated(nonsending) 与 @concurrent、iOS 26+ 的并发安全通知。

技巧

  • 一次只问一类错误("先处理所有 Sendable 一致性错误")——参考文件的划分正好对应这种分诊方式。
  • 作者还维护着 SwiftUI、Core Data 和 Swift Testing 的姊妹 skill;我们此前介绍过其中的 SwiftUI 那个。
  • 参考文件里的每个模式都带代码示例,让 agent 先展示模式再动手应用,成本很低。
  • 按 README 的说法,这个 skill 假定你的 agent 已经够聪明——它跳过教科书式解释,只保留决策规则。

何时不用这个 Skill

它是 Swift 专属的 skill——React 或 Kotlin 代码库从中得不到任何东西。另外,如果你指望它给架构意见,README 有意谢绝了:它只讲业界标准实践和编译期安全,分层和模块设计仍然由你决定。


查看 排行榜 了解更多 skill。