DOCA Arg Parser CLI
Guides developers in building and debugging standard CLIs for DOCA applications.
The documentation scopes activity to a local DOCA installation, states that credentials are not required, and mostly recommends inspection and validation before changes. It lacks consistent user-confirmation, rollback, hardware-impact confirmation, and complete data-flow guidance, so points are deducted.
Lifecycle rules, error taxonomy, troubleshooting, and test workflows are detailed. However, SKILL.md, CAPABILITIES.md, and TASKS.md are not fully consistent about the parameter-type set, and no execution was performed, so static evidence is insufficient for a higher score.
Audience, trigger phrases, use cases, and refusal boundaries are clearly defined. The skill nevertheless requires Linux, a local DOCA installation, and BlueField or ConnectX hardware, while reachability of referenced NVIDIA services from mainland China is not addressed.
The skill uses layered SKILL.md, CAPABILITIES.md, and TASKS.md documentation and provides related-skill routing, license information, and issue contacts. Versioning, changelog, author responsibility, and release metadata are incomplete; the SKILLCARD also contains TBD fields and conflicting license metadata.
It provides directly usable workflows for flag changes, lifecycle ordering, JSON configuration, and error diagnosis. It ships no runnable code or templates, actual results depend on local hardware and installation, and BENCHMARK.md does not provide a reproducible evaluation dataset, so points are deducted.
Commands, error mappings, evaluation files, and a benchmark summary provide limited audit trails. There is no execution evidence, independent review, or committed CI test suite covering key paths, and the benchmark dataset is unavailable, so the score remains limited.
- No commands were executed; the DOCA API, error mappings, and workflows are not confirmed runnable for the target installation.
- Parameter-type descriptions are inconsistent across the supplied documents; implementation should defer to the locally installed doca_argp.h and pkg-config results.
- The skill concerns a DOCA device environment but does not sufficiently specify user confirmation, rollback, or hardware-impact boundaries.
- Mainland-China network reachability is not established; core reference material may depend on overseas services.
What does this skill do, and when should you use it?
This Agent Skill is for developers performing hands-on DOCA Arg Parser work in shipped samples or new DOCA-using applications. It covers flag changes, lifecycle wiring, public parameter types, standard DOCA options, JSON configuration, version checks, and common `doca_argp_*` errors. It assumes the DOCA SDK is already installed, so it is not an installation guide or a general DOCA orientation resource.
It guides an agent to inspect the local DOCA installation through pkg-config doca-argp and /opt/mellanox/doca/{lib,include,samples,applications}. It prescribes the doca_argp_init → parameter registration → doca_argp_start → doca_argp_destroy order, helps select among six public parameter types, preserves --device, --representor, --rep-list, --json, and --sdk-log-level, and diagnoses BAD_STATE, INVALID_VALUE, NOT_SUPPORTED, and IO_FAILED results.
- A developer modifying a DOCA sample needs to add a custom flag without breaking the standard device and logging options.
- A C or C++ developer is wiring Arg Parser initialization, registration, parsing, and cleanup into an application.
- An application maintainer wants to use `--json <path>` for complex configuration instead of a long command line.
- A DOCA debugger is investigating a parameter type mismatch, unknown JSON key, unreadable file, or lifecycle error.
- A Rust, Go, or Python developer is wrapping the DOCA Arg Parser C ABI through FFI or bindings.
What are this skill's strengths and limitations?
- Covers parameter registration, lifecycle ordering, the standard DOCA CLI surface, JSON configuration, version detection, and error classification.
- Explicitly distinguishes the six public parameter types and the requirement to register parameters before `doca_argp_start`.
- Provides language-neutral rules for C/C++ and other languages that consume the same C ABI through FFI or bindings.
- Defines clear routing boundaries for installation, DOCA Core, logging internals, variadic flags, subcommands, and shell completion.
- Requires the DOCA SDK at the standard path, supported Linux distributions, and NVIDIA networking hardware.
- Does not ship pre-written usage code, standalone build manifests, samples, bindings, or reference artifacts.
- The supplied material references `TASKS.md` and `CAPABILITIES.md` but does not include their full contents, so detailed procedures and test evidence cannot be assessed here.
- Does not cover DOCA installation, subcommands, variadic flags, shell completion, DOCA Core contexts, or DOCA Log internals.
How do you install this skill?
Install the specific skill with the supported skills CLI command: npx skills add nvidia/skills --skill doca-argp --yes. The CLI prompts for the installation destination; cloning the repository or manually copying the folder is not required. Before use, the target Linux host should have the DOCA SDK installed at /opt/mellanox/doca and have a BlueField DPU or ConnectX NIC attached.
How do you use this skill?
After installation, trigger it with a relevant request such as: add a custom flag to a DOCA sample while preserving --device and --sdk-log-level. Other supported trigger patterns include BAD_STATE registering a new param, my JSON config key is rejected, and my sample's --json is ignored. The referenced TASKS.md contains configure, build, modify, run, test, and debug workflows; CAPABILITIES.md contains capability and error-taxonomy guidance.
How does this skill compare with similar options?
The skill explicitly favors reusing DOCA Arg Parser over getopt, argparse, or custom parsing for DOCA-using applications that need the standard DOCA CLI surface. It does not provide a broader implementation or performance comparison of those alternatives.