axiom-networking
ネットワーク接続・APIコール・ソケットの実装やデバッグが必要なときに使用します。URLSession、Network.framework、NetworkConnection、接続診断など幅広くカバーします。
description の原文を見る
Use when implementing or debugging ANY network connection, API call, or socket. Covers URLSession, Network.framework, NetworkConnection, connection diagnostics.
SKILL.md 本文
ネットワーキング
HTTP リクエスト、WebSocket、TCP 接続、またはネットワークデバッグを含む、ANY のネットワークワークにこのスキルを使用する必要があります。
クイックリファレンス
| 症状 / タスク | リファレンス |
|---|---|
| 構造化並行実行による URLSession | skills/networking-discipline.md を参照 |
| Network.framework アンチパターン | skills/networking-discipline.md を参照 |
| 廃止予定 API の移行 | skills/networking-discipline.md を参照 |
| 圧力シナリオ (到達可能性、ソケット) | skills/networking-discipline.md を参照 |
| NetworkConnection (iOS 26+) API リファレンス | skills/network-framework-ref.md を参照 |
| NWConnection (iOS 12-18) API リファレンス | skills/network-framework-ref.md を参照 |
| TLV フレーミング、Coder プロトコル | skills/network-framework-ref.md を参照 |
| NetworkListener、NetworkBrowser、Wi-Fi Aware | skills/network-framework-ref.md を参照 |
| 接続タイムアウト、TLS 障害 | skills/networking-diag.md を参照 |
| データが到着しない、接続が切断される | skills/networking-diag.md を参照 |
| ATS / HTTP / App Store リジェクション | skills/networking-diag.md を参照 |
| 本番環境での危機診断 | skills/networking-diag.md を参照 |
| NWConnection パターン (iOS 12-18) | skills/networking-legacy.md を参照 |
| UDP バッチ、NWListener、NWBrowser | skills/networking-legacy.md を参照 |
| BSD ソケット → NWConnection 移行 | skills/networking-migration.md を参照 |
| NWConnection → NetworkConnection 移行 | skills/networking-migration.md を参照 |
| URLSession StreamTask → NetworkConnection | skills/networking-migration.md を参照 |
決定ツリー
digraph networking {
start [label="ネットワークタスク" shape=ellipse];
what [label="何が必要ですか?" shape=diamond];
start -> what;
what -> "skills/networking-discipline.md" [label="パターン実装、\nアンチパターン、\n圧力シナリオ"];
what -> "skills/network-framework-ref.md" [label="API リファレンス\n(iOS 26+ または 12-18)"];
what -> "skills/networking-diag.md" [label="接続障害の\nデバッグ"];
what -> "skills/networking-legacy.md" [label="iOS 12-18\nNWConnection パターン"];
what -> "skills/networking-migration.md" [label="ソケット/URLSession\nからの移行"];
}
- 構造化並行実行による URLSession? →
skills/networking-discipline.md - Network.framework / NetworkConnection (iOS 26+)? →
skills/network-framework-ref.md - NWConnection (iOS 12-18)? →
skills/networking-legacy.md - ソケット/URLSession から移行中? →
skills/networking-migration.md - 接続問題 / デバッグ? →
skills/networking-diag.md - ATS / HTTP / ネットワーク関連の App Store リジェクション? →
skills/networking-diag.md+ networking-auditor - 証明書ピンニング、API リクエスト署名、ペイロード暗号化? →
/skill axiom-security - UIWebView または廃止予定 API リジェクション? → networking-auditor (Agent)
- 廃止予定 API / アンチパターンスキャンが必要? → networking-auditor (Agent)
プラットフォーム固有のネットワーキング
- watchOS 低レベルネットワーキングの制限 (TN3135) → axiom-watchos (skills/background-and-networking.md) を参照
圧力耐性
ユーザーがカスタム実装に多くの時間を投資している場合:
サンク・コストの圧力に屈しないでください。正しいアプローチは以下の通りです:
- まず診断する — 変更を推奨する前に、実際に何が失敗しているのかを理解する
- 正しく推奨する — 標準 API (URLSession、Network.framework) が問題を解決する場合は、プロフェッショナルに伝える
- 尊重するがサポートしない — 彼らの仕事を認めながら、正直な技術的ガイダンスを提供する
重要パターン
ネットワーキング (skills/networking-discipline.md):
- 構造化並行実行による URLSession
- 8 つの危険信号アンチパターン (SCNetworkReachability、ブロッキングソケット、ハードコード IP)
- TCP/UDP/TLS パターン選択の決定ツリー
- NetworkConnection パターン (iOS 26+): TLS、UDP、TLV フレーミング、Coder プロトコル
- 3 つの圧力シナリオとプロフェッショナルな異議唱道テンプレート
- 出荷前チェックリスト
Network Framework リファレンス (skills/network-framework-ref.md):
- NetworkConnection (iOS 26+): すべての 12 個の WWDC 2025 例
- NWConnection (iOS 12-18): 完全な API と例
- TLV フレーミング、Coder プロトコル、NetworkListener、NetworkBrowser
- モビリティ: 実行可能性、より良いパス、Multipath TCP、NWPathMonitor
- セキュリティ: TLS、証明書ピンニング、暗号スイート
- パフォーマンス: ユーザースペースネットワーキング、ECN、サービスクラス、TCP Fast Open
診断 (skills/networking-diag.md):
- すべての接続障害タイプの体系的な決定ツリー
- DNS 障害、TLS 証明書検証、メッセージフレーミング
- TCP 輻輳、IPv6 のみセルラー、VPN 干渉、ATS
- プロフェッショナルな通信テンプレート付きの本番環境危機シナリオ
レガシー (skills/networking-legacy.md):
- TLS を使用した NWConnection (完了ハンドラ)
- UDP バッチ (CPU 使用率 30% 削減)
- NWListener、NWBrowser (Bonjour 発見)
自動スキャン
ネットワーキング監査 → networking-auditor エージェントを起動するか、/axiom:audit networking を実行 (廃止予定 API、アンチパターン、完全性ギャップ — 遷移処理、TLS カバレッジ、接続クリーンアップ、フレームワーク選択)
自己欺瞞防止
| 思考 | 現実 |
|---|---|
| 「URLSession はシンプルなので、スキルは不要」 | 構造化並行実行による URLSession には async/キャンセルパターンがあります。skills/networking-discipline.md がカバーしています。 |
| 「接続タイムアウト自分でデバッグします」 | 接続障害は 8 つの原因 (DNS、TLS、プロキシ、セルラー) があります。skills/networking-diag.md が体系的に診断します。 |
| 「基本的な HTTP リクエストが必要なだけ」 | 基本的なリクエストでもエラーハンドリング、リトライ、キャンセルパターンが必要です。 |
| 「カスタムネットワークレイヤーは正常に動作している」 | カスタムレイヤーはセルラー/プロキシエッジケースを見逃します。標準 API は自動的に処理します。 |
呼び出し例
ユーザー: 「API リクエストがタイムアウトで失敗しています」
→ 読む: skills/networking-diag.md
ユーザー: 「async/await で URLSession を使用するにはどうすればよいですか?」
→ 読む: skills/networking-discipline.md
ユーザー: 「TCP 接続を実装する必要があります」
→ 読む: skills/network-framework-ref.md
ユーザー: 「NWConnection または NetworkConnection を使用すべきですか?」
→ 読む: skills/network-framework-ref.md
ユーザー: 「HTTP 接続を使用しているため、アプリが拒否されました」
→ 読む: skills/networking-diag.md (ATS コンプライアンス)
ユーザー: 「App Store が UIWebView を使用していると言っています」
→ 実行: networking-auditor エージェント (廃止予定 API スキャン)
ユーザー: 「ネットワークコードで廃止予定 API をチェックしてください」
→ 実行: networking-auditor エージェント
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- charleswiltgen
- リポジトリ
- charleswiltgen/axiom
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/charleswiltgen/axiom / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。