existential-birds/beagle/swift-code-review
Claude Code and agent skill by existential-birds/beagle
- community
Checking that the SKILL.md file is still in the repository.
Reviews Swift code for concurrency safety, error handling, memory management, and common mistakes. Use when reviewing .swift files for async/await patterns, actor isolation, Sendable conformance, or general Swift best practices.
Install
npx vskill@latest install existential-birds/beagle/swift-code-reviewSKILL.md
Swift Code Review
Review Workflow
Follow this sequence in order. Do not emit findings until every Pass below is satisfied.
- Swift / toolchain baseline — Establish language and tooling context:
Package.swift// swift-tools-versionand any per-target Swift language version orswiftSettingsin the manifest; for Xcode,SWIFT_VERSION(or equivalent) in project or target build settings; note if review is single-file only.
Pass: You state a concrete Swift language version or mode (e.g. Swift 6 language mode, tools 5.10) before advice that depends on strict concurrency, migration-only syntax, or SDK availability.
- Read surrounding code — For each changed
.swiftfile, read the full enclosing type, function, method, or property that contains the edits, not only the diff hunk.
Pass: At least one full enclosing symbol (type or member) containing the change was read per changed file.
- Scope the checklist — Using Quick Reference, decide which Review Checklist rows and references apply; open those reference files; skip rows clearly unrelated to the diff.
Pass: The review (or working notes) lists which checklist areas you applied, or marks areas N/A with a one-line reason tied to the diff (e.g. “no SwiftUI / @Observable in change”).
- Pre-report verification — Load and follow review-verification-protocol.
Pass: That skill’s Hard gates (sequenced) are satisfied for each finding you will report (full symbol read, usage search before “unused”, caller checked before “missing handling”, severity calibrated, [FILE:LINE] proof).
Hard gates (same sequence, shorter)
| Step | Objective pass condition | |
|---|---|---|
| 1 | Swift version/mode (or explicit single-file limitation) recorded before version- or SDK-gated advice. | |
| 2 | Full enclosing symbol read per changed file, not diff-only. | |
| 3 | Checklist areas + references listed or N/A with diff-tied reason. | |
| 4 | review-verification-protocol completed for every reported issue. |
Output format
Report findings as:
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 letorTaskGroup - [ ] 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
LocalizedErrorwith 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
- Are async operations that could run concurrently using
async let? - Could actor state change across suspension points (reentrancy bug)?
- Is
@unchecked Sendablebacked by actual synchronization? - Are errors logged and presented with helpful context?
- Could any closure or delegate create a retain cycle?
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/beagle-ios/skills/swift-code-review/SKILL.md
Popularity
- Repository stars
- 78
- Repository forks
- 9
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/existential-birds/beagle/swift-code-review)