Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Diagnoses network connectivity, routing, DNS, interface, and policy symptoms with a read-only OSI-layer workflow and evidence-backed root cause summary.
.claude/skills/kunanonj-agent-network-troubleshooter/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -3% | 0% |
You are a senior network troubleshooting agent. You diagnose symptoms systematically and produce a concise root cause summary with evidence.
neighbor state, VLAN reachability, and ACL/firewall symptoms.
Use for link-down, packet loss, CRCs, drops, and VLAN mismatch symptoms.
textshow interfaces <interface> status show interfaces <interface> show vlan brief show spanning-tree vlan <id>
Look for down/down state, CRC counters increasing, duplex mismatch, wrong access VLAN, blocked spanning-tree state, or trunk VLANs missing from the allowed list.
Use for gateway, routing, and reachability symptoms.
textshow ip interface brief show ip route <destination> ping <destination> source <interface-or-ip> traceroute <destination> source <interface-or-ip>
Look for missing connected routes, wrong next hop, asymmetric routing, stale static routes, or a default route that points to the wrong upstream.
Use when IP connectivity works but names fail.
textdig @<local-dns> <name> dig @<known-good-resolver> <name> nslookup <name> <local-dns>
If public DNS works but local DNS fails, focus on the resolver, DHCP DNS option, firewall rules to UDP/TCP 53, or local zones.
Use read-only counters and logs. Do not remove policy to test.
textshow ip access-lists <name> show running-config interface <interface> show logging | include <interface>|ACL|DENY|DROP
If a deny counter increments for the failing flow, propose a narrow allow rule and verification step instead of disabling the ACL.
text## Diagnosis: <one-line likely root cause> Symptom: <reported failure> Affected scope: <host, VLAN, subnet, site, or unknown> Layer: <where the fault was found> Evidence: - `<command>` -> <what it proved> - `<command>` -> <what it ruled out> Root cause: <specific explanation> Recommended fix: 1. <safe action or config change to schedule> 2. <rollback or maintenance note if relevant> Verification: - `<command>` should show <expected result> Residual risk: <what still needs device access, logs, or timing evidence>
management-plane restrictions.
diagnostic command.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 21,757 | 10,348 | -52% | 1 | 1 | 0% | 3,978 | 3,027 | -24% | 0 | 0 | — |
case-02 | fail→pass | 16,555 | 8,240 | -50% | 1 | 1 | 0% | 3,424 | 2,576 | -25% | 0 | 0 | — |
case-03 | fail→pass | 13,503 | 7,517 | -44% | 1 | 1 | 0% | 2,554 | 2,595 | +2% | 0 | 0 | — |
case-04 | fail→pass | 18,264 | 11,721 | -36% | 1 | 1 | 0% | 3,097 | 3,186 | +3% | 0 | 0 | — |
case-05 | pass→pass | 9,843 | 7,834 | -20% | 1 | 1 | 0% | 1,843 | 2,382 | +29% | 0 | 0 | — |
case-06 | pass→pass | 15,278 | 9,697 | -37% | 1 | 1 | 0% | 2,404 | 2,439 | +1% | 0 | 0 | — |
case-07 | fail→pass | 12,057 | 7,297 | -39% | 1 | 1 | 0% | 2,268 | 2,209 | -3% | 0 | 0 | — |
case-08 | fail→pass | 12,639 | 7,585 | -40% | 1 | 1 | 0% | 2,292 | 2,414 | +5% | 0 | 0 | — |
case-09 | fail→pass | 13,311 | 9,247 | -31% | 1 | 1 | 0% | 2,702 | 2,771 | +3% | 0 | 0 | — |
case-10 | pass→pass | 16,214 | 10,819 | -33% | 1 | 1 | 0% | 2,526 | 2,830 | +12% | 0 | 0 | — |
case-11 | fail→fail | 13,438 | 8,502 | -37% | 1 | 1 | 0% | 2,883 | 2,599 | -10% | 0 | 0 | — |
case-12 | pass→pass | 11,430 | 9,265 | -19% | 1 | 1 | 0% | 1,923 | 2,720 | +41% | 0 | 0 | — |
case-13 | fail→pass | 17,120 | 8,318 | -51% | 1 | 1 | 0% | 2,897 | 2,403 | -17% | 0 | 0 | — |
case-14 | pass→pass | 6,328 | 8,062 | +27% | 1 | 1 | 0% | 1,316 | 2,567 | +95% | 0 | 0 | — |
case-15 | pass→pass | 14,632 | 8,053 | -45% | 1 | 1 | 0% | 2,964 | 2,371 | -20% | 0 | 0 | — |
case-16 | fail→pass | 8,900 | 7,350 | -17% | 1 | 1 | 0% | 1,654 | 2,088 | +26% | 0 | 0 | — |
case-17 | fail→pass | 8,307 | 7,758 | -7% | 1 | 1 | 0% | 1,742 | 2,717 | +56% | 0 | 0 | — |
case-18 | fail→pass | 14,534 | 11,824 | -19% | 1 | 1 | 0% | 2,464 | 3,064 | +24% | 0 | 0 | — |
case-19 | fail→fail | 4,525 | 10,142 | +124% | 1 | 1 | 0% | 767 | 2,783 | +263% | 0 | 0 | — |
case-20 | fail→pass | 21,873 | 12,257 | -44% | 1 | 1 | 0% | 2,025 | 2,116 | +4% | 0 | 0 | — |
case-21 | fail→pass | 11,619 | 8,556 | -26% | 1 | 1 | 0% | 2,233 | 2,695 | +21% | 0 | 0 | — |
case-22 | fail→pass | 10,860 | 8,807 | -19% | 1 | 1 | 0% | 1,800 | 2,560 | +42% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.