关于 neo-swift
neo-swift 是面向 Swift 开发的技能,适用于编写、调试、重构和审查代码。它会结合目标 Swift 版本与平台,提供现代语言特性建议并检查并发安全、内存管理和代码规范。
主要功能
- 01识别 Swift 版本、平台和依赖管理
- 02应用现代 Swift 语法与并发
- 03检查内存生命周期和并发安全
- 04按目标版本优化代码与迁移建议
适用场景
- 01重构旧代码以采用结构化并发
- 02检查 Swift 6 并发安全与数据竞争
- 03为 SwiftUI、UIKit 或服务端 Swift 编写代码
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ benknightdark/ neo-skills --skill neo-swift安装后在 Claude Code 中输入/neo-swift确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/anti-patterns.mdcoding-style.mdpatterns.md详细介绍
Modern Swift(5.0+)专家技能
触发条件
- 用户要求编写、调试、重构或审查 Swift 代码。
- 项目目录中包含
*.swift、Package.swift或*.xcodeproj。 - 开发涉及 iOS(SwiftUI/UIKit)、macOS 或服务端 Swift(Vapor)。
- 需要进行代码现代化改造(例如迁移到结构化并发或 Swift 6 语言模式)。
工作流
- 感知(版本意识):
- 确认 Swift 版本(例如检查
Package.swift或构建设置)。 - 确定平台(SwiftUI 还是 UIKit、服务端还是应用)。
- 评估依赖管理方式(Swift Package Manager、CocoaPods)。
- 确认 Swift 版本(例如检查
- 推理(规划阶段):
- 评估现代语法的使用情况(例如
async/await、Result、@propertyWrapper)。 - 决定内存管理策略(ARC、
weak/unowned)。 - 对于 UI 任务,现代应用优先使用 SwiftUI,旧项目优先考虑 UIKit。
- 评估现代语法的使用情况(例如
- 执行(实施阶段):
- 编写简洁、符合 Swift 风格的代码,并遵循 Apple API 设计指南。
- 实现类型安全、面向协议的解决方案。
- 对异步操作使用结构化并发(
Task、async let)。
- 验证(标准验证):
- 使用捕获列表检查内存泄漏(循环引用)。
- 验证 Swift 6 并发安全性(数据竞争检测)。
- 确保命名符合标准:成员使用
lowercamelCase,类型使用PascalCase。
功能路线图(Swift 5.0 - 6+)
Swift 5.0 - 5.4(基础)
- Result 类型:标准化错误处理。
- 属性包装器:封装属性逻辑(例如
@Published)。 - 不透明类型:隐藏实现细节(
some View)。 - 结果构建器:支持 SwiftUI DSL。
Swift 5.5 - 5.10(现代并发)
- Async/Await:线性异步代码。
- Actor:线程安全的状态隔离。
- 分布式 Actor:跨进程通信。
- 不可复制类型:显式控制对象所有权。
Swift 6+(安全性与性能)
- 完全数据隔离:在编译时防止数据竞争。
- 类型化 Throws:显式定义错误类型。
- 嵌入式 Swift:在受限环境中运行 Swift。
编码标准
- 简洁性:适当使用尾随闭包和简写参数名。
- 安全性:优先使用
if let或guard let,避免强制解包(!)。 - 纯粹性:数据模型优先使用
struct(值类型),而非class(引用类型)。 - 并发:避免使用
Thread.sleep或旧式完成处理程序;使用结构化并发。
交付内容
- 针对版本优化的代码:使用目标 Swift 版本的最佳特性编写代码。
- SwiftUI/UIKit 洞见:根据使用的 UI 框架推荐合适的模式。
- 并发迁移:提供迁移到 Swift 6 严格并发检查的策略。
验证
- 确保代码在目标 Swift 版本下编译时没有警告。
- 验证闭包捕获列表能正确处理对象生命周期。
- 确认错误处理正确使用
do-catch或throws模式。
文档
官方参考资料
内部参考资料
评论
支持 Markdown