Jetson BSP Image Validator
Validate a flashed Jetson BSP image on disk and on the target device.
The evidence shows profile/env/prompt resolution, passwords kept out of YAML, pinned SSH host keys, safe default UART lock refusal, and security notes for sudo and transfers. Points are deducted because on-target commands may run with sudo, auth=prompt can expose passwords in conversation logs, accept-new still creates first-use trust risk, and explicit execution confirmation, rollback, and finer least-privilege controls are incomplete. No red-line risk is evident.
The evidence shows defined UART exit codes, timeouts, probing, lock handling, prompt sentinels, and dependency-failure messages. Points are deducted because the main procedure is explicitly a skeleton; static checks, suite selection, result aggregation, and pass/fail policy are not implemented. The documentation claims --shell-prompt support, but the script CLI does not define that option. No key-path test suite or CI coverage is provided, so the static score stays at or below 10.
The evidence clearly identifies users, triggers, static and on-target scopes, SSH/UART transports, and exclusion of build/flash work. Points are deducted because test-suite, input/output, and non-fit boundaries remain incomplete, and Chinese-language support is not declared. The skill also depends on a local Jetson host, DUT, SSH/UART, pyserial, and a specific BSP environment. Core functionality does not depend entirely on overseas online services.
The evidence includes frontmatter naming, version, Apache-2.0 metadata, references, examples, limitations, troubleshooting, and a benchmark. Points are deducted for inconsistent licensing presentation: frontmatter says Apache-2.0 while the skill card says CC-BY-4.0 AND Apache 2.0; the author lacks the required email format noted by the benchmark; and no changelog, explicit maintenance owner, or clear update path is provided. The core procedure remains skeletal.
The stated goal—checking BSP artifacts and a running DUT—would provide useful validation, and the listed initramfs, module, kernel, and dmesg checks are relevant. Points are deducted because execution flow and result policy are incomplete, leaving substantial work to the agent; the benchmark has only two positive tasks, with Correctness at 45%/55% and Effectiveness at 24%, and does not establish directly usable outputs. The static score therefore stays at or below 7.
The committed UART implementation, referenced contract, two evaluation tasks, and benchmark report provide some auditability. Points are deducted because there is no committed test suite, CI coverage, or reproducible execution log; the benchmark is very small and has no negative cases; and the main procedure and static checks are not independently reproduced. The static score therefore stays at or below 5.
- The skill explicitly remains a skeleton; do not treat its checklist as an implemented automated validator.
- Before on-target execution, confirm the DUT, sudo authority, credential source, and logging scope; auth=prompt or sudo.method=prompt may expose passwords in conversation logs.
- Resolve the documentation/CLI mismatch for --shell-prompt and add key-path tests, CI, output schemas, and pass/fail policy.
- Clarify the applicable scope of Apache-2.0 versus CC-BY-4.0 and provide compliant author and maintenance information.
What does this skill do, and when should you use it?
This skill validates an NVIDIA Jetson BSP after jetson-flash-image has completed. It supports static checks against the BSP stored on the host and on-target checks over SSH or UART. The procedure covers artifacts, kernel and module consistency, initramfs, partition layout, boot state, and selected tests. It is explicitly a skeleton: the DUT-access contract and UART helper are locked, while the complete check list, test selection, and verdict policy may change.
Reads the active target profile and bsp_image path; checks required Linux_for_Tegra artifacts, DTB and module verification data, partition layout, and staged outputs; compares the kernel Image, rootfs modules, and initramfs contents for coherence; connects to the DUT over SSH or UART and runs the uname -r plus cat /etc/nv_tegra_release probe; confirms userspace boot, runs a selected smoke, regression, focused, or ad-hoc suite, and collects logs and artifacts; checks loaded-module srcversion, the running kernel against the rootfs Image, and dmesg with sudo; reports per-check results, an overall verdict, and artifact locations.
- A Jetson engineer has customized and flashed a BSP and needs to confirm that the image landed correctly and booted.
- A CI pipeline needs a validation gate before declaring a customization batch shippable.
- A networkless Jetson DUT must be checked through UART.
- A rebuilt kernel or module set requires diagnosis of drift between initramfs, rootfs, and the running system.
What are this skill's strengths and limitations?
- Covers both host-side BSP artifacts and the flashed DUT.
- Supports SSH and UART as peer DUT transports.
- Checks kernel, module, initramfs, and vermagic coherence to expose stale-image and stale-module failures.
- Documents connection probing, environment-based password handling, and host-key behavior.
- The SKILL.md calls the procedure a skeleton; the static checklist, test selection, result layout, and verdict policy may change.
- UART base64 transfer runs at about 10 KB/s, warns above 100 KB, and performs poorly for validation runs with more than 10 commands.
- It requires a flashed DUT booted to userspace and does not build or flash images.
- The supplied source provides no platform coverage, empirical test results, or pricing information.
How do you install this skill?
Install it with the skills CLI command documented in the repository README: npx skills add nvidia/skills --skill jetson-validate-image --yes. A client-specific installation is also supported, for example: npx skills add nvidia/skills --skill jetson-validate-image --agent codex --yes. The skill becomes available when the agent next loads its installed skills.
How do you use this skill?
Invoke it after jetson-flash-image with a trigger such as “validate bsp” or “run on-target validation”. For static validation, use /jetson-validate-image and request “static checks only against the staged BSP”. On-target validation requires an active bsp_image and a dut_access configuration, or runtime values for transport, credentials, and sudo. The full test-suite definition, result-sink layout, and pass/fail policy are not documented.
How does this skill compare with similar options?
The skill treats SSH and UART as peer DUT-access methods. SSH is preferred for high-volume transfers and many commands, while UART is intended for DUTs without network access or with broken SSH.