SwiftUI Agent Skills:使用 AI 构建更出色的 Swift 应用

字节笔记本

2026年2月23日

SwiftUI Agent Skills:使用 AI 构建更出色的 Swift 应用

本文介绍 Antoine van der Lee 开源的三个 Swift Agent Skills,帮助开发者使用 AI 构建更出色的 SwiftUI 视图、编写高质量的 Swift Testing 测试,以及理解 Agent Skills 如何替代传统的 AGENTS.md 文件。

什么是 Agent Skills?

Agent Skills 是一种开放格式,用于为 AI 代理提供新的能力和专业知识。它解决了 AGENTS.md 文件在多个项目间重复和维护困难的问题。

相比在每个项目中维护冗长的 AGENTS.md 文件,Agent Skills 允许开发者将特定领域的知识封装成可复用的技能包,在不同项目间共享。

主要优势:

  • 可复用:一次编写,多项目使用
  • 专业化:由领域专家创建的高质量知识库
  • 广泛支持:已被 Codex、Gemini、Claude、Cursor 等工具支持

SwiftUI Agent Skill:构建更好的视图

SwiftUI Agent Skill 帮助开发者构建更好的视图或重构现有视图,包含详细的指南,涵盖性能优化、状态管理和现代 API 使用等方面。

技能结构

text
swiftui-expert-skill/
  SKILL.md
  references/
    image-optimization.md      - AsyncImage 使用、降采样、缓存
    layout-best-practices.md   - 布局模式和 GeometryReader 替代方案
    liquid-glass.md           - iOS 26+ 玻璃效果和降级模式
    list-patterns.md          - ForEach 标识和列表性能
    modern-apis.md            - 废弃 API 的替代方案
    performance-patterns.md   - 热路径优化和更新控制
    scroll-patterns.md        - ScrollViewReader 和程序化滚动
    sheet-navigation-patterns.md - Sheets 和类型安全导航
    state-management.md       - 属性包装器选择和数据流
    text-formatting.md        - 现代 Text 格式化和字符串工具
    view-structure.md         - 视图提取和组合模式

实际应用示例

使用该技能后,AI 代理能够识别并改进以下问题:

视图结构优化:

  • 嵌套滚动问题:BuildInsightsPageViewBuildInsightsView 包装在 ScrollView 中,但 BuildInsightsView 已包含自己的 ScrollView,这可能导致尴尬的滚动/手势行为和布局工作。

性能模式分析:

  • 选择/视图模型同步重复且容易产生冗余更新:存在多个 onAppear/onChange 处理器都设置了 currentSelectedApp 和/或 viewModel

GitHub 仓库: AvdLee/SwiftUI-Agent-Skill


Swift Testing Agent Skill:编写高质量测试

Swift Testing 是 Apple 替代 XCTest 的新一代测试框架。这个 Agent Skill 帮助 AI 代理编写遵循 Apple 最佳实践的高质量测试。

技能内容涵盖

模块内容
fundamentals.md@Test、测试套件、结构和命名模式
expectations.md#expect、#require、异常检查和已知问题
async-testing-and-waiting.md异步等待、continuations 和回调事件测试
parameterized-testing.md单/多参数测试、zip 配对和扩展
parallelization-and-isolation.md并行默认设置、随机顺序和 .serialized 使用
performance-and-best-practices.md高信号测试默认设置,确保速度、确定性和防止不稳定
traits-and-tags.mdTraits、标签、条件、bug 链接和测试计划过滤
migration-from-xctest.md增量 XCTest 共存和迁移策略
xcode-workflows.md测试导航器/报告工作流和诊断实践

实际效果

作者使用该技能将 RocketSim 的单元测试从 XCTest 迁移到 Swift Testing:

  1. 迁移阶段:从 XCTest 迁移到 Swift Testing
  2. 重构阶段:重写测试和业务逻辑以实现更好的并行化
  3. 优化阶段:通过随机顺序、多次运行分析不稳定测试

使用技能前后的对比:

  • 使用前:代理会无缘无故地添加 serialized 标签或 @MainActor,严重影响测试执行速度
  • 使用后:测试主要在并行环境中运行,并出现了令人惊喜的参数化测试重构

"测试越快,代理返回结果的速度就越快。"

GitHub 仓库: AvdLee/Swift-Testing-Agent-Skill


Agent Skills 的工作原理

安装技能

可以使用 openskills CLI 安装技能:

bash
openskills install avdlee/Swift-Concurrency-Agent-Skill

然后同步到项目特定的 AGENTS 文件:

bash
openskills sync

SKILL.md 作为入口点

SKILL.md 文件是 Agent Skill 的摘要,它指导代理,告诉代理关于特定技能的信息,同时在需要时引用其他文件。

使用示例

安装技能后,可以使用以下提示词:

  • "找出我们在不需要的地方使用 @MainActor 的地方"
  • "分析当前项目,看看是否应该使用 @concurrent 将代码移到后台运行"
  • "帮助我将文件 X 重构为 Swift Concurrency"

其他相关技能

Antoine van der Lee 还创建了其他 Swift 相关的 Agent Skills:

  • Swift Concurrency Expert - Swift 并发编程专业知识
  • Core Data Expert - Core Data 数据持久化专业知识

GitHub 仓库: AvdLee/Swift-Concurrency-Agent-Skill


总结

通过安装特定的 Agent Skills,你实际上是在训练代理编写高质量的 Swift 代码。从一开始就获得更高质量的代码意味着花在审查和改进上的时间更少。

Agent Skills 已经极大地改变了作者使用代理进行开发的方式。AGENTS.md 文件变得更简单,而且可以通过技能轻松地在任何项目中共享领域专业知识。


参考链接

  1. SwiftUI Agent Skill - GitHub
  2. Swift Testing Agent Skill - GitHub
  3. Swift Concurrency Agent Skill - GitHub
  4. Agent Skills 官网
  5. openskills CLI
  6. Swift Concurrency 课程

原文作者:Antoine van der Lee - iOS 开发者,自 2010 年开始 iOS 开发,曾任 WeTransfer Staff iOS 工程师,现为全职独立开发者和 SwiftLee 创始人。

分享: