Use when you need to print Jetson BSP info (L4T version, board configs, rootfs state) from a Linux_for_Tegra root on the host PC. This is an example skill.
npx skills add https://github.com/NVIDIA/skills --skill jetson-print-bsp-info
Prints a concise summary of a Jetson Linux_for_Tegra (BSP) tree on the host PC.
This skill is intended as a reference example for the jetson-bsp-skills repo and the NVIDIA-wide skills CI. It performs read-only inspection — no flashing, no rootfs changes.
Capture a baseline snapshot of a Linux_for_Tegra BSP tree (release, board configs, rootfs state) before flashing, so issues like "wrong L4T version" or "rootfs never populated" are caught early.
Linux_for_Tegra/ directory looks valid (expected scripts and config files present).Linux_for_Tegra/ directory extracted from a Jetson BSP tarball.ls, head, cat, paste, sed.L4T_ROOT (optional): absolute path to the Linux_for_Tegra/ directory. If unset, use the current working directory.Run each step in order and print the captured values into the report shown under Output format.
L4T_ROOT and validate the directory is a Linux_for_Tegra root — exit early otherwise. flash.sh and nv_tegra/ are the two anchor artifacts that every BSP ships: L4T_ROOT="${L4T_ROOT:-$PWD}"
if [ ! -f "$L4T_ROOT/flash.sh" ] || [ ! -d "$L4T_ROOT/nv_tegra" ]; then
echo "Not a Linux_for_Tegra root: '$L4T_ROOT' (missing flash.sh or nv_tegra/)"
exit 1
fi
echo "$L4T_ROOT"
nv_tegra/nv_tegra_release; the same file is copied into the rootfs by apply_binaries.sh. Only the first line is useful — the rest is a long list of library SHAs: head -1 "$L4T_ROOT/nv_tegra/nv_tegra_release" 2>/dev/null \
|| head -1 "$L4T_ROOT/rootfs/etc/nv_tegra_release" 2>/dev/null \
|| echo "L4T release info not found"
(cd "$L4T_ROOT" && ls *.conf 2>/dev/null) | paste -sd, -
rootfs/ means apply_binaries.sh has not been run yet: if [ -f "$L4T_ROOT/rootfs/etc/passwd" ]; then
echo "populated"
else
echo "empty"
fi
Print a short report with these sections, one line each where possible:
L4T root: <path>
L4T release: <release header line>
Board configs: <comma-separated list>
Rootfs: populated | empty
Example output on an Orin AGX BSP (L4T R36):
L4T root: $HOME/Linux_for_Tegra
L4T release: # R36 (release), REVISION: 3.0
Board configs: jetson-agx-orin-devkit.conf,jetson-orin-nano-devkit.conf
Rootfs: populated
Example output on a freshly untarred BSP where apply_binaries.sh has not been run yet:
L4T root: /tmp/Linux_for_Tegra
L4T release: # R39 (release), REVISION: 0.0
Board configs: jetson-agx-thor-devkit.conf
Rootfs: empty
Each command falls back to a clearly labeled "... not found" string if the underlying file is missing — the skill never errors out mid-report. If L4T_ROOT does not contain flash.sh and nv_tegra/, exit early with a clear "not a Linux_for_Tegra root" message rather than printing misleading info.
rootfs/etc/passwd as a populated-rootfs proxy; will not detect a half-populated rootfs.*.conf board configs in L4T_ROOT/; does not try to infer which one the user intends to flash.Not a Linux_for_Tegra root: '...' (missing flash.sh or nv_tegra/)Cause: L4T_ROOT points at a parent directory, an extracted rootfs, or an unrelated path.
Solution: Point L4T_ROOT at the directory that contains flash.sh (typically Linux_for_Tegra/).
L4T release info not foundCause: Neither nv_tegra/nv_tegra_release nor rootfs/etc/nv_tegra_release exists — the BSP tarball may be incomplete or apply_binaries.sh was never run.
Solution: Re-extract the BSP tarball or run apply_binaries.sh to populate the rootfs.
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take nvidia/jetson-print-bsp-info from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.