Help us improve
Share bugs, ideas, or general feedback.
From beagle-ios
Reviews Swift Combine code for memory leaks, retain cycles, operator misuse, and error handling. Useful for code with Combine imports, AnyPublisher, @Published, PassthroughSubject, or CurrentValueSubject.
npx claudepluginhub existential-birds/beagle --plugin beagle-iosHow this skill is triggered — by the user, by Claude, or both
Slash command
/beagle-ios:combine-code-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Issue Type | Reference |
Explains Apple's Combine framework for reactive programming in Swift. Covers publishers, subscribers, creating publishers, operators like map/flatMap/filter/debounce, combining, and error handling.
Reviews Swift code for concurrency safety (async/await, actors, Sendable), error handling, memory management, force unwraps, and retain cycles. Use for .swift files and SwiftUI @Observable.
Reviews SwiftUI and Swift code for modern APIs, best practices, performance, accessibility, data flow, navigation, and Clean Architecture.
Share bugs, ideas, or general feedback.
| Issue Type | Reference |
|---|---|
| Publishers, Subjects, AnyPublisher | references/publishers.md |
| map, flatMap, combineLatest, switchToLatest | references/operators.md |
| AnyCancellable, retain cycles, [weak self] | references/memory.md |
| tryMap, catch, replaceError, Never | references/error-handling.md |
sink closures use [weak self] when self owns cancellableassign(to:on:self) usage (use assign(to: &$property) or sink)AnyPublisher via eraseToAnyPublisher()flatMap used correctly (not when map + switchToLatest needed)flatMap to keep main chain alivetryMap followed by mapError to restore error typesreceive(on: DispatchQueue.main) before UI updates