关于 swift-concurrency-expert
用于审查和修复 Swift 6.2+ 代码并发问题的技能,重点关注 actor 隔离、Sendable 安全和尽量少改动行为,面向处理编译诊断或数据竞争风险的开发者。
主要功能
- 01梳理编译器诊断信息
- 02检查 actor 隔离上下文
- 03采用最小化并发修复
- 04指导 Sendable 安全设计
- 05安全处理后台工作
适用场景
- 01解决 Swift 6.2 并发错误
- 02将 UI 类型隔离到 MainActor
- 03保护共享全局状态
- 04将高开销工作移出主线程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ steipete/ agent-scripts --skill swift-concurrency-expert安装后在 Claude Code 中输入/swift-concurrency-expert确认已加载。
附带文件references/swift-6-2-concurrency.mdreferences/swiftui-concurrency-tour-wwdc.md
详细介绍
Swift 并发专家
归属:复制自 @Dimillian 的 Dimillian/Skills(2025-12-31)。
概述
通过应用 actor 隔离、Sendable 安全和现代并发模式,在尽量不改变行为的前提下,审查并修复 Swift 6.2 及更高版本代码库中的 Swift 并发问题。
工作流
1. 分类问题
- 收集准确的编译器诊断信息和出问题的符号。
- 确认当前的 actor 上下文(
@MainActor、actor、nonisolated),以及是否启用了默认 actor 隔离模式。 - 确认代码是否与 UI 绑定,或是否旨在主 actor 之外运行。
2. 应用最小且安全的修复
优先选择在满足数据竞争安全要求的同时保留现有行为的修改。
常见修复:
- 与 UI 绑定的类型:使用
@MainActor标注类型或相关成员。 - 主 actor 类型上的协议遵循:将遵循声明为隔离的(例如,
extension Foo: @MainActor SomeProtocol)。 - 全局/静态状态:使用
@MainActor保护,或将其移入 actor。 - 后台工作:将耗时工作移至
nonisolated类型上的@concurrent异步函数,或使用actor保护可变状态。 - Sendable 错误:优先使用不可变/值类型;仅在正确时添加
Sendable遵循;除非能证明线程安全,否则避免使用@unchecked Sendable。
参考资料
- Swift 6.2 的变更、模式和示例,请参阅
references/swift-6-2-concurrency.md。 - SwiftUI 专属并发指南,请参阅
references/swiftui-concurrency-tour-wwdc.md。
评论
支持 Markdown