Axiom Networking

charleswiltgen/axiom/axiom-codex/skills/axiom-networking

by charleswiltgene45d98ffbb5fMIT1.1K starsListed Oct 9, 2026Updated Oct 8, 2026Repository updated today

Use when implementing or debugging ANY network connection, API call, or socket in an Apple app. Covers URLSession, Network.framework, NetworkConnection, connection diagnostics.

Instructions onlySoftware Development
AI-generated overview

Guides Apple-platform networking implementation and debugging across URLSession, Network.framework, and connection diagnostics.

What it does
This router skill points to reference documents covering URLSession with structured concurrency, Network.framework APIs (NetworkConnection for iOS 26+, NWConnection for iOS 12-18), TLV framing, listeners, browsers, TLS, and migration from BSD sockets or URLSession streams. It also routes connection-failure diagnosis, including DNS, TLS, ATS, IPv6-only cellular, and VPN issues, and describes an automated networking audit for deprecated APIs and anti-patterns. It produces guidance and reference material rather than code artifacts.
When to use it
Use it when implementing or debugging any network connection, API call, or socket in an Apple app, including HTTP requests, WebSockets, and TCP connections. It is also meant for choosing between networking frameworks, migrating deprecated APIs, and diagnosing connection timeouts or App Store rejections related to networking.
Requirements
No scripts; instructions and reference documents only. The audit step references a separate networking audit skill, and some auditor tasks need shell access for builds, tests, simulators, and crash symbolication.

Networking

You MUST use this skill for ANY networking work including HTTP requests, WebSockets, TCP connections, or network debugging.

<!-- AXIOM_AUDITOR_INLINE_BEGIN — rewritten for Codex by scripts/build-codex.ts; do not hand-edit -->

Auditors are skills here. Where this router says "Launch some-auditor agent", invoke the matching Codex skill instead — same procedure, no Claude Code agent required.

Available: axiom-audit-networking.

The ones that shell out — builds, tests, simulators, crash symbolication — need shell access to run.

<!-- AXIOM_AUDITOR_INLINE_END -->

Quick Reference

Symptom / TaskReference
URLSession with structured concurrencySee skills/networking-discipline.md
Network.framework anti-patternsSee skills/networking-discipline.md
Deprecated API migrationSee 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 referenceSee skills/network-framework-ref.md
NWConnection (iOS 12-18) API referenceSee skills/network-framework-ref.md
TLV framing, Coder protocolSee skills/network-framework-ref.md
NetworkListener, NetworkBrowser, Wi-Fi AwareSee skills/network-framework-ref.md
Connection timeouts, TLS failuresSee skills/networking-diag.md
Data not arriving, connection dropsSee skills/networking-diag.md
ATS / HTTP / App Store rejectionSee skills/networking-diag.md
Production crisis diagnosisSee skills/networking-diag.md
NWConnection patterns (iOS 12-18)See skills/networking-legacy.md
UDP batch, NWListener, NWBrowserSee skills/networking-legacy.md
BSD sockets → NWConnection migrationSee skills/networking-migration.md
Push/calls on networks without internet (Local Push Connectivity, NEAppPushProvider)Use axiom-integration (skills/local-push-connectivity.md)
NWConnection → NetworkConnection migrationSee skills/networking-migration.md
URLSession StreamTask → NetworkConnectionSee skills/networking-migration.md

Decision Tree

dot
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"];}
  1. URLSession with structured concurrency? → skills/networking-discipline.md
  2. Network.framework / NetworkConnection (iOS 26+)? → skills/network-framework-ref.md
  3. NWConnection (iOS 12-18)? → skills/networking-legacy.md
  4. Migrating from sockets/URLSession? → skills/networking-migration.md
  5. Connection issues / debugging? → skills/networking-diag.md
  6. Typed RPC / streaming against a service you control? → gRPC Swift (skills/networking-discipline.md)
  7. ATS / HTTP / App Store rejection for networking? → skills/networking-diag.md + networking-auditor
  8. Certificate pinning, signing API requests, encrypting payloads? → /skill axiom-security
  9. UIWebView or deprecated API rejection? → networking-auditor (Agent)
  10. 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:

  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

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 → axiom-audit-networking (deprecated APIs, anti-patterns, and completeness gaps — transition handling, TLS coverage, connection cleanup, framework selection)

Anti-Rationalization

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

Source and attribution

Source:charleswiltgen/axiominaxiom-codex/skills/axiom-networkingat commite45d98f

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal