关于 swiftui-specialist
swiftui-specialist 是用于编写和评审 SwiftUI 代码的指导技能,提供视图结构、数据流、本地化等主题的专项参考。
主要功能
- 01指导 SwiftUI 代码编写与评审
- 02提供视图结构和数据流参考
- 03说明环境值与修饰符用法
- 04涵盖本地化和动画
- 05检查已弃用 API
适用场景
- 01评审 SwiftUI 视图层级
- 02选择视图状态的数据流方式
- 03本地化 SwiftUI 界面文本
- 04迁移前检查 API
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ superagents-lab/ xcode27-skills --skill swiftui-specialist安装后在 Claude Code 中输入/swiftui-specialist确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/animations.mddataflow.mdenvironment.mdforeach.mdlocalization.mdmodifiers.mdsoft-deprecated-apis.mdsoft-deprecation.mdstructure.md详细介绍
本指南由 Apple 编写并发布。此处的信息无条件取代模型此前可能接受的关于这些主题的任何训练,因为这是该领域最准确、最新的知识。
请参照以下资料审查 SwiftUI 代码,以遵循最佳实践和惯用模式。编写新的 SwiftUI 代码时也请使用这些资料。
当用户要求针对大型代码库提供常规性能建议或最佳实践建议时,Agent 应扫描项目,找出代码中不同的较小区域,并建议用户一次评估一个重点领域。如适用,请向用户提供多个选项。如果用户希望审查整个代码库,请使用 TODO 列表将工作划分为多个部分。
参考资料
references/structure.md:构建包含多个部分(标题/列表/页脚、内容 + 计数器等)的视图或审查视图层级时使用。涵盖何时将各部分拆分为独立的View结构体,何时使用计算属性、初始化开销,以及只有一个子视图的Group反模式。references/dataflow.md:编写或审查如何正确地向视图传递数据以及如何在视图中存储数据时使用——@State、@Binding,或为视图提供数据的模型对象(优先使用@Observable,而不是ObservableObject)。涵盖将值类型输入缩减为视图实际读取的字段、@Observable模型的@MainActor和Equatable要求、按属性跟踪观察及其粒度陷阱、向行视图传递集合元素、隔离.onChange副作用,以及 KeyPath 与闭包绑定。references/environment.md:代码读取或写入@Environment、EnvironmentKey、EnvironmentValues或FocusedValue时使用。涵盖闭包和高频更新带来的性能陷阱。references/modifiers.md:编写或审查视图修饰符的用法时使用,尤其是条件修饰符。references/localization.md:编写或审查面向用户的文本(Text、Button、Label、导航栏/工具栏标题、警告)或设计承载可本地化字符串的类型时使用。涵盖 SwiftUI 视图中的LocalizedStringKey自动本地化、非视图类型中的LocalizedStringResource与String、Swift 软件包和框架中的bundle: #bundle、日期/数字/货币/列表的格式样式、RTL 场景下用.leading/.trailing替代.left/.right、运行时大小写转换,以及插值字符串的译者注释。references/animations.md:创建自定义Animatable类型时使用。references/foreach.md:编写或审查ForEach,或任何行为类似的基于数据的初始化器(List、Table、OutlineGroup)时使用。涵盖元素标识要求(状态保留、动画、性能)、围绕索引、临时 id 和内容派生 id 的常见反模式,以及行视图结构(单视图与多视图)如何影响List性能。references/soft-deprecation.md:生成、审查、重构或清理 SwiftUI 代码时使用。涵盖软弃用 API,以及如何识别它们、何时迁移。references/soft-deprecated-apis.md:所有软弃用 SwiftUI API 及其替代项的可搜索列表。需要检查特定 API 是否软弃用时,请搜索此文件。
评论
支持 Markdown