>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Unknown

如何阻止神经网络生成过时的 SwiftUI 代码

SwiftUI Pro - Agent Skill for Claude Code, Codex, and Gemini

Designed for iOS 26 and later. Designed for Swift 6.2 and later. Twitter: @twostraws

如果你尝试过用 Claude 或 Cursor 中的模型等现代 LLM 生成 iOS 布局,你可能已经注意到一些奇怪的地方。模型自信地输出一个看起来应该能工作的界面,编译器也没有报错,但底层却充满了过时的 API。例如,Apple 几年前归档的 NavigationView,或者一些动画的手动解决方案,而内置修饰符早已存在很长时间了。

在 VoiceOver 方面情况更糟。助手们喜欢堆叠多层自定义手势,完全破坏了视障用户的无障碍访问功能。

Hacking with Swift 项目的作者 Paul Hudson 系统地解决了这个问题。他创建了仓库 twostraws/SwiftUI-Agent-Skill,它教会助手们声明式 UI 的正确习惯。

SwiftUI Pro 是什么

本质上,它是开放 Agent Skills 标准中的一个专业技能。该格式被 Claude Code、Codex、Gemini、Cursor 和 Xcode 扩展支持。

你不需要在系统提示中反复提醒"不要使用已弃用的语法",而是将一个现成的规则数据库连接到代理。该技能基于 Hudson 在 AGENTS.md 项目中的工作,专注于大型语言模型最容易出错的地方。

这个知识库包含的内容:

  • 当前导航和状态绑定的覆盖;
  • 优化视图重绘的规则;
  • VoiceOver 控件的无障碍检查;
  • 软弃用方法的目录——编译器仍然接受,但不应该再这样写了。

作者还有其他平台部分的相关技能:SwiftData Pro、Swift Concurrency Pro 和 Swift Testing Pro。

如何在你的工具中安装技能

通过 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

对于 Xcode 用户,作者录制了单独的视频来介绍集成到开发工作流程中。如果你愿意,也可以直接克隆仓库并在本地使用规则。

如何运行检查

安装后,可以通过命令或自然语言激活该技能。在 Claude Code 中,只需输入:

/swiftui-pro

Codex 助手响应类似的结构:

$swiftui-pro

你可以立即为命令提供上下文,这样代理就不会浪费时间和 token 对整个文件进行审计。例如:

/swiftui-pro Check for deprecated API

或者用常规提示:"使用 SwiftUI Pro 技能,找出这个模块中的性能问题。"

Token 节省和对不明显问题的关注

项目理念中有一个有趣的细节:作者严格控制指令的大小。模型已经无需提示就知道的基本内容(如 VStack 语法或 .padding() 修饰符)被故意排除在外。每一行上下文都会消耗上下文窗口限制,所以规则中只包含微妙之处、边缘情况和非显而易见的渲染陷阱。

如果你想提交包含自己规则的 pull request,请记住两个条件:最大程度的措辞简洁和 MIT 许可证。

Hacking with Swift+ logo

 

Hacking with Swift logo
A Hacking with Swift Project

谁会发现这个仓库有用

如果你为 iOS 或 macOS 开发,并且直接在编辑器中积极使用 AI 代理,绝对值得安装。它可以让你不必清理神经网络生成的遗留代码,并立即将界面生成引导向现代 Swift 标准。

先在一个小项目中使用 npx 安装,然后让代理审查一个有动画的界面。建议的 diff 差异会立即显现出来。

相关项目