review-swiftlisted
Install: claude install-skill nielsmadan/skills
<!-- Generated from https://github.com/nielsmadan/agentic-coding — edits here are overwritten. -->
# Review Swift
Swift review that covers what **the compiler and SwiftLint cannot decide for you** — how state is *modeled*, whether optionals and errors carry the right information, whether isolation and ownership reflect real intent, and whether an escape hatch is papering over a design problem.
Run on `.swift` files. Complements `review-cleancode` (SOLID/DRY/smells) — don't repeat it.
## Relationship to the toolchain (read first)
Three layers already cover the mechanical work. Your job is what's left.
**1. The compiler.** In Swift 6 language mode (or `-strict-concurrency=complete`), data-race safety is *enforced*: non-`Sendable` values crossing isolation boundaries, non-isolated global/static mutable state, actor state accessed from another domain, `deinit` isolation, `@Sendable` closure captures. Never report these as review findings when that mode is on.
**2. SwiftLint — but check what's actually enabled.** Many safety-relevant rules are **opt-in**, so in a default config they do *not* run. Verified against SwiftLint 0.55.1 (`swiftlint rules`):
| Rule | Opt-in? |
|---|---|
| `force_cast`, `force_try` | **on by default** |
| `identifier_name`, `type_name`, `line_length`, `function_body_length`, `type_body_length`, `cyclomatic_complexity` | on by default |
| `redundant_void_return`, `redundant_optional_initialization` | on by default |
| `force_unwrapping`, `implicitly