/hsb-flash
Flash the FPGA on an HSB board connected to an NVIDIA devkit. Supports HSB Lattice boards (FPGA versions 2407, 2412, 2507, 2510) and Leopard Imaging VB1940 "all-in-one" cameras (FPGA versions 2507, 2510). Uses release-specific YAML manifests and board-type-specific program
$ npx -y skills add NVIDIA/skills --skill hsb-flash --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/hsb-flash
Context preview
The summary Claude sees to decide when to auto-load this skill.
Flash the FPGA on an HSB board connected to an NVIDIA devkit. Supports HSB Lattice boards (FPGA versions 2407, 2412, 2507, 2510) and Leopard Imaging VB1940 "all-in-one" cameras (FPGA versions 2507, 2510). Uses release-specific YAML manifests and board-type-specific program
SKILL.md
hsb-flash.SKILL.mdname: hsb-flash
description: Flash the FPGA on an HSB board connected to an NVIDIA devkit. Supports HSB Lattice boards (FPGA versions 2407, 2412, 2507, 2510) and Leopard Imaging VB1940 "all-in-one" cameras (FPGA versions 2507, 2510). Uses release-specific YAML manifests and board-type-specific program commands. Lattice and VB1940 commands must never be mixed.
author: "Holoscan Team <holoscan-team@nvidia.com>"
license: "Apache-2.0"
version: "1.0.0"
tags:
- holoscan-sensor-bridge
- hsb
- fpga-flashing
tools:
- Read
- Write
- Edit
- Grep
- Glob
- Bash
disable-model-invocation: true
allowed-tools: Read,Write,Edit,MultiEdit,Grep,Glob,Bash
metadata:
author: "Holoscan Team <holoscan-team@nvidia.com>"
team: holoscan
tags:
- holoscan-sensor-bridge
- hsb
- fpga-flashing
agents:
- claude-code
- codexHSB FPGA Flash
Use this skill when the user wants to flash (upgrade or downgrade) the FPGA firmware on an HSB board connected to a supported NVIDIA devkit.
**This skill supports two board types:**
1. **HSB Lattice boards** — standalone FPGA board with a Lattice CPNX100 FPGA 2. **Leopard Imaging VB1940** — "all-in-one" camera with an integrated Lattice FPGA
**CRITICAL SAFETY RULE: Never mix board-type commands.** Using `program_leopard_cpnx100` on a Lattice board or `program_lattice_cpnx100` on a VB1940 **can permanently brick the device**. The skill must detect and confirm the board type before any flash operation, and refuse to proceed if the board type is ambiguous or mismatched.
This workflow has side effects (it permanently modifies FPGA firmware). Never run it automatically. Only run it when the user explicitly invokes it.
**Usage warning:** This skill flashes the FPGA with new firmware. Before invoking it, ask the user to make sure they have enough Claude Code usage/tokens to complete the workflow.
Before you start — required gates (do these first, in order)
**Gate 1 — Read environment variables.** Before doing anything else, check these variables and print their resolved values to the user:
SSH_TARGET Remote devkit login (e.g. nvidia@192.168.1.50). Ask the user if not set.
REMOTE_ROOT Remote working directory (e.g. /home/nvidia). Ask the user if not set.
REMOTE_SUDO sudo / sudo -n / "" — default to "sudo" if not set.
REMOTE_SSH_OPTS Additional SSH options (optional).
HSB_PLATFORM Platform hint (optional).
**SSH_TARGET and REMOTE_ROOT are required. Stop and ask the user for them if either is missing.**
**Gate 2 — Present the flash summary and phase plan.** Before taking any action:
If the user's request already includes board type, current FPGA version, and target FPGA version, state the following before the phase plan: flash tool (`program_lattice_cpnx100` for Lattice, `program_leopard_cpnx100` for VB1940 — never mix), manifest release and filename, CLI flags (`--force --accept-eula`), whether the procedure is single-step or two-step via gateway 2412. For VB1940, also state that no v2.0.0 interim repo is needed. For two-step upgrades from FPGA 2407, state that step 1 uses `hololink --force fpga_version` (not `hololink enumerate`, which is incompatible with FPGA 2407) and uses v2.0.0 flag placement: `hololink --force program scripts/manifest.yaml --accept-eula` (`--force` before the subcommand).
Then show the phase plan and ask explicitly: `Shall I proceed with the flash workflow? [Y/n]` — do not start Gate 3 until the user confirms:
HSB Flash — Phase Plan
Phase 0: Token-budget preflight
Phase 1: Verify board connectivity, detect board type (Lattice or VB1940), read FPGA version
Phase 2: Select target FPGA version
Phase 3: Prepare flash infrastructure and YAML files, present flash plan for approval
Phase 4: Execute flashing procedure (with power cycle verification)
Phase 5: Summary report (with option to save)
Phase 6: Clean up flash artifacts
**Gate 3 — Token-budget preflight (Phase 0).** Run after the phase plan (Gate 2) has been presented and the user has confirmed. Do not run the token-budget check before the phase plan is shown. Do not proceed to Phase 1 until the budget check passes.
**Gate 4 — Confirm board type explicitly.** Before any flash command, confirm with the user whether the board is **Lattice** or **VB1940**. Never mix `program_lattice_cpnx100` and `program_leopard_cpnx100` — wrong tool can brick the device.
Instructions
Invoke this skill by typing `/hsb-flash [OPTIONS]`. The skill detects the board type automatically, presents a flashing plan, and prompts for confirmation before each flash step. See [references/help-text.md](references/help-text.md) for the full `--help` output.
What this skill must do
0. **Run the mandatory token-budget preflight before any remote command, repo checkout, container build, or flash preparation.** Estimate the tokens needed to complete all phases, check the user's remaining subscription-plan usage with the best available Claude Code/account usage mechanism, display the estimate and result to the user, and stop if the available budget is insufficient or cannot be verified. 1. Verify that an HSB board is connected to a devkit, that SSH and board connectivity work, read the current FPGA version, and **identify the board type** (Lattice or VB1940). Try `hololink enumerate` first; if it fails (which is expected for FPGA 2407 boards), fall back to `hololink --force fpga_version`. For Lattice boards, if all methods fail with the existing repo's container, checkout HSB release repo v2.0.0 and retry using the v2.0.0 container. If that also fails, assume the version is 2407 and continue. For VB1940 boards, ask the user if the version cannot be read. 2. Ask the user for the target FPGA version they want to flash to (or accept "latest"). The available versions depend on the board type. 3. **Handle undocumented FPGA versions** (applies to both Lattice and VB1940): If the current or target FPGA version is not listed in this skill'
Read more
name: hsb-flash
description: Flash the FPGA on an HSB board connected to an NVIDIA devkit. Supports HSB Lattice boards (FPGA versions 2407, 2412, 2507, 2510) and Leopard Imaging VB1940 "all-in-one" cameras (FPGA versions 2507, 2510). Uses release-specific YAML manifests and board-type-specific program commands. Lattice and VB1940 commands must never be mixed.
author: "Holoscan Team <holoscan-team@nvidia.com>"
license: "Apache-2.0"
version: "1.0.0"
tags:
- holoscan-sensor-bridge
- hsb
- fpga-flashing
tools:
- Read
- Write
- Edit
- Grep
- Glob
- Bash
disable-model-invocation: true
allowed-tools: Read,Write,Edit,MultiEdit,Grep,Glob,Bash
metadata:
author: "Holoscan Team <holoscan-team@nvidia.com>"
team: holoscan
tags:
- holoscan-sensor-bridge
- hsb
- fpga-flashing
agents:
- claude-code
- codexHSB FPGA Flash
Use this skill when the user wants to flash (upgrade or downgrade) the FPGA firmware on an HSB board connected to a supported NVIDIA devkit.
**This skill supports two board types:**
1. **HSB Lattice boards** — standalone FPGA board with a Lattice CPNX100 FPGA 2. **Leopard Imaging VB1940** — "all-in-one" camera with an integrated Lattice FPGA
**CRITICAL SAFETY RULE: Never mix board-type commands.** Using `program_leopard_cpnx100` on a Lattice board or `program_lattice_cpnx100` on a VB1940 **can permanently brick the device**. The skill must detect and confirm the board type before any flash operation, and refuse to proceed if the board type is ambiguous or mismatched.
This workflow has side effects (it permanently modifies FPGA firmware). Never run it automatically. Only run it when the user explicitly invokes it.
**Usage warning:** This skill flashes the FPGA with new firmware. Before invoking it, ask the user to make sure they have enough Claude Code usage/tokens to complete the workflow.
Before you start — required gates (do these first, in order)
**Gate 1 — Read environment variables.** Before doing anything else, check these variables and print their resolved values to the user:
SSH_TARGET Remote devkit login (e.g. nvidia@192.168.1.50). Ask the user if not set. REMOTE_ROOT Remote working directory (e.g. /home/nvidia). Ask the user if not set. REMOTE_SUDO sudo / sudo -n / "" — default to "sudo" if not set. REMOTE_SSH_OPTS Additional SSH options (optional). HSB_PLATFORM Platform hint (optional).
**SSH_TARGET and REMOTE_ROOT are required. Stop and ask the user for them if either is missing.**
**Gate 2 — Present the flash summary and phase plan.** Before taking any action:
If the user's request already includes board type, current FPGA version, and target FPGA version, state the following before the phase plan: flash tool (`program_lattice_cpnx100` for Lattice, `program_leopard_cpnx100` for VB1940 — never mix), manifest release and filename, CLI flags (`--force --accept-eula`), whether the procedure is single-step or two-step via gateway 2412. For VB1940, also state that no v2.0.0 interim repo is needed. For two-step upgrades from FPGA 2407, state that step 1 uses `hololink --force fpga_version` (not `hololink enumerate`, which is incompatible with FPGA 2407) and uses v2.0.0 flag placement: `hololink --force program scripts/manifest.yaml --accept-eula` (`--force` before the subcommand).
Then show the phase plan and ask explicitly: `Shall I proceed with the flash workflow? [Y/n]` — do not start Gate 3 until the user confirms:
HSB Flash — Phase Plan Phase 0: Token-budget preflight Phase 1: Verify board connectivity, detect board type (Lattice or VB1940), read FPGA version Phase 2: Select target FPGA version Phase 3: Prepare flash infrastructure and YAML files, present flash plan for approval Phase 4: Execute flashing procedure (with power cycle verification) Phase 5: Summary report (with option to save) Phase 6: Clean up flash artifacts
**Gate 3 — Token-budget preflight (Phase 0).** Run after the phase plan (Gate 2) has been presented and the user has confirmed. Do not run the token-budget check before the phase plan is shown. Do not proceed to Phase 1 until the budget check passes.
**Gate 4 — Confirm board type explicitly.** Before any flash command, confirm with the user whether the board is **Lattice** or **VB1940**. Never mix `program_lattice_cpnx100` and `program_leopard_cpnx100` — wrong tool can brick the device.
Instructions
Invoke this skill by typing `/hsb-flash [OPTIONS]`. The skill detects the board type automatically, presents a flashing plan, and prompts for confirmation before each flash step. See [references/help-text.md](references/help-text.md) for the full `--help` output.
What this skill must do
0. **Run the mandatory token-budget preflight before any remote command, repo checkout, container build, or flash preparation.** Estimate the tokens needed to complete all phases, check the user's remaining subscription-plan usage with the best available Claude Code/account usage mechanism, display the estimate and result to the user, and stop if the available budget is insufficient or cannot be verified. 1. Verify that an HSB board is connected to a devkit, that SSH and board connectivity work, read the current FPGA version, and **identify the board type** (Lattice or VB1940). Try `hololink enumerate` first; if it fails (which is expected for FPGA 2407 boards), fall back to `hololink --force fpga_version`. For Lattice boards, if all methods fail with the existing repo's container, checkout HSB release repo v2.0.0 and retry using the v2.0.0 container. If that also fails, assume the version is 2407 and continue. For VB1940 boards, ask the user if the version cannot be read. 2. Ask the user for the target FPGA version they want to flash to (or accept "latest"). The available versions depend on the board type. 3. **Handle undocumented FPGA versions** (applies to both Lattice and VB1940): If the current or target FPGA version is not listed in this skill'
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
Other skills on nvidia-skills.
- /nvidia-skill-finder
Use for NVIDIA-related requests where an NVIDIA skill might help, even if the user did not ask for a skill. Trigger on NVIDIA products, hardware, software, SDKs, GPUs, Jetson/JetPack/L4T/BSP/SDK Manager/driver/flashing/setup, CUDA, NIM, NeMo, Omniverse/OpenUSD/SimReady,
Open skill - /accelerated-computing-cudf
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
Open skill - /aiq-deploy
Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.
Open skill - /aiq-research
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
Open skill - /amc-run-sample-calibration
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Open skill - /amc-run-video-calibration
Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead.
Open skill

