Skip to main content

swift-stable

Implement and diagnose stable Swift language semantics including value and reference types, optionals, generics, protocols, existentials, ownership, access control, enums, pattern matching, closures, error handling, Codable boundaries, and Objective-C interoperability. Use for Swift source changes and compiler errors; combine with package, concurrency, testing, review, or migration skills as needed.

来源信息

仓库
full-stack-skills/swift-skills
最近来源活动
2026年9月11日 13:43
检测到的 SKILL.md 语言
英语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
5 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
swift-stable
license
Apache-2.0
description
Implement and diagnose stable Swift language semantics including value and reference types, optionals, generics, protocols, existentials, ownership, access control, enums, pattern matching, closures, error handling, Codable boundaries, and Objective-C interoperability. Use for Swift source changes and compiler errors; combine with package, concurrency, testing, review, or migration skills as needed.
# Swift Stable Use this skill as the language-semantic foundation. Respect the project's Swift tools version, supported platforms, strict-concurrency mode, and library-evolution contract. ## Before changing code 1. Inspect `Package.swift`, Xcode project settings when present, CI, and compiler flags. 2. Record Swift tools/compiler version, platforms, target architectures, language mode, strict concurrency, and library evolution. 3. Compile the smallest affected target before diagnosing source semantics. 4. Load `swift-package-manager` for package topology and `swift-concurrency` for actor/task behavior. ## Language rules - Choose `struct` for independent value semantics and `class` only when shared identity, inheritance, or Objective-C constraints are real requirements. - Model absence with optionals; avoid force unwraps and forced casts outside proven invariants with explicit failure behavior. - Prefer exhaustive enums and pattern matching for closed domains. - Distinguish `some Protocol`, `any Protocol`, and generic constraints by ownership, performance, and API evolution needs. - Preserve `Equatable`, `Hashable`, ordering, Codable shape, error, and collection semantics when changing representations. - Make access control intentional. Public API includes generic constraints, associated types, actor isolation, `Sendable`, and thrown errors. - Use copy-on-write or immutable snapshots when mutable storage crosses trust or concurrency boundaries. - Keep Objective-C bridging at adapters; do not leak implicitly unwrapped optionals into the core model. ## Workflow 1. Reproduce compiler or behavioral failure. 2. Classify it as optionality, ownership, generic/existential modeling, overload resolution, ABI, or configuration. 3. Make the minimum type-safe semantic correction. 4. Add a regression test for observable behavior. 5. Run formatting policy, build, tests, and target-specific gates. ```bash swift build swift test ``` Never silently raise platform deployment targets or tools version.
在 GitHub 查看