Hunts and fixes concurrency, memory, and I/O bugs in iOS 26/Swift 6.2 clinic-architecture codebases using TDD. Covers data races, actor isolation, retain cycles, SwiftData misuse for crash debugging.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
Adversarial crash-hunting guide for iOS and Swift applications. Contains 47 rules across 8 categories, prioritized by crash severity. Every rule follows TDD: dangerous code first, a failing test that proves the bug, then the fix that makes the test pass.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Adversarial crash-hunting guide for iOS and Swift applications. Contains 47 rules across 8 categories, prioritized by crash severity. Every rule follows TDD: dangerous code first, a failing test that proves the bug, then the fix that makes the test pass.
All guidance in this skill assumes the clinic modular MVVM-C architecture:
Domain + DesignSystem only (never Data, never sibling features)DependencyContainer, concrete coordinators, and Route Shell wiringDomain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contractsData owns SwiftData/network/sync/retry/background I/O and implements Domain protocolsReference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Data Races & Thread Safety | CRITICAL | race- |
| 2 | Memory Corruption & Leaks | CRITICAL | mem- |
| 3 | Deadlocks & Thread Starvation | HIGH | dead- |
| 4 | Async/Await & Structured Concurrency | HIGH | async- |
| 5 | File I/O & Persistence Corruption | MEDIUM-HIGH | io- |
| 6 | Collection & State Mutation | MEDIUM | mut- |
| 7 | Resource Exhaustion | MEDIUM | exhaust- |
| 8 | Objective-C Interop Traps | LOW-MEDIUM | objc- |
race-dictionary-concurrent-write - Concurrent Dictionary mutation crashes with EXC_BAD_ACCESSrace-array-concurrent-append - Concurrent Array append corrupts internal bufferrace-property-access - Unsynchronized property read-write across threadsrace-lazy-initialization - Lazy property double-initialization under concurrencyrace-singleton-initialization - Non-atomic singleton exposes partially constructed staterace-bool-flag - Non-atomic Bool flag creates check-then-act racerace-closure-capture-mutation - Closure captures mutable reference across threadsrace-delegate-nilification - Delegate set to nil during active callbackmem-closure-retain-cycle - Strong self capture in escaping closures creates retain cyclemem-timer-retain-cycle - Timer retains target creating undiscoverable retain cyclemem-delegate-strong-reference - Strong delegate reference prevents deallocationmem-unowned-crash - Unowned reference crashes after owner deallocationmem-notification-observer-leak - NotificationCenter observer retains closure after removal neededmem-combine-sink-retain - Combine sink retains self without cancellable storagemem-async-task-self-capture - Task captures self extending lifetime beyond expected scopedead-sync-on-main - DispatchQueue.main.sync from main thread deadlocks instantlydead-recursive-lock - Recursive lock acquisition on same serial queuedead-actor-reentrancy - Actor reentrancy produces unexpected interleavingdead-semaphore-in-async - Semaphore.wait() inside async context deadlocks thread pooldead-queue-hierarchy - Dispatch queue target hierarchy inversion deadlocksdead-mainactor-blocking - Blocking MainActor with synchronous heavy workasync-missing-cancellation - Missing Task.isCancelled check wastes resources after navigationasync-detached-task-leak - Detached task without cancellation handle leaks workasync-task-group-error - TaskGroup silently drops child task errorsasync-continuation-leak - CheckedContinuation never resumed leaks awaiting taskasync-actor-hop-starvation - Excessive MainActor hops in hot loop starve UI updatesasync-unsafe-sendable - @unchecked Sendable hides data race from compilerio-concurrent-file-write - Concurrent file writes corrupt data without coordinationio-coredata-cross-thread - CoreData NSManagedObject accessed from wrong threadio-swiftdata-background - SwiftData model accessed from wrong ModelContextio-plist-concurrent-mutation - UserDefaults concurrent read-write produces stale valuesio-filemanager-race - FileManager existence check then use is a TOCTOU raceio-keychain-thread-safety - Keychain access from multiple threads returns unexpected errorsmut-enumerate-and-mutate - Collection mutation during enumeration crashes at runtimemut-kvo-dealloc-crash - KVO observer not removed before deallocation crashesmut-index-out-of-bounds - Array index access without bounds check crashesmut-force-unwrap - Force unwrapping optional in production crashes on nilmut-enum-future-cases - Non-exhaustive switch crashes on unknown enum caseexhaust-unbounded-task-spawn - Unbounded task spawning in loop exhausts memoryexhaust-thread-explosion - GCD creates unbounded threads under concurrent loadexhaust-urlsession-leak - URLSession not invalidated leaks delegate and connectionsexhaust-file-descriptor-leak - File handle not closed leaks file descriptorsexhaust-memory-warning-ignored - Low memory warning ignored triggers Jetsam killobjc-unrecognized-selector - Missing @objc annotation crashes with unrecognized selectorobjc-nsnull-in-json - NSNull in decoded JSON collection crashes on accessobjc-bridge-type-mismatch - Swift/ObjC bridge type mismatch crashes at runtimeobjc-dynamic-dispatch - Missing dynamic keyword breaks method swizzlingRead individual reference files for detailed explanations and code examples:
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |