networking-plugin/skills/network-diagnostics/SKILL.md
Network connectivity and latency diagnostics. Use when tracing routes, comparing ping latency across endpoints, or inspecting local socket/port usage.
npx skillsauth add laurigates/claude-plugins network-diagnosticsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Scenario | Use this skill | Alternative | |----------|---------------|-------------| | Trace the route to a remote host | Yes (trippy) | | | Diagnose packet loss or high latency on a path | Yes (trippy) | | | Compare ping latency across multiple endpoints | Yes (gping) | | | Find what process is listening on a port | Yes (ss) | | | Count established connections to a service | Yes (ss) | | | Inspect local socket states (TIME_WAIT, etc.) | Yes (ss) | | | Scan all open ports on a remote host | | network-discovery (RustScan, nmap) | | Look up DNS records or check propagation | | dns-tools (dog, dig) | | Enumerate hosts on the local L2 segment | | layer2-discovery (ARP/LLDP) | | Benchmark HTTP endpoint throughput | | http-load-testing (oha) | | See real-time per-process bandwidth consumption | | network-monitoring (bandwhich) |
Expert knowledge for network connectivity troubleshooting using modern diagnostic tools that provide richer output than legacy alternatives.
| Use Case | Tool | Why | |----------|------|-----| | Path analysis with latency | trippy | Combines traceroute + ping with TUI | | Multi-host latency comparison | gping | Visual graphs, parallel pings | | Local socket inspection | ss | Modern netstat replacement | | Quick single-hop latency | gping | Faster feedback than trippy | | Network path + ASN info | trippy | Built-in ASN/geo lookups |
| Modern | Legacy | Improvements | |--------|--------|--------------| | trippy | traceroute, mtr | TUI, jitter stats, ASN/geo, world map | | gping | ping | Visual graphs, multi-host parallel | | ss | netstat | Faster, more info, better filtering |
Rust-based network path analyzer combining traceroute and ping with a rich TUI.
# Basic traceroute with TUI
trip example.com
# Specify protocol mode
trip -m icmp example.com # ICMP (default, needs root/caps)
trip -m udp example.com # UDP (no root needed)
trip -m tcp example.com # TCP
# TCP to specific port
trip -m tcp -p 443 example.com
trip -m tcp -p 80 example.com
# Specify source interface
trip -i en0 example.com
trip -i eth0 example.com
# Enable ASN lookups in TUI
trip --tui-as-mode asn example.com
trip --tui-as-mode prefix example.com
# Geo-location in TUI
trip --tui-geoip-mode short example.com
trip --tui-geoip-mode long example.com
# JSON output for parsing
trip example.com --mode json -c 10
# Dot format (Graphviz)
trip example.com --mode dot -c 10
# CSV format
trip example.com --mode csv -c 10
# Flows (path changes)
trip example.com --mode flows -c 10
# Silent mode (summary only)
trip example.com --mode silent -c 10
# Pretty print (no TUI)
trip example.com --mode pretty -c 10
# Set packet count
trip example.com -c 100
# Set max TTL (hops)
trip example.com -t 30
# Set packet size
trip example.com -S 64
# First TTL to start from
trip example.com -f 5
# Parallel probes per hop
trip example.com -N 16
# Grace period after target reached
trip example.com -g 100ms
Visual latency graphs with multi-host parallel ping support.
# Basic ping with graph
gping example.com
# Multiple hosts (parallel comparison)
gping google.com cloudflare.com amazon.com
# Force IPv4/IPv6
gping -4 example.com
gping -6 example.com
# Specify interface
gping -i en0 example.com
# Simple graphics (ASCII, for terminals without unicode)
gping -s example.com
# Set buffer size (number of pings to display)
gping -b 100 example.com
# Ping a command's execution time instead of host
gping --cmd "curl -s https://api.example.com/health"
gping --cmd "dig example.com"
gping --cmd "http https://api.example.com/status"
# Compare multiple commands
gping --cmd "curl -s localhost:3000" --cmd "curl -s localhost:8080"
# Set ping interval (seconds)
gping -n 0.5 example.com
# Watch specific timeout
gping -w 2 example.com
# Clear screen before starting
gping --clear example.com
Modern replacement for netstat, faster and more informative.
# All TCP connections
ss -t
# All UDP sockets
ss -u
# Listening sockets only
ss -l
# Show process info (requires root for other users' processes)
ss -p
# Numeric output (no DNS resolution)
ss -n
# Combined: listening TCP with process info, numeric
ss -tlnp
# Combined: all TCP/UDP listening sockets with processes
ss -tulnp
# Filter by state
ss -t state established
ss -t state listening
ss -t state time-wait
ss -t state close-wait
# Filter by port
ss -t sport = :22
ss -t dport = :443
ss -t 'sport = :80 or dport = :80'
# Filter by address
ss -t src 192.168.1.0/24
ss -t dst 10.0.0.1
# Combined filters
ss -t 'sport = :443 and dst 10.0.0.0/8'
# Socket summary statistics
ss -s
# Extended info (memory, congestion)
ss -e
# Timer info (retransmits, keepalives)
ss -o
# Memory usage
ss -m
# Full detail
ss -i
# Find what's using a port
ss -tlnp | grep :8080
ss -tlnp 'sport = :8080'
# Count connections by state
ss -t state established | wc -l
# Find connections to specific host
ss -tn dst 192.168.1.100
# Monitor established connections to a service
watch -n 1 'ss -tn state established dport = :443 | wc -l'
# Step 1: Check if host responds
gping target.example.com
# Step 2: Analyze network path
trip target.example.com
# Step 3: Check local listening services
ss -tlnp
# Step 4: Verify outbound connectivity
ss -tn state established | grep target.example.com
# Compare multiple endpoints
gping primary.example.com secondary.example.com backup.example.com
# Compare DNS providers
gping 8.8.8.8 1.1.1.1 9.9.9.9
# Compare API endpoints
gping --cmd "curl -s api1.example.com" --cmd "curl -s api2.example.com"
# What's listening on common ports
ss -tlnp 'sport = :80 or sport = :443 or sport = :8080 or sport = :3000'
# Find all listening ports in a range
ss -tlnp 'sport >= :8000 and sport <= :9000'
# Compare paths to different regions
trip us-east.example.com &
trip eu-west.example.com &
trip ap-southeast.example.com
# Analyze with ASN information
trip --tui-as-mode asn cdn.example.com
| Context | Command |
|---------|---------|
| Quick latency check | gping -b 10 HOST 2>&1 \| head -20 |
| Path analysis (JSON) | trip HOST --mode json -c 5 |
| Listening ports | ss -tlnp |
| Connection count | ss -tn state established \| wc -l |
| Port in use | ss -tlnp 'sport = :PORT' |
| Multi-host compare | gping HOST1 HOST2 HOST3 -b 5 |
| TCP path check | trip -m tcp -p 443 HOST --mode pretty -c 3 |
| Flag | Long | Description |
|------|------|-------------|
| -m | --mode | Protocol: icmp, udp, tcp |
| -p | --port | Target port (tcp/udp mode) |
| -i | --interface | Source interface |
| -c | --count | Number of probes |
| -t | --max-ttl | Maximum TTL/hops |
| -f | --first-ttl | Starting TTL |
| -S | --packet-size | Packet size in bytes |
| | --tui-as-mode | ASN display: asn, prefix |
| | --tui-geoip-mode | Geo display: short, long |
| | --mode | Output: tui, json, csv, dot, flows, silent, pretty |
| Flag | Long | Description |
|------|------|-------------|
| -4 | | Force IPv4 |
| -6 | | Force IPv6 |
| -i | --interface | Source interface |
| -s | --simple-graphics | ASCII-only output |
| -b | --buffer | Number of pings to display |
| -n | --interval | Ping interval (seconds) |
| -w | --watch-interval | Watch timeout |
| | --cmd | Ping command execution time |
| | --clear | Clear screen before starting |
| Flag | Description |
|------|-------------|
| -t | TCP sockets |
| -u | UDP sockets |
| -l | Listening only |
| -a | All sockets |
| -p | Show process |
| -n | Numeric (no DNS) |
| -e | Extended info |
| -o | Timer info |
| -m | Memory usage |
| -i | Internal TCP info |
| -s | Summary statistics |
| State | Description |
|-------|-------------|
| established | Active connections |
| listening | Listening sockets |
| time-wait | Waiting for timeout |
| close-wait | Waiting for local close |
| syn-sent | Connection initiating |
| syn-recv | Connection received |
# macOS
brew install trippy gping
# ss is part of iproute2 on Linux (usually pre-installed)
# On macOS, use netstat instead (ss not available)
# Cargo (cross-platform)
cargo install trippy
cargo install gping
# Verify installations
trip --version
gping --version
ss --version # Linux only
CAP_NET_RAW capability; UDP/TCP modes work without elevationnetstat -an on macOS for similar functionalitytools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.