Skills · Claude Code · Agent Skills

Swift 不用强制解包、没有数据竞争、bundle 里不放密钥,没有商量余地。

面向 Apple 客户端的语言层底线:启用 strict concurrency 的结构化并发、无循环引用的 ARC、类型化错误以及 Keychain。应用层底线(IAM、离线、应用商店)属于 schematize-mobile,并以其为准。

v0.4.0Disciplina · Swift/Applegithub.com/schematizeme/skill-swift

维护者 Lucas Andrade

schematize-swift · v0.4.0bash
$ schematize install swift
GitHub →下载技能 (.zip)/swift-help · github.com/schematizeme/schematize-cli

不可妥协的底线

绝不为了“更快”而关闭。完整清单见该技能本身。

强制解包是被推迟的 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 确认。

不想安装?

阅读完整规范并直接复制到你的项目——或安装该技能,让智能体自动执行。