Use when implementing or debugging ANY network connection, API call, or socket. Covers URLSession, Network.framework, NetworkConnection, connection diagnostics.
You MUST use this skill for ANY networking work including HTTP requests, WebSockets, TCP connections, or network debugging.
| Symptom / Task | Reference |
|---|---|
| URLSession with structured concurrency | See skills/networking-discipline.md |
| Network.framework anti-patterns | See skills/networking-discipline.md |
| Deprecated API migration | See skills/networking-discipline.md |
| Pressure scenarios (reachability, sockets) | See skills/networking-discipline.md |
| NetworkConnection (iOS 26+) API reference | See skills/network-framework-ref.md |
| NWConnection (iOS 12-25) API reference | See skills/network-framework-ref.md |
| TLV framing, Coder protocol |
See skills/network-framework-ref.md |
| NetworkListener, NetworkBrowser, Wi-Fi Aware | See skills/network-framework-ref.md |
| Connection timeouts, TLS failures | See skills/networking-diag.md |
| Data not arriving, connection drops | See skills/networking-diag.md |
| ATS / HTTP / App Store rejection | See skills/networking-diag.md |
| Production crisis diagnosis | See skills/networking-diag.md |
| NWConnection patterns (iOS 12-25) | See skills/networking-legacy.md |
| UDP batch, NWListener, NWBrowser | See skills/networking-legacy.md |
| BSD sockets → NWConnection migration | See skills/networking-migration.md |
| NWConnection → NetworkConnection migration | See skills/networking-migration.md |
| URLSession StreamTask → NetworkConnection | See skills/networking-migration.md |
digraph networking {
start [label="Networking task" shape=ellipse];
what [label="What do you need?" shape=diamond];
start -> what;
what -> "skills/networking-discipline.md" [label="implement patterns,\nanti-patterns,\npressure scenarios"];
what -> "skills/network-framework-ref.md" [label="API reference\n(iOS 26+ or 12-25)"];
what -> "skills/networking-diag.md" [label="debug connection\nfailures"];
what -> "skills/networking-legacy.md" [label="iOS 12-25\nNWConnection patterns"];
what -> "skills/networking-migration.md" [label="migrate from\nsockets/URLSession"];
}
skills/networking-discipline.mdskills/network-framework-ref.mdskills/networking-legacy.mdskills/networking-migration.mdskills/networking-diag.mdskills/networking-diag.md + networking-auditor/skill axiom-securityWhen user has invested significant time in custom implementation:
Do NOT capitulate to sunk cost pressure. The correct approach is:
Networking (skills/networking-discipline.md):
Network Framework Reference (skills/network-framework-ref.md):
Diagnostics (skills/networking-diag.md):
Legacy (skills/networking-legacy.md):
Networking audit → Launch networking-auditor agent or /axiom:audit networking (deprecated APIs, anti-patterns, and completeness gaps — transition handling, TLS coverage, connection cleanup, framework selection)
| Thought | Reality |
|---|---|
| "URLSession is simple, I don't need a skill" | URLSession with structured concurrency has async/cancellation patterns. skills/networking-discipline.md covers them. |
| "I'll debug the connection timeout myself" | Connection failures have 8 causes (DNS, TLS, proxy, cellular). skills/networking-diag.md diagnoses systematically. |
| "I just need a basic HTTP request" | Even basic requests need error handling, retry, and cancellation patterns. |
| "My custom networking layer works fine" | Custom layers miss cellular/proxy edge cases. Standard APIs handle them automatically. |
User: "My API request is failing with a timeout"
→ Read: skills/networking-diag.md
User: "How do I use URLSession with async/await?"
→ Read: skills/networking-discipline.md
User: "I need to implement a TCP connection"
→ Read: skills/network-framework-ref.md
User: "Should I use NWConnection or NetworkConnection?"
→ Read: skills/network-framework-ref.md
User: "My app was rejected for using HTTP connections"
→ Read: skills/networking-diag.md (ATS compliance)
User: "App Store says I'm using UIWebView"
→ Invoke: networking-auditor agent (deprecated API scan)
User: "Check my networking code for deprecated APIs"
→ Invoke: networking-auditor agent