Agent Skills: iOS Chaos Monkey — Crash-Hunter Best Practices

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.

UncategorizedID: pproenca/dot-skills/ios-chaos-monkey

Install this agent skill to your local

pnpm dlx add-skill https://github.com/pproenca/dot-skills/tree/HEAD/skills/.experimental/ios-chaos-monkey

Skill Files

Browse the full folder contents for ios-chaos-monkey.

Download Skill

Loading file tree…

skills/.experimental/ios-chaos-monkey/SKILL.md

Skill Metadata

Name
ios-chaos-monkey
Description
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.

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
  • ViewModels call repository protocols directly (no default use-case/interactor layer)

When to Apply

Reference these guidelines when:

  • Hunting data races, deadlocks, and concurrency crashes in Swift
  • Auditing memory management for retain cycles and use-after-free
  • Reviewing async/await code for cancellation and continuation leaks
  • Stress-testing file I/O and CoreData/SwiftData persistence layers
  • Writing proof-of-crash tests before implementing fixes

Rule Categories by Priority

| 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- |

Quick Reference

1. Data Races & Thread Safety (CRITICAL)

2. Memory Corruption & Leaks (CRITICAL)

3. Deadlocks & Thread Starvation (HIGH)

4. Async/Await & Structured Concurrency (HIGH)

5. File I/O & Persistence Corruption (MEDIUM-HIGH)

6. Collection & State Mutation (MEDIUM)

7. Resource Exhaustion (MEDIUM)

8. Objective-C Interop Traps (LOW-MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

| File | Description | |------|-------------| | references/_sections.md | Category definitions and ordering | | assets/templates/_template.md | Template for new rules | | metadata.json | Version and reference information |