Stats
Actions
Tags
From Bash Shell Mastery Plugin
Production-grade shell networking - curl, ssh, ports, debugging
How this skill is triggered — by the user, by Claude, or both
Slash command
/bash-shell-mastery:shell-networkingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Master networking operations from the command line
Master networking operations from the command line
After completing this skill, you will be able to:
# Basic requests
curl https://api.example.com # GET
curl -X POST https://api.example.com # POST
curl -o file.zip https://example.com/f # Download
# Headers and data
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"key":"value"}' \
https://api.example.com
# Common options
curl -v url # Verbose
curl -s url # Silent
curl -L url # Follow redirects
curl -k url # Skip SSL verify
curl -w "%{http_code}" -o /dev/null -s url
# Connect
ssh user@host
ssh -p 2222 user@host
ssh -i ~/.ssh/key.pem user@host
# File transfer
scp file.txt user@host:/path/
scp -r dir/ user@host:/path/
scp user@host:/path/file.txt ./
# Tunnels
ssh -L 8080:localhost:80 user@host
ssh -D 1080 user@host # SOCKS proxy
# List listening ports
ss -tlnp # TCP
ss -ulnp # UDP
netstat -tlnp # Alternative
# Check specific port
nc -zv host 80 # Port check
lsof -i :8080 # What's using port
# Scan ports
nmap -sT host # TCP scan
nmap -p 80,443 host # Specific ports
# DNS lookup
dig example.com
dig +short example.com # IP only
dig example.com MX # MX records
dig @8.8.8.8 example.com # Specific DNS
# Alternatives
host example.com
nslookup example.com
response=$(curl -s -w "\n%{http_code}" \
-H "Authorization: Bearer $TOKEN" \
"https://api.example.com/data")
http_code=$(echo "$response" | tail -1)
body=$(echo "$response" | sed '$d')
if [[ "$http_code" != "200" ]]; then
echo "Error: HTTP $http_code"
exit 1
fi
wait_for_port() {
local host="$1" port="$2" timeout="${3:-30}"
for ((i=0; i<timeout; i++)); do
if nc -z "$host" "$port" 2>/dev/null; then
return 0
fi
sleep 1
done
return 1
}
# ~/.ssh/config
Host myserver
HostName 192.168.1.100
User admin
Port 2222
IdentityFile ~/.ssh/mykey
| Don't | Do | Why |
|---|---|---|
curl | bash | Download, inspect, run | Security risk |
| Store passwords | Use SSH keys | More secure |
| Skip SSL verify | Fix certificates | Security |
| Error | Cause | Fix |
|---|---|---|
Connection refused | Service down | Check if running |
Connection timed out | Firewall/routing | Check network |
Name not resolved | DNS issue | Check DNS |
Permission denied (publickey) | SSH key | Check authorized_keys |
# Test connectivity
ping -c 2 host
traceroute host
# Debug curl
curl -v https://example.com
# Debug SSH
ssh -vvv user@host
npx claudepluginhub joshuarweaver/cascade-code-general-misc-2 --plugin pluginagentmarketplace-custom-plugin-bash-shellCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.