workspace/skills/anta-validation/SKILL.md
Validate Arista EOS network state with structured pass/fail verdicts using ANTA. Use for "is this switch healthy", "did my change break anything", "verify BGP/interfaces/hardware are correct", "run a health check on this device". Read-only. A test for a feature the device does not run reports not_applicable — never a failure — and no health percentage is ever emitted.
npx skillsauth add automateyournetwork/netclaw anta-validationInstall 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.
Every other NetClaw source reads state. This one asserts on it and returns a verdict you can act on.
Server: anta-mcp (NetClaw-authored over ANTA 1.9.0, Apache-2.0, own virtualenv) · 4 tools ·
1,272 tokens · 208 tests in the catalogue
Three servers touch Arista. They answer different questions, and picking the wrong one gives a confidently wrong answer.
| Plane | Server | Answers |
|---|---|---|
| Validation | this skill | does the state match what it should be — pass/fail |
| Management | arista-cvp-mcp | what does CloudVision say — inventory, tags, compliance as CVP sees it |
| Device CLI | pyats-*, multivendor-cli | what is the raw state — show-command output |
Use this skill to assert, not to fetch. If the question is "what is the interface MTU", that is the CLI plane. If the question is "is the MTU what it should be", that is this one.
| Verdict | Means | Never counts as |
|---|---|---|
| pass | tested, expectation held | — |
| fail | tested, expectation did not hold | — |
| not_applicable | the feature is not configured — nothing was tested | fail |
| skipped | ANTA declined to run it | pass |
| error | device unreachable or the run broke | fail |
not_applicable is the one that mattersANTA natively reports a test for an unconfigured feature as a failure. Measured on a lab switch:
VerifyBGPPeerCount → failure
"'show bgp summary vrf all' failed on veos1: BGP inactive"
That device has no BGP at all. Reporting it as a failure claims a BGP fault where there is no
BGP. The server reclassifies it to not_applicable and keeps the original message.
When you report results: say "BGP: not applicable — this device does not run BGP", never "BGP test failed".
passed / total is meaningless when not_applicable and skipped sit in the denominator. Forty
tests of which thirty are not applicable is not "25% healthy" — it is ten real answers and thirty
non-answers. The server refuses to emit a percentage. Report the five counts.
1. Find the tests (contacts no device):
anta_list_tests: category="routing.bgp" # or keyword="ntp", or both
2. Learn what a test needs (contacts no device):
anta_describe_test: test="VerifyEOSVersion" # returns its input schema
Do this whenever a test takes inputs. A test run without required inputs is reported as skipped
with the requirements listed — it does not guess a default and silently test the wrong thing.
3. Run them:
anta_run_tests:
host: "172.20.20.4"
tests: ["VerifyEOSVersion", "VerifyUptime", "VerifyNTP"]
inputs: {"VerifyEOSVersion": {"versions": ["4.36.1F"]}, "VerifyUptime": {"minimum": 3600}}
Or by category: category: "hardware".
error with zero results. It is not a broken device — nothing
was tested. Say "could not reach the device", never "the device failed its tests".no_tests_selected. No test matched. That is not a healthy device.fail names observed and expected. Quote both — "NTP expected synchronised, actual
unsynchronised" is actionable; "NTP test failed" is not.ANTA_USERNAME / ANTA_PASSWORD come from the environment and are never tool arguments and
never appear in output. ANTA_VERIFY_TLS defaults to false because lab switches ship self-signed
certificates — and the setting is always disclosed in the response as tls_verified, so a
downgrade is visible rather than silent.
zabbix-metrics-history.tools
Zoom meeting intelligence — correlates a live or referenced Zoom meeting discussion against NetClaw's historical meeting record (via the official Zoom Meetings MCP) and today's actual network state. Use when someone in a Zoom meeting references a past discussion or incident ('didn't we have this issue before?'), or asks to search prior meetings for a topic. Does not itself recognize live in-meeting questions — that happens automatically inside zoom-rtms-mcp's own extractor (spec 118) before this skill is ever invoked.
tools
Manage Lantronix out-of-band (OOB) infrastructure via Percepxion central management platform: device inventory, serial port inspection via SLC CLI, firmware compliance, config management, security auditing, and closed-loop incident remediation. Use during outages, maintenance windows, compliance cycles, and AI-assisted automation workflows.
tools
Federate your NetClaw with other NetClaw operators over the BGP mesh — exchange capability inventories and ask your claw what a peer can do. (US1; remote invocation and chat land in later phases.)
tools
Track token consumption, enforce session budgets, and display cost for every NetClaw interaction.