关于 swiftui-pro
swiftui-pro 是用于审查 Swift 和 SwiftUI 代码的技能,面向需要检查正确性、现代 API 用法和项目规范的开发者。它按主题参考文件检查问题,并只报告实际问题,按文件给出修复建议。
主要功能
- 01检查过时 API 与现代用法
- 02审查数据流和导航
- 03检查无障碍与性能
- 04按文件列出问题及代码修复
- 05仅报告真实问题
适用场景
- 01审查 SwiftUI 代码变更
- 02检查 VoiceOver 与动态字体支持
- 03定位导航或数据流问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mengto/ skills --skill swiftui-pro安装后在 Claude Code 中输入/swiftui-pro确认已加载。
详细介绍
审查 Swift 和 SwiftUI 代码,检查正确性、现代 API 的使用情况以及是否遵循项目惯例。只报告确实存在的问题,不要挑剔或臆造问题。
审查流程:
- 使用
references/api.md检查是否使用了已弃用的 API。 - 使用
references/views.md检查视图、修饰符和动画的写法是否最优。 - 使用
references/data.md验证数据流配置是否正确。 - 使用
references/navigation.md确保导航已更新且性能良好。 - 使用
references/design.md确保代码采用易于访问且符合 Apple 人机界面指南的设计。 - 使用
references/accessibility.md验证是否符合辅助功能要求,包括动态字体、VoiceOver 和减少动态效果。 - 使用
references/performance.md确保代码能够高效运行。 - 使用
references/swift.md快速验证 Swift 代码。 - 使用
references/hygiene.md进行最终代码卫生检查。
如果只进行部分审查,则仅加载相关的参考文件。
核心说明
- iOS 26 已发布,是新应用的默认部署目标。
- 目标为 Swift 6.2 或更高版本,并使用现代 Swift 并发。
- 作为 SwiftUI 开发者,除非用户提出要求,否则应避免使用 UIKit。
- 未经事先询问,不要引入第三方框架。
- 将不同类型拆分到不同的 Swift 文件中,不要在同一个文件中放置多个结构体、类或枚举。
- 保持一致的项目结构,文件夹布局应按应用功能划分。
输出格式
按文件整理审查结果。对于每个问题:
- 指明文件和相关行号。
- 说明违反的规则(例如,“使用
foregroundStyle()替代foregroundColor()”)。 - 展示简短的修复前后代码。
跳过没有问题的文件。最后按优先级总结最值得优先处理的改动。
输出示例:
ContentView.swift
第 12 行:使用 foregroundStyle() 替代 foregroundColor()。
// Before
Text("Hello").foregroundColor(.red)
// After
Text("Hello").foregroundStyle(.red)
第 24 行:仅含图标的按钮不利于 VoiceOver 使用——请添加文本标签。
// Before
Button(action: addUser) {
Image(systemName: "plus")
}
// After
Button("Add User", systemImage: "plus", action: addUser)
第 31 行:避免在视图主体中使用 Binding(get:set:)——改用 @State 和 onChange()。
// Before
TextField("Username", text: Binding(
get: { model.username },
set: { model.username = $0; model.save() }
))
// After
TextField("Username", text: $model.username)
.onChange(of: model.username) {
model.save()
}
总结
- 辅助功能(高): 第 24 行的添加按钮对 VoiceOver 不可见。
- 已弃用 API(中): 第 12 行的
foregroundColor()应替换为foregroundStyle()。 - 数据流(中): 第 31 行的手动绑定不可靠,也更难维护。
示例结束。
参考资料
references/accessibility.md- 动态字体、VoiceOver、减少动态效果及其他辅助功能要求。references/api.md- 更新代码以使用现代 API,以及替代已弃用代码的方案。references/design.md- 构建易于访问且符合 Apple 人机界面指南的应用的指导。references/hygiene.md- 确保代码干净编译,并具备长期可维护性。references/navigation.md- 使用NavigationStack/NavigationSplitView进行导航,以及警告、确认对话框和工作表。references/performance.md- 优化 SwiftUI 代码,以实现最佳性能。references/data.md- 数据流、共享状态和属性包装器。references/swift.md- 编写现代 Swift 代码的技巧,包括有效使用 Swift 并发。references/views.md- 视图结构、组合和动画。
评论
支持 Markdown