swift-code-review

📁 existential-birds/beagle 📅 Jan 19, 2026
70
总安装量
69
周安装量
#3129
全站排名
安装命令
npx skills add https://github.com/existential-birds/beagle --skill swift-code-review

Agent 安装分布

claude-code 53
codex 50
opencode 50
github-copilot 43
cursor 41

Skill 文档

Swift Code Review

Quick Reference

Issue Type Reference
async/await, actors, Sendable, Task references/concurrency.md
@Observable, @ObservationIgnored, @Bindable references/observable.md
throws, Result, try?, typed throws references/error-handling.md
Force unwraps, retain cycles, naming references/common-mistakes.md

Review Checklist

  • No force unwraps (!) on runtime data (network, user input, files)
  • Closures stored as properties use [weak self]
  • Delegate properties are weak
  • Independent async operations use async let or TaskGroup
  • Long-running Tasks check Task.isCancelled
  • Actors have mutable state to protect (no stateless actors)
  • Sendable types are truly thread-safe (beware @unchecked)
  • Errors handled explicitly (no empty catch blocks)
  • Custom errors conform to LocalizedError with descriptive messages
  • Nested @Observable objects are also marked @Observable
  • @Bindable used for two-way bindings to Observable objects

When to Load References

  • Reviewing async/await, actors, or TaskGroups → concurrency.md
  • Reviewing @Observable or SwiftUI state → observable.md
  • Reviewing error handling or throws → error-handling.md
  • General Swift review → common-mistakes.md

Review Questions

  1. Are async operations that could run concurrently using async let?
  2. Could actor state change across suspension points (reentrancy bug)?
  3. Is @unchecked Sendable backed by actual synchronization?
  4. Are errors logged and presented with helpful context?
  5. Could any closure or delegate create a retain cycle?