debugging-network-issues
An agent skill by daymade, from daymade/claude-code-skills. Tags: debugging, monitoring, networking, troubleshooting, validation.
What it does
Investigates network, streaming, and protocol failures with falsification-first layered experiments. Use for ECONNRESET, HTTP/2 RST_STREAM, SSE or long-polling stalls, fixed-time drops, CDN/proxy/CGNAT timeouts, client-side proxy/TUN misrouting, CNAME-rule surprises, certificate errors, generic throughput collapse where everything returns 200 but transfers crawl, or LAN identity/topology mysteries. Trigger phrases include "socket closed unexpectedly", "stream interrupted", "fails after N seconds", "works sometimes but not always", "upstream silent for X seconds", ERR_CONNECTION_CLOSED, SSL_ERROR_SYSCALL, UNKNOWN_CERTIFICATE_VERIFICATION_ERROR, and wrong-site certificate. Treat this as the general method and unknown-root-cause fallback. Use tunnel-doctor for known Tailscale/TUN/DNS/route/WSL-Docker conflicts and for a confirmed proxy exit/node/chain quality problem.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add daymade/claude-code-skills --skill debugging-network-issues
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/daymade/claude-code-skills
cp -r claude-code-skills/debugging-network-issues ~/.claude/skills/debugging-network-issues
Safety box score
Grade C, moderate risk: 39 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill is mostly a diagnostic playbook, but the included helpers do execute shell commands, SSH to other hosts, and make live network probes. The main blast-radius issues are the shell `eval` in the probe script, privileged system tweaks such as DNS cache flushes, and a runtime `pip install` that fetches code from PyPI.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 3 (high) | The shipped probe script builds shell command strings and runs `eval "$cmd"`, and the mock upstream also shells out via `sh -c ...`, so it can execute arbitrary commands if inputs are not trusted. |
| Network access | 2 (moderate) | The skill intentionally sends traffic with `curl`, `ssh`, `--resolve`, and even third-party lookups like `https://api.macvendors.com/...`, so diagnostic data leaves the machine during use. |
| Filesystem reach | 2 (moderate) | It writes probe output under `/tmp` (`RESULTS_DIR`, `/tmp/ulog.txt`, `/tmp/__probe_c_body`) and the case material depends on system-path changes like `/etc/hosts`, so it reaches beyond the project tree. |
| Secrets & credentials | 0 (none) | No token/key/password store is read or scraped; the skill assumes existing SSH access but does not instruct the agent to harvest secrets. |
| Privilege & persistence | 2 (moderate) | The recipes explicitly use privileged actions such as `sudo dscacheutil -flushcache` and root-oriented SSH examples, so some scenarios require admin or equivalent access. |
| Instruction hijack surface | 0 (none) | There are no hidden instructions, prompt-skipping directives, or remote-instruction-following behaviors; the content is process guidance, not prompt injection. |
| Irreversible actions | 0 (none) | The skill diagnoses and runs probes only; it does not push, publish, pay, book, or delete anything on its own. |
| Transparency | 1 (low) | The readable scripts still depend on a runtime `pip install flask -q`, so part of the behavior comes from an external package fetch rather than only the checked-in source. |
Before installing
- Read `scripts/layered-isolation-probe.sh` first; it uses `eval` on shell-built commands.
- Decide whether runtime `pip install flask` in `scripts/mock-idle-upstream.py` is acceptable.
- Confirm you can run `sudo dscacheutil -flushcache` and make temporary `/etc/hosts` changes if needed.
- Expect probe output and logs under `/tmp`; use a scratch machine if you want a clean audit trail.
Rated 2026-10-20 by an automated review of 16 files from the skill's repository.
Source
- Repository
- daymade/claude-code-skills (all skills from this repository)
- Path
- debugging-network-issues/SKILL.md
- Branch
- main
- Updated
- 2026-09-20
Related skills
- debug-voice — Use when the user runs /debug-voice, says voice mode has flaws, asks to see or capture what happened in a Grok realtime voice session.
- fix-ci — Find failing PR checks, inspect logs or external check links, and apply focused fixes
- principle-fix-root-causes — Apply when debugging.
- reproduce-and-fix-issues — Reproduce triaged Slack bugs through a configured app-control adapter, verify existing fixes.
- claude-skills-troubleshooting — Diagnose and resolve Claude Code plugin and skill issues.
- tunnel-doctor — Diagnoses concrete tunnel and proxy-path failures across macOS and Windows/WSL: Tailscale routing, proxy env/system bypass, SSH double tunneling.