Skills · Claude Code · Agent Skills
Swift 不用强制解包、没有数据竞争、bundle 里不放密钥,没有商量余地。
面向 Apple 客户端的语言层底线:启用 strict concurrency 的结构化并发、无循环引用的 ARC、类型化错误以及 Keychain。应用层底线(IAM、离线、应用商店)属于 schematize-mobile,并以其为准。
schematize-swift · v0.4.0bash
$ schematize install swift不可妥协的底线
绝不为了“更快”而关闭。完整清单见该技能本身。
强制解包是被推迟的 fatalError
生产环境禁止 try! 和 as!;! 仅在存在真实不变量时使用,并配合带消息的 precondition。
结构化并发
使用 async/await,不用 DispatchSemaphore 等待异步任务,新代码开启 strict concurrency(Swift 6 模式)。
MainActor 只用于 UI,取消是协作式的
@MainActor 只标注触及 UI 的部分,耗时操作要检查 Task.isCancelled。
循环引用就是泄漏
凡是比页面活得久的对象用 [weak self],delegate 用 weak,只有所有者必然更长寿时才用 unowned。
错误是类型化的值
禁止空的 catch;fatalError 仅用于程序不变量,不用于 I/O、网络或用户数据。
密钥放 Keychain,构建固定
密钥绝不放进 bundle 或 UserDefaults,禁止 NSAllowsArbitraryLoads;提交 Package.resolved,CI 中把警告当作错误。
命令
安装在 .claude/commands/。随时运行 /swift-help。
/swift-cc上下文压缩:将交接文档(上下文+清单)写入 archive,并运行 /compact。/swift-claude在仓库根目录创建或合并 schematize-swift 的常驻 CLAUDE.md,不覆盖其他技能的区块。/swift-handoff不压缩,将上下文交接文档写入 archive:用于会话结束或切换任务。/swift-help列出该技能的所有命令。/swift-load强制加载 schematize-swift 的全部规范内容,并在本次会话中应用。/swift-review对照底线审查 .swift:运行 gate,并阅读机器读不出的部分。面向 AI 代理
无需人工介入即可安装。元数据见 llms.txt。
- 运行:git clone https://github.com/schematizeme/skill-swift.git && ./skill-swift/install.sh
- 或下载 https://github.com/schematizeme/skill-swift/releases/latest/download/skill-swift.zip 并解压到 .claude/skills/。
- 将 assets/CLAUDE.md 复制到仓库根目录(常驻规则)。
- 用 /swift-help 确认。
讨论
加载中…