connectivity-triage
Helps your agent diagnose connection issues on macOS. It identifies network, DNS, or service failures, being useful for video calls with problems.
What it does
Helps figure out why your Mac's internet or a specific app isn't working. It uses simple tools to check if the problem is with your local network, DNS (which translates website names to IP addresses), the path to the website, or the website itself.
When to use it
- ✓If a website or app won't load.
- ✓If the internet is slow or dropping.
- ✓If you're unsure if the problem is your computer or the internet.
Example of what to ask your AI
“My internet is slow and website X won't load.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It runs commands that test different parts of your connection, like the local network, name resolution, and the path to the destination. It gathers information without changing any settings.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add wshobson/agents --skill connectivity-triageOr download just the file:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/incident-response/skills/connectivity-triage/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Connectivity Triage
Localize an active connectivity failure without changing network configuration. Collect the smallest useful evidence set, distinguish observations from inference, and stop when the fault domain is clear enough for the next safe action.
When to Use This Skill
Use this workflow when a macOS endpoint has an active symptom such as:
- an API, website, or MCP service timing out or disconnecting;
- DNS lookup failures or inconsistent name resolution;
- packet loss, latency, or unstable interactive traffic;
- an application that appears offline while other traffic works;
- uncertainty about whether the problem is local, upstream, or at the service.
This is a diagnostic workflow, not a remediation workflow. Do not change interface state, DNS settings, VPN/firewall configuration, or remote service state while establishing the fault domain.
Fast Decision Flow
Work from the symptom toward the narrowest discriminating check:
symptom
-> local link / LAN evidence
-> DNS configuration and resolution
-> destination reachability
-> path quality
-> application / service timing
-> fault-domain assessment
Stop early when the evidence is already sufficient. Do not run every probe mechanically.
1. Define the symptom
Record the affected application or process, destination hostname or URL, when the failure started, whether it is continuous or intermittent, and whether unrelated destinations still work.
If the symptom is application-specific, preserve the exact hostname or URL the application uses. Testing an unrelated public site can establish general connectivity but cannot prove the affected service is healthy.
2. Check local-link / LAN evidence
When available, run a bounded networkQuality sample for a broad responsiveness and throughput signal. If networkQuality is unavailable, continue; it is optional.
If a known local gateway or same-LAN target is available, compare a short bounded ping sample to that local target with a short sample to the remote destination. Do not invent a gateway address. If no local target is known, leave the LAN segment unproven and continue.
Useful pattern:
ping -c 5 <known-local-target>
ping -c 5 <destination>
3. Separate DNS configuration from DNS behavior
Inspect the system resolver state, especially when VPNs, split DNS, or scoped resolvers may be involved:
scutil --dns
Then test the destination name directly with a bounded DNS query:
dig +time=2 +tries=1 <hostname>
Treat these as different evidence. scutil --dns shows resolver configuration; dig shows query behavior. A successful lookup does not prove the returned endpoint is reachable.
4. Test reachability and path quality
Use a short ping sample when ICMP is a useful signal:
ping -c 5 <destination>
If the hostname resolves, test the returned address separately only when doing so helps distinguish DNS behavior from path failure. If resolution currently fails, use an address only when it was previously observed from trustworthy incident evidence; otherwise leave address-level reachability unknown.
Use a bounded numeric traceroute when path visibility would reduce uncertainty:
traceroute -n -q 1 -m 20 <destination>
A silent or changing hop is an observation, not proof that the hop is broken. Routers may filter or rate-limit traceroute traffic while forwarding application traffic normally.
5. Inspect the affected application's live network activity
When the problem is process-specific, use a bounded nettop capture rather than watching indefinitely:
nettop -n -L 3 -p <process-name-or-pid>
Use it to confirm whether the process is opening connections, which endpoints it is using, and whether traffic is flowing. Lack of visible activity may mean the application never attempted the connection; it does not by itself identify why.
6. Time the application path
For HTTP(S), use curl phase timing against the actual affected endpoint when a safe read-only request is available. Confirm the incident-supplied endpoint is a complete http:// or https:// URL, preserve its original scheme, and pass the URL as one quoted argument rather than interpolating arbitrary incident text into the shell command:
curl -sS -o /dev/null \
-w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' \
…
FAQ
Will this change any of my network settings?
No, this process is for diagnosis and information gathering only. It does not change any network, DNS, or VPN configurations.
What are 'fault domains'?
These are the potential causes of the problem, such as your local network, DNS, the path to the server, or the server/application itself.
What should I do after using this tool?
The tool helps identify the likely cause of the problem. With this information, you can take the next safe action, like contacting your internet provider or the app's support.
Details
Original description by the author
Use this skill when debugging active macOS connectivity failures, when an API or MCP service times out or disconnects, when DNS resolution is failing or inconsistent, or when video calls or other interactive traffic show packet loss or latency. Isolate local-LAN, DNS, upstream-path, and remote-service/application fault domains with built-in, non-destructive tools.
repo: wshobson/agents
Popularity
- GitHub stars
- 41k
- Ranking position
- #4875
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
screen-reader-testing
Has your agent test websites using screen readers to ensure they are accessible.
wshobson/agents
wcag-audit-patterns
Helps your agent audit websites for accessibility and fix issues according to WCAG guidelines.
wshobson/agents
multi-reviewer-patterns
Enables your agent to coordinate parallel code reviews, deduplicating findings and consolidating reports.
wshobson/agents
parallel-debugging
Allows the agent to debug complex issues with parallel investigations and root cause analysis.
wshobson/agents
Similar skills
dashboard-builder
Helps your agent create useful monitoring dashboards. It turns data into charts that answer important system questions.
affaan-m/ECC
dev-team
Simulates a collaborative development team where different roles respond to a problem together. It's useful for getting multiple perspectives without manually switching agents.
affaan-m/ECC
ecc-council
Has your agent convene a four-voice council for difficult decisions. It's useful when there are multiple good options and debate is needed before choosing.
affaan-m/ECC