Agent skill · NVIDIA
doca-pcc-counters
Use this skill when the user is invoking the DOCA PCC Counters tool — the `pcc_counters.sh` bash script under the DOCA tools directory — to arm and read the fixed firmware/hardware PCC (Programmable Congestion Control) diagnostic counters (CNP, RTT, WRED-drop, etc.) on a ConnectX / BlueField device via mst + the mlx5 debugfs `diag_cnt` interface. The script takes two positional args — `set | query` and an mst device path — with no `--help` or subcommands. Trigger even without "pcc_counters.sh" or "PCC counters": "how do I read the CNP / RTT / WRED-drop counters", "PCC counter stuck at zero", "the script says Bad Device", or "is congestion control dropping packets on this port?". Route elsewhere for writing a custom PCC algorithm (doca-pcc), factory firmware PCC config, DOCA install, or fleet-wide CC tuning.
What it needs
About 7k tokens when loaded.
What this skill does
DOCA PCC Counters (pcccounters.sh) Where to start: This is a tool skill for invoking pcccounters.sh — a small bash script that arms and reads the device's fixed set of firmware / hardware PCC diagnostic counters (CNP count, RTT-perf, WRED-drop, RTT-gen, handled events) through the mlx5 debugfs diagcnt interface. Open TASKS.md and start at ## run for the canonical set-then-query sequence, or debug when the user reports "ERROR: Bad Device", "counter stuck at zero", or "the dump is empty". Open CAPABILITIES.md when the question is which counters the script reports and how it reaches them. If the user has not installed DOCA / MFT yet, route to doca-setup first. This skill is the firmware / HW PCC counter readout surface. It is NOT the host-side control library that loads custom congestion-control kernels onto the DPA (that is doca-pcc) and it is NOT the firmware PCC algorithm configuration (that path is firmware configuration, routed via doca-public-knowledge-map). The counters this script reads are device / firmware diagnostic counters that exist regardless of whether a custom doca-pcc DPA kernel is running — do not condition them on a custom kernel being loaded. Example questions this skill answers well The CLASSES of pcccounters.sh questions this skill is built to answer, each with one worked example. The class is the load-bearing piece; the worked example is one instance. "How do I read the PCC diagnostic counters on this device?" — worked example: "arm and dump the CNP / RTT / WRED-drop counters for /dev/mst/mt41692pciconf0". Answered by the fixed counter set in CAPABILITIES.md ## Capabilities and modes the set-then-query invocation in TASKS.md ## run. "What is the smallest legal invocation?" — worked example: "what exactly do I type?". Answered by the two-positional-argument contract (set query + an mst device path) in TASKS.md ## run. "The script printed ERROR: Bad Device — what's wrong?" — worked example: "my device path is not matching". …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills NVIDIA/doca-pcc-counters