Networking
You MUST use this skill for ANY networking work including HTTP requests, WebSockets, TCP connections, or network debugging.
Not on Claude Code? Where this router says "Launch some-auditor agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read.
Available here: skills/networking-auditor.md.
Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those.
Quick Reference
| 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 |
gRPC Swift — typed RPC, streaming, .proto codegen (WWDC 2026) |
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-18) 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-18) |
See skills/networking-legacy.md |
| UDP batch, NWListener, NWBrowser |
See skills/networking-legacy.md |
| BSD sockets → NWConnection migration |
See skills/networking-migration.md |
| Push/calls on networks without internet (Local Push Connectivity, NEAppPushProvider) |
Use axiom-integration (skills/local-push-connectivity.md) |
| NWConnection → NetworkConnection migration |
See skills/networking-migration.md |
| URLSession StreamTask → NetworkConnection |
See skills/networking-migration.md |
Decision Tree
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-18)"];
what -> "skills/networking-diag.md" [label="debug connection\nfailures"];
what -> "skills/networking-legacy.md" [label="iOS 12-18\nNWConnection patterns"];
what -> "skills/networking-migration.md" [label="migrate from\nsockets/URLSession"];
}
- URLSession with structured concurrency? →
skills/networking-discipline.md
- Network.framework / NetworkConnection (iOS 26+)? →
skills/network-framework-ref.md
- NWConnection (iOS 12-18)? →
skills/networking-legacy.md
- Migrating from sockets/URLSession? →
skills/networking-migration.md
- Connection issues / debugging? →
skills/networking-diag.md
- Typed RPC / streaming against a service you control? → gRPC Swift (
skills/networking-discipline.md)
- ATS / HTTP / App Store rejection for networking? →
skills/networking-diag.md + networking-auditor
- Certificate pinning, signing API requests, encrypting payloads? →
/skill axiom-security
- UIWebView or deprecated API rejection? → networking-auditor (Agent)
- Want deprecated API / anti-pattern scan? → networking-auditor (Agent)
Platform-specific networking
- watchOS low-level-networking limits (TN3135) → See axiom-watchos (skills/background-and-networking.md)
Pressure Resistance
When user has invested significant time in custom implementation:
Do NOT capitulate to sunk cost pressure. The correct approach is:
- Diagnose first — Understand what's actually failing before recommending changes
- Recommend correctly — If standard APIs (URLSession, Network.framework) would solve the problem, say so professionally
- Respect but don't enable — Acknowledge their work while providing honest technical guidance
Critical Patterns
Networking (skills/networking-discipline.md):
- URLSession with structured concurrency
- 8 red-flag anti-patterns (SCNetworkReachability, blocking sockets, hardcoded IPs)
- Decision tree for choosing TCP/UDP/TLS patterns
- NetworkConnection patterns (iOS 26+): TLS, UDP, TLV framing, Coder protocol
- 3 pressure scenarios with professional push-back templates
- Pre-shipping checklist
Network Framework Reference (skills/network-framework-ref.md):
- NetworkConnection (iOS 26+): all 12 WWDC 2025 examples
- NWConnection (iOS 12-18): complete API with examples
- TLV framing, Coder protocol, NetworkListener, NetworkBrowser
- Mobility: viability, better path, Multipath TCP, NWPathMonitor
- Security: TLS, certificate pinning, cipher suites
- Performance: user-space networking, ECN, service class, TCP Fast Open
Diagnostics (skills/networking-diag.md):
- Systematic decision tree for all connection failure types
- DNS failures, TLS certificate validation, message framing
- TCP congestion, IPv6-only cellular, VPN interference, ATS
- Production crisis scenario with professional communication templates
Legacy (skills/networking-legacy.md):
- NWConnection with TLS (completion handlers)
- UDP batch (30% CPU reduction)
- NWListener, NWBrowser (Bonjour discovery)
Automated Scanning
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)
Anti-Rationalization
| 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. |
Example Invocations
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
1---2name: axiom-networking-23description: Use when implementing or debugging ANY network connection, API call, or socket in an Apple app. Covers URLSession, Network.framework, NetworkConnection, connection diagnostics.4license: MIT5---67# Networking89**You MUST use this skill for ANY networking work including HTTP requests, WebSockets, TCP connections, or network debugging.**1011<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit -->12> **Not on Claude Code?** Where this router says "Launch `some-auditor` agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read.13>14> Available here: `skills/networking-auditor.md`.15>16> Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those.17<!-- AXIOM_AUDITOR_INLINE_END -->1819## Quick Reference2021| Symptom / Task | Reference |22|----------------|-----------|23| URLSession with structured concurrency | See `skills/networking-discipline.md` |24| Network.framework anti-patterns | See `skills/networking-discipline.md` |25| Deprecated API migration | See `skills/networking-discipline.md` |26| gRPC Swift — typed RPC, streaming, `.proto` codegen (WWDC 2026) | See `skills/networking-discipline.md` |27| Pressure scenarios (reachability, sockets) | See `skills/networking-discipline.md` |28| NetworkConnection (iOS 26+) API reference | See `skills/network-framework-ref.md` |29| NWConnection (iOS 12-18) API reference | See `skills/network-framework-ref.md` |30| TLV framing, Coder protocol | See `skills/network-framework-ref.md` |31| NetworkListener, NetworkBrowser, Wi-Fi Aware | See `skills/network-framework-ref.md` |32| Connection timeouts, TLS failures | See `skills/networking-diag.md` |33| Data not arriving, connection drops | See `skills/networking-diag.md` |34| ATS / HTTP / App Store rejection | See `skills/networking-diag.md` |35| Production crisis diagnosis | See `skills/networking-diag.md` |36| NWConnection patterns (iOS 12-18) | See `skills/networking-legacy.md` |37| UDP batch, NWListener, NWBrowser | See `skills/networking-legacy.md` |38| BSD sockets → NWConnection migration | See `skills/networking-migration.md` |39| Push/calls on networks without internet (Local Push Connectivity, NEAppPushProvider) | **Use axiom-integration (skills/local-push-connectivity.md)** |40| NWConnection → NetworkConnection migration | See `skills/networking-migration.md` |41| URLSession StreamTask → NetworkConnection | See `skills/networking-migration.md` |4243## Decision Tree4445```dot46digraph networking {47 start [label="Networking task" shape=ellipse];48 what [label="What do you need?" shape=diamond];4950 start -> what;51 what -> "skills/networking-discipline.md" [label="implement patterns,\nanti-patterns,\npressure scenarios"];52 what -> "skills/network-framework-ref.md" [label="API reference\n(iOS 26+ or 12-18)"];53 what -> "skills/networking-diag.md" [label="debug connection\nfailures"];54 what -> "skills/networking-legacy.md" [label="iOS 12-18\nNWConnection patterns"];55 what -> "skills/networking-migration.md" [label="migrate from\nsockets/URLSession"];56}57```58591. URLSession with structured concurrency? → `skills/networking-discipline.md`602. Network.framework / NetworkConnection (iOS 26+)? → `skills/network-framework-ref.md`613. NWConnection (iOS 12-18)? → `skills/networking-legacy.md`624. Migrating from sockets/URLSession? → `skills/networking-migration.md`635. Connection issues / debugging? → `skills/networking-diag.md`646. Typed RPC / streaming against a service you control? → gRPC Swift (`skills/networking-discipline.md`)657. ATS / HTTP / App Store rejection for networking? → `skills/networking-diag.md` + networking-auditor668. Certificate pinning, signing API requests, encrypting payloads? → `/skill axiom-security`679. UIWebView or deprecated API rejection? → networking-auditor (Agent)6810. Want deprecated API / anti-pattern scan? → networking-auditor (Agent)6970#### Platform-specific networking71- watchOS low-level-networking limits (TN3135) → See axiom-watchos (skills/background-and-networking.md)7273## Pressure Resistance7475**When user has invested significant time in custom implementation:**7677Do NOT capitulate to sunk cost pressure. The correct approach is:78791. **Diagnose first** — Understand what's actually failing before recommending changes802. **Recommend correctly** — If standard APIs (URLSession, Network.framework) would solve the problem, say so professionally813. **Respect but don't enable** — Acknowledge their work while providing honest technical guidance8283## Critical Patterns8485**Networking** (`skills/networking-discipline.md`):86- URLSession with structured concurrency87- 8 red-flag anti-patterns (SCNetworkReachability, blocking sockets, hardcoded IPs)88- Decision tree for choosing TCP/UDP/TLS patterns89- NetworkConnection patterns (iOS 26+): TLS, UDP, TLV framing, Coder protocol90- 3 pressure scenarios with professional push-back templates91- Pre-shipping checklist9293**Network Framework Reference** (`skills/network-framework-ref.md`):94- NetworkConnection (iOS 26+): all 12 WWDC 2025 examples95- NWConnection (iOS 12-18): complete API with examples96- TLV framing, Coder protocol, NetworkListener, NetworkBrowser97- Mobility: viability, better path, Multipath TCP, NWPathMonitor98- Security: TLS, certificate pinning, cipher suites99- Performance: user-space networking, ECN, service class, TCP Fast Open100101**Diagnostics** (`skills/networking-diag.md`):102- Systematic decision tree for all connection failure types103- DNS failures, TLS certificate validation, message framing104- TCP congestion, IPv6-only cellular, VPN interference, ATS105- Production crisis scenario with professional communication templates106107**Legacy** (`skills/networking-legacy.md`):108- NWConnection with TLS (completion handlers)109- UDP batch (30% CPU reduction)110- NWListener, NWBrowser (Bonjour discovery)111112## Automated Scanning113114**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)115116## Anti-Rationalization117118| Thought | Reality |119|---------|---------|120| "URLSession is simple, I don't need a skill" | URLSession with structured concurrency has async/cancellation patterns. `skills/networking-discipline.md` covers them. |121| "I'll debug the connection timeout myself" | Connection failures have 8 causes (DNS, TLS, proxy, cellular). `skills/networking-diag.md` diagnoses systematically. |122| "I just need a basic HTTP request" | Even basic requests need error handling, retry, and cancellation patterns. |123| "My custom networking layer works fine" | Custom layers miss cellular/proxy edge cases. Standard APIs handle them automatically. |124125## Example Invocations126127User: "My API request is failing with a timeout"128→ Read: `skills/networking-diag.md`129130User: "How do I use URLSession with async/await?"131→ Read: `skills/networking-discipline.md`132133User: "I need to implement a TCP connection"134→ Read: `skills/network-framework-ref.md`135136User: "Should I use NWConnection or NetworkConnection?"137→ Read: `skills/network-framework-ref.md`138139User: "My app was rejected for using HTTP connections"140→ Read: `skills/networking-diag.md` (ATS compliance)141142User: "App Store says I'm using UIWebView"143→ Invoke: `networking-auditor` agent (deprecated API scan)144145User: "Check my networking code for deprecated APIs"146→ Invoke: `networking-auditor` agent