Individual skill
ios-chaos-monkey
Crash-hunter skill for iOS 26 / Swift 6.2 clinic-architecture codebases that finds and fixes concurrency, memory, and I/O bugs using TDD. Covers data races, actor isolation, retain cycles, SwiftData context misuse, and sync-related failures in Domain/Data/App boundaries. Use when debugging crashes or hard-to-reproduce failures in ios-* and swift-* clinic modules.
skills/.experimental/ios-chaos-monkey/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- testing Derived category
- engineering Derived category
- data Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 9,286 bytesassets/templates/_template.mddoc · 723 bytesmetadata.jsonasset · 1,340 bytesreferences/_sections.mddoc · 2,412 bytesreferences/async-actor-hop-starvation.mddoc · 2,874 bytesreferences/async-continuation-leak.mddoc · 3,478 bytesreferences/async-detached-task-leak.mddoc · 2,585 bytesreferences/async-missing-cancellation.mddoc · 2,420 bytesreferences/async-task-group-error.mddoc · 3,417 bytesreferences/async-unsafe-sendable.mddoc · 3,263 bytesreferences/dead-actor-reentrancy.mddoc · 3,329 bytesreferences/dead-mainactor-blocking.mddoc · 2,598 bytesreferences/dead-queue-hierarchy.mddoc · 2,643 bytesreferences/dead-recursive-lock.mddoc · 2,583 bytesreferences/dead-semaphore-in-async.mddoc · 3,183 bytesreferences/dead-sync-on-main.mddoc · 2,260 bytesreferences/exhaust-file-descriptor-leak.mddoc · 4,227 bytesreferences/exhaust-memory-warning-ignored.mddoc · 3,040 bytesreferences/exhaust-thread-explosion.mddoc · 4,134 bytesreferences/exhaust-unbounded-task-spawn.mddoc · 4,031 bytesreferences/exhaust-urlsession-leak.mddoc · 3,426 bytesreferences/io-concurrent-file-write.mddoc · 3,020 bytesreferences/io-coredata-cross-thread.mddoc · 3,205 bytesreferences/io-filemanager-race.mddoc · 3,698 bytesreferences/io-keychain-thread-safety.mddoc · 4,290 bytesreferences/io-plist-concurrent-mutation.mddoc · 2,510 bytesreferences/io-swiftdata-background.mddoc · 3,387 bytesreferences/mem-async-task-self-capture.mddoc · 3,208 bytesreferences/mem-closure-retain-cycle.mddoc · 2,748 bytesreferences/mem-combine-sink-retain.mddoc · 2,856 bytesreferences/mem-delegate-strong-reference.mddoc · 3,165 bytesreferences/mem-notification-observer-leak.mddoc · 2,769 bytesreferences/mem-timer-retain-cycle.mddoc · 2,948 bytesreferences/mem-unowned-crash.mddoc · 3,009 bytesreferences/mut-enum-future-cases.mddoc · 3,038 bytesreferences/mut-enumerate-and-mutate.mddoc · 2,936 bytesreferences/mut-force-unwrap.mddoc · 2,907 bytesreferences/mut-index-out-of-bounds.mddoc · 2,802 bytesreferences/mut-kvo-dealloc-crash.mddoc · 3,337 bytesreferences/objc-bridge-type-mismatch.mddoc · 2,940 bytesreferences/objc-dynamic-dispatch.mddoc · 3,763 bytesreferences/objc-nsnull-in-json.mddoc · 2,834 bytesreferences/objc-unrecognized-selector.mddoc · 2,373 bytesreferences/race-array-concurrent-append.mddoc · 2,084 bytesreferences/race-bool-flag.mddoc · 4,049 bytesreferences/race-closure-capture-mutation.mddoc · 2,436 bytesreferences/race-delegate-nilification.mddoc · 3,937 bytesreferences/race-dictionary-concurrent-write.mddoc · 2,178 bytesreferences/race-lazy-initialization.mddoc · 2,444 bytesreferences/race-property-access.mddoc · 2,917 bytesreferences/race-singleton-initialization.mddoc · 2,748 bytes
Read excerpt
# iOS Chaos Monkey — Crash-Hunter Best Practices
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.
## Clinic Architecture Contract (iOS 26 / Swift 6.2)
All guidance in this skill assumes the clinic modular MVVM-C architecture:
- Feature modules import `Domain` + `DesignSystem` only (never `Data`, never sibling features)
- App target is the convergence point and owns `DependencyContainer`, concrete coordinators, and Route Shell wiring
- `Domain` stays pure Swift and defines models plus repository, `*Coordinating`, `ErrorRouting`, and `AppError` contracts
- `Data` owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
- Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes