SwiftUI-Agent-Skill
让 Claude Code 等 AI 编程工具写出更专业、更现代的 SwiftUI 代码的 Agen
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 Claude Code 等 AI 编程工具写出更专业、更现代的 SwiftUI 代码的 Agen
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:项目作者 Paul Hudson(@twostraws),Hacking with Swift 创始人,GitHub 4000+ 星项目作者
当你用 Claude Code、Codex 或 Gemini 写 SwiftUI 时,是否遇到过这些问题:代码用到了已经被废弃的 API、按钮对 VoiceOver 视障用户完全隐形、滚动时帧率骤降、导航写法混用了新旧两种模式导致 Bug 频出?
这并非用户的错。LLM 的训练数据有截止日期,而 Apple 每年 WWDC 都会淘汰一批旧 API、引入新写法。据统计,AI 编程工具生成的 SwiftUI 代码中,以下问题最为常见:
foregroundColor() 而非 foregroundStyle()、用 cornerRadius() 而非 clipShape(.rect())、用 onChange() 单参数版本而非双参数版本。GeometryReader 滥用、AnyView 滥用、view body 中使用 if/else 分支而非三元表达式导致结构身份丢失。ObservableObject + @Published,而 Swift 5.9+ 的 @Observable 宏才是现代写法。Paul Hudson 在 Reddit 发帖后,该项目两天内获得 1000+ GitHub Stars,目前已有 4000+,充分说明了社区对这类工具的强烈需求。
SwiftUI Agent Skill(又称 SwiftUI Pro)是一个 Agent Skill 格式的插件,由 Paul Hudson 编写,托管于 GitHub(MIT 许可证)。它以 Markdown 文件的形式,向 AI 编程助手传授 SwiftUI 开发中那些"教科书不会写、文档没写清楚、LLM 训练数据容易过时"的细节知识。
用生活化的比喻来说:它就像一位资深 iOS 开发者坐在 AI 旁边,在 AI 每写一段 SwiftUI 代码时,就翻到对应的"检查清单"提醒一句"这里用 foregroundStyle 更好"、"这个按钮 VoiceOver 看不见"。
项目包含 9 个参考文件,涵盖:
| 模块 | 核心检查项 |
|---|---|
| api.md | 废弃 API 更新(foregroundStyle、Tab API、GeometryReader 替代方案) |
| views.md | 视图结构与动画最佳实践,避免在 body 中写大段逻辑 |
| data.md | @Observable vs ObservableObject 选择,数据流架构 |
| navigation.md | NavigationStack vs NavigationView,新旧导航 API 混用问题 |
| design.md | Apple HIG 合规、固定尺寸 vs 弹性布局、ContentUnavailableView |
| accessibility.md | Dynamic Type、VoiceOver、Reduce Motion、图片 alt 文本 |
| performance.md | 避免 AnyView、避免条件分支 view、三元替代 if/else |
| swift.md | 现代 Swift API(FormatStyle、Swift Concurrency、Foundation 改进) |
| hygiene.md | 代码整洁、安全存储敏感信息、SwiftLint 配置 |
SKILL.md 本身定义了 AI 使用这些参考文件的流程:审查代码时,先检查废弃 API,再查视图写法,然后数据流、导航、可访问性、性能、Swift 惯用法,最后整体代码整洁度。
支持 Claude Code、Codex、Gemini、Cursor 等主流 AI 编程工具。
方式一:npx 安装(通用)
npx skills add https://github.com/twostraws/swiftui-agent-skill --skill swiftui-pro
方式二:Claude Code 插件市场
/plugin marketplace add twostraws/SwiftUI-Agent-Skill
/plugin install swiftui-pro@swiftui-agent-skill
安装后,在对话中触发即可:
/swiftui-pro$swiftui-pro/swiftui-pro Check for deprecated APIPaul Hudson 还在 Hacking with Swift 发布了配套 YouTube 视频,指导如何在 Xcode 中安装和使用 Agent Skills,Xcode 16+ 已原生支持这一机制。
这个项目本身不包含任何机器学习模型。它的"智能"来自于 Paul Hudson 数十年 SwiftUI 开发经验的结构化沉淀。
技术特点:
npx skills add 或各 AI 工具的插件市场分发,无服务端组件代码结构:
SwiftUI-Agent-Skill/
├── swiftui-pro/
│ ├── SKILL.md # 主入口,定义审查流程和输出格式
│ ├── .claude-plugin # Claude Code 插件配置
│ ├── agents/openai.yaml # OpenAI Agent 配置
│ ├── references/ # 9 个专项检查参考文件
│ │ ├── api.md / accessibility.md / performance.md ...
│ │ └── views.md / data.md / navigation.md ...
│ └── skills/swiftui-pro/ # Skill 元数据
└── assets/logo.svg # 项目 Logo
项目 README 坦诚列出了使用限制:
SwiftUI Agent Skill 代表了一种新兴趋势:不是让 LLM 自己记住所有知识,而是构建外部知识检索增强(RAG)来补充 LLM 的弱项。
Paul Hudson 的 Swift Agent Skills 系列(SwiftUI Pro、SwiftData Pro、Swift Concurrency Pro、Swift Testing Pro)正在形成一套完整的 Apple 平台 AI 开发知识体系。这一模式的可复制性很强——任何有深度积累的垂直领域(嵌入式、数据库、游戏引擎等)都可以参照这个范式建立自己的 Agent Skill。
对于国内 iOS 开发团队而言,这意味着:
项目信息
图2:SwiftUI Agent Skill 官方 Logo