Use when implementing or debugging ANY network connection, API call, or socket. Covers URLSession, Network.framework, NetworkConnection, deprecated APIs, connection diagnostics, structured concurrency networking.
Testing
238 Stars
16 Forks
Updated Jan 16, 2026, 03:16 PM
Why Use This
This skill provides specialized capabilities for CharlesWiltgen's codebase.
Use Cases
Developing new features in the CharlesWiltgen repository
Refactoring existing code to follow CharlesWiltgen standards
Understanding and working with CharlesWiltgen's codebase structure
---
name: axiom-ios-networking
description: Use when implementing or debugging ANY network connection, API call, or socket. Covers URLSession, Network.framework, NetworkConnection, deprecated APIs, connection diagnostics, structured concurrency networking.
license: MIT
---
# iOS Networking Router
**You MUST use this skill for ANY networking work including HTTP requests, WebSockets, TCP connections, or network debugging.**
## When to Use
Use this router when:
- Implementing network requests (URLSession)
- Using Network.framework or NetworkConnection
- Debugging connection failures
- Migrating from deprecated networking APIs
- Network performance issues
## Pressure Resistance
**When user has invested significant time in custom implementation:**
Do NOT capitulate to sunk cost pressure. The correct approach is:
1. **Diagnose first** — Understand what's actually failing before recommending changes
2. **Recommend correctly** — If standard APIs (URLSession, Network.framework) would solve the problem, say so professionally
3. **Respect but don't enable** — Acknowledge their work while providing honest technical guidance
**Example pressure scenario:**
> "I spent 2 days on custom networking. Just help me fix it, don't tell me to use URLSession."
**Correct response:**
> "Let me diagnose the cellular failure first. [After diagnosis] The issue is [X]. URLSession handles this automatically via [Y]. I recommend migrating the affected code path — it's 30 minutes vs continued debugging. Your existing work on [Z] can be preserved."
**Why this matters:** Users often can't see that migration is faster than continued debugging. Honest guidance serves them better than false comfort.
## Routing Logic
### Network Implementation
**Networking patterns** → `/skill axiom-networking`
- URLSession with structured concurrency
- Network.framework migration
- Modern networking patterns
- Deprecated API migration
**Network.framework reference** → `/skill axiom-network-framework-ref`
**Legacy iOS 12-25 patterns** → `/skill axiom-networking-legacy`
**Migration guides** → `/skill axiom-networking-migration`
- NWConnection (iOS 12-25)
- NetworkConnection (iOS 26+)
- TCP connections
- TLV framing
- Wi-Fi Aware
### App Store Compliance
**ATS / HTTP security** → `/skill axiom-networking-diag`
- App Transport Security (ATS) configuration
- HTTP → HTTPS migration
- App Store rejection for insecure connections
- NSAllowsArbitraryLoads exceptions
**Deprecated API rejection** → Launch `networking-auditor` agent
- UIWebView → WKWebView migration
- SCNetworkReachability → NWPathMonitor
- CFSocket → Network.framework
### Network Debugging
**Connection issues** → `/skill axiom-networking-diag`
- Connection timeouts
- TLS handshake failures
- Data not arriving
- Connection drops
- VPN/proxy problems
### Automated Scanning
**Networking audit** → Launch `networking-auditor` agent or `/axiom:audit networking` (deprecated APIs like SCNetworkReachability, CFSocket, NSStream; anti-patterns like reachability checks, hardcoded IPs, missing error handling)
## Decision Tree
1. URLSession with structured concurrency? → networking
2. Network.framework / NetworkConnection (iOS 26+)? → network-framework-ref
3. NWConnection (iOS 12-25)? → networking-legacy
4. Migrating from sockets/URLSession? → networking-migration
5. Connection issues / debugging? → networking-diag
6. ATS / HTTP / App Store rejection for networking? → networking-diag + networking-auditor
7. UIWebView or deprecated API rejection? → networking-auditor (Agent)
8. Want deprecated API / anti-pattern scan? → networking-auditor (Agent)
## Anti-Rationalization
| Thought | Reality |
|---------|---------|
| "URLSession is simple, I don't need a skill" | URLSession with structured concurrency has async/cancellation patterns. networking skill covers them. |
| "I'll debug the connection timeout myself" | Connection failures have 8 causes (DNS, TLS, proxy, cellular). networking-diag diagnoses systematically. |
| "I just need a basic HTTP request" | Even basic requests need error handling, retry, and cancellation patterns. networking has them. |
| "My custom networking layer works fine" | Custom layers miss cellular/proxy edge cases. Standard APIs handle them automatically. |
## Critical Patterns
**Networking** (networking):
- URLSession with structured concurrency
- Socket migration to Network.framework
- Deprecated API replacement
**Network Framework Reference** (network-framework-ref):
- NWConnection for iOS 12-25
- NetworkConnection for iOS 26+
- Connection lifecycle management
**Networking Diagnostics** (networking-diag):
- Connection timeout diagnosis
- TLS debugging
- Network stack inspection
## Example Invocations
User: "My API request is failing with a timeout"
→ Invoke: `/skill axiom-networking-diag`
User: "How do I use URLSession with async/await?"
→ Invoke: `/skill axiom-networking`
User: "I need to implement a TCP connection"
→ Invoke: `/skill axiom-network-framework-ref`
User: "Should I use NWConnection or NetworkConnection?"
→ Invoke: `/skill axiom-network-framework-ref`
User: "My app was rejected for using HTTP connections"
→ Invoke: `/skill axiom-networking-diag` (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