复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
📖 Docs: docs.nvidia.com/skills · 📺 Livestream: From Vulnerable to Verified · 📝 Blog: NVIDIA Verified Agent Skills: Capability Governance for AI Agents
Skills are portable instruction sets that teach AI agents how to use NVIDIA software optimally: Physical AI and robotics workflows, simulation, CUDA-X libraries, RAG and AI Blueprints, and platform tools. This repository is a catalog: skills are maintained in their respective product repos, and mirrored here daily via an automated sync pipeline. Skills are being added continuously, so check back for updates. We are building this infrastructure in the open, and contributions are welcome. See the Roadmap for what is planned next.
Install NVIDIA skills with the default skills CLI flow:
npx skills add nvidia/skills
The CLI runs through npx and prompts you to choose a skill and install destination. You do not need to clone this repo or copy skill folders by hand.
Requires a current
skillsCLI (v1.5.16 or newer). Installing vianpx skills@latest add nvidia/skillsalways uses the latest. On older CLIs (v1.5.15 and earlier), skills may install but not appear in Claude Code — see Troubleshooting.
The skill is available the next time your agent loads skills and encounters a relevant task. For example, ask your agent to "solve a linear programming problem with cuOpt" and the skill guides it through the cuOpt Python API. In Claude Code, run /reload-skills to load newly installed skills in your current session.
Use this when you already know the skill name and want to skip prompts.
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --yes
Replace cuopt-numerical-optimization-api with any skill name from the Skill Catalog.
Use --agent to target a specific AI coding agent. Initially, we'll support common client targets, expanding the list over time. For the full list of clients supported by the spec, see the skills CLI Supported Agents table.
Claude Code
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent claude-code
Codex
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent codex
Snowflake CoCo
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent cortex
Cursor
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent cursor
Kiro
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent kiro-cli
Use --agent more than once to install the same skill into multiple agents.
npx skills add nvidia/skills \
--skill cuopt-numerical-optimization-api \
--agent claude-code \
--agent codex \
--agent cursor \
--agent kiro-cli
New skills land continuously, and existing ones are revised, renamed, or consolidated as the catalog evolves. Refresh what you have installed with:
npx skills update
Run it interactively and the CLI also flags skills that were removed or merged upstream (for example, when several skills are consolidated into one) and offers to remove the stale local copies. Use npx skills list to see what is installed and npx skills check to preview what is out of date first.
Use this when you want to see available NVIDIA skills before installing anything.
npx skills add nvidia/skills --list
For non-interactive installs, global installs, agent-specific installs, updates, removals, and fallback manual copying, see Advanced installation.
Where to file an issue depends on what's broken:
Per-product source repo links:
For issues with this catalog repo itself (README, structure, listing a new product): open an issue here.
Every published skill ships with a detached OMS signature (skill.oms.sig). The sync pipeline drops any skill missing the required artifacts before publishing, so every skill in the catalog carries:
SKILL.md — the skill instructions consumed by the agentskill-card.md — skill identity and governance cardskill.oms.sig — detached OMS signature (verifiable against nv-agent-root-cert.pem)evals/evals.json, evals/*.json, eval/*.json, or benchmark/evals.jsonBENCHMARK.md — generated benchmark report capturing verifiable uplift dataVerify a skill against the NVIDIA trust anchor nv-agent-root-cert.pem:
pip install model-signing
model_signing verify certificate SKILL_DIR \
--signature SKILL_DIR/skill.oms.sig \
--certificate_chain nv-agent-root-cert.pem \
--ignore_unsigned_files
A successful verification confirms that the skill contents have not been modified since signing by NVIDIA.
See Verify Signed Agent Skills for signature layout, the trust pipeline, and policy options.
NVIDIA/skills/
├── skills/ # NVIDIA-verified skills (count grows continuously),
│ │ synced from upstream product repos
│ ├── README.md # Browser-facing install guidance
│ ├── <product-prefix>-*/ # Flat layout — one dir per skill, product-prefixed
│ │ # e.g. aiq-*, cuopt-*, cupynumeric-*,
│ │ # dali-*, deepstream-*, dicom-*, digital-health-*,
│ │ # dynamo-*, earth2studio-*, holoscan-*, hsb-*,
│ │ # jetson-*, launch-nemo-rl, mcore-*,
│ │ # nemo-automodel-*, nemo-data-designer-plugin,
│ │ # nemo-evaluator-plugin, nemo-mbridge-* (20 skills),
│ │ # nemo-retriever, nemo-rl-* (4 skills),
│ │ # nemoclaw-user-guide, nemotron-*, nemotron-speech,
│ │ # nv-* (medical AI), physicsnemo-*, rag-*,
│ │ # skill-card-generator, tao-*, tilegym-*,
│ │ # vss-* (15 skills), accelerated-computing-cudf,
│ │ # cudaq-guide, portfolio-optimization
│ ├── omniverse-*/ # Physical AI — manually staged (see manual-components.yml)
│ └── physical-ai-*/ # Physical AI — manually staged
├── components.d/ # Product registry — one file per component, teams onboard here
│ ├── README.md # Schema and onboarding instructions
│ └── <product>.yml # one file per registered product
├── plugins/ # Packaged plugin distributions
│ └── nvidia-skills/ # Curated NVIDIA skills bundle (Claude Code, Codex)
├── plugins.d/ # Plugin build registry — config for `build-plugins.py`
│ ├── README.md
│ ├── _defaults.yml
│ └── nvidia-skills.yml
├── .claude-plugin/ # Claude Code marketplace metadata
│ └── marketplace.json
├── .agents/plugins/ # Agent marketplace metadata (other clients)
│ └── marketplace.json
├── docs/ # Long-form documentation (published via Fern)
│ ├── README.md # How to build the docs locally
│ ├── index.mdx
│ ├── advanced-install.mdx
│ ├── agent-skill-trust-pipeline.mdx
│ ├── release-checklist.mdx
│ ├── scanning-agent-skills.mdx
│ ├── signing-agent-skills.mdx
│ └── skill-cards.mdx
├── fern/ # Fern docs site configuration
├── .github/
│ ├── workflows/ # Sync pipeline, plugin validation, DCO check, author verify
│ └── scripts/ # regenerate-readme.sh, build-plugins.py,
│ # manual-components.yml (temp Physical AI catalog
│ # exception, removed after Computex 2026),
│ # marketplace/metadata.json (skill metadata sidecar)
├── nv-agent-root-cert.pem # Trust anchor for OMS signature verification
├── skills.sh.json # Skills.sh marketplace grouping config
├── CHANGELOG.md
├── CONTRIBUTING.md # Contribution guidelines
├── SECURITY.md # Security reporting policy
├── CODE_OF_CONDUCT.md # Community code of conduct
├── LICENSE-APACHE # Apache 2.0 (source code)
└── LICENSE-CC-BY-4.0 # CC BY 4.0 (documentation/skills)
Skills are maintained in their respective product repos (see the Source column in the Skill Catalog) and synced to this repo daily. Products only appear under skills/ after the sync pipeline confirms each skill carries:
skill.oms.sig — detached OMS-format signature (verifiable against nv-agent-root-cert.pem)skill-card.md — skill identity and governance cardevals/evals.json, evals/*.json, eval/*.json, or benchmark/evals.jsonWhen evaluation runs produce a BENCHMARK.md, it ships alongside the skill so consumers can see verifiable benchmark uplift data.
This repository adheres to the Agent Skills specification:
SKILL.md file at their root.name and description fields.skills-ref reference library.Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
This code is dual-licensed with documentation/skills under the CC-BY-4.0 AND source code under Apache-2.0 license terms. The full license texts can be found in LICENSE-APACHE and LICENSE-CC-BY-4.0 respectively.
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
- codexUse 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:
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.
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.
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 for the full --help output.
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.https://github.com/nvidia-holoscan/holoscan-sensor-bridge/blob/main/RELEASE_NOTES.md and look for a release that introduces the undocumented FPGA version. If a matching release is found, checkout that release repo on the devkit and use it for flashing following the same rules described below for the detected board type. Also update this skill's mapping tables, supported FPGA versions lists, and transition matrices with the new release and its corresponding FPGA version./hsb-setup) to flash, following the same rules for the detected board type. If the flash fails, report the error and prompt the user for further instructions.scripts/ directory of this skill to the checked-out repo, and patch the file as needed for any missing details (e.g., fpga_uuid).--force and --accept-eula to ensure non-interactive execution inside the container. Note: v2.0.0 places --force before the subcommand and --accept-eula after — see "v2.0.0 CLI flag placement" below.| Board Type | Identifier | Description |
|---|---|---|
| Lattice | lattice | HSB Lattice CPNX100-ETH-SENSOR-BRIDGE standalone FPGA board |
| VB1940 | vb1940 | Leopard Imaging VB1940 "all-in-one" Eagle Camera with integrated Lattice FPGA |
The board type is detected from the hololink enumerate output during Phase 1 and confirmed with the user. If detection is ambiguous, the user must explicitly specify the board type.
| Version | YAML Source Release | Notes |
|---|---|---|
| 2407 | v2.0.0 | Oldest supported version |
| 2412 | v2.0.0 | Gateway version for two-step flashing |
| 2507 | v2.3.1 | |
| 2510 | v2.5.0 | Latest supported version |
| Version | YAML Source Release | HSB Release | Notes |
|---|---|---|---|
| 2507 | v2.3.0 | v2.3.0 | |
| 2510 | v2.5.0 | v2.5.0 | Latest supported version |
The VB1940 does not support versions 2407 or 2412 — these are Lattice-only.
Versions not listed above: FPGA versions newer than the latest documented version for either board type may still be flashable — see "Handling undocumented FPGA versions" below. For Lattice boards, versions older than 2407 or between known versions (e.g., 2409) are not supported. For VB1940, versions older than 2507 are not supported. In either case, refuse and show the supported versions for the board type.
See references/flashing-infrastructure.md for GitHub release tags, bundled manifest YAML layout, board-specific flash commands, v2.0.0 CLI flag differences, and FPGA 2407 enumerate workaround.
The "Lattice board FPGA versions" table above determines which HSB release repo to use. The lookup key depends on direction:
Self-updating: If an undocumented FPGA version is encountered, the skill checks the public release notes for a matching HSB release (see "Handling undocumented FPGA versions"). If found, the skill updates the "Supported FPGA versions" tables, the transition matrix, and notes the new release's manifest files.
/hsb-setup), read its version from the VERSION file.VB1940 note: VB1940 flashing always uses the existing repo on the devkit — the FPGA-to-repo mapping does not apply. The existing repo must be at version v2.3.0 or later. If no existing repo is found, instruct the user to run
/hsb-setupfirst.
During Phase 1, when scanning for an existing repo and detecting the board type, save these variables to the session state:
BOARD_TYPE — the detected board type: lattice or vb1940EXISTING_REPO_DIR — absolute path to the existing HSB repo (empty if none found)EXISTING_REPO_VERSION — the repo's release version (e.g., 2.3.1), read from the VERSION fileFLASH_REPO_DIR — absolute path to the repo that will be used for flashing (may differ from EXISTING_REPO_DIR if a different version was checked out)FLASH_REPO_VERSION — the version of the flash repo (looked up from the FPGA-to-repo mapping)INTERIM_REPOS — list of repo directories checked out by this skill (for cleanup in Phase 6)Reuse the same environment variables from the hsb-setup skill:
SSH_TARGET for the remote login target (e.g. nvidia@agx-thor-host)REMOTE_ROOT for the remote working directory where flash workspace will be createdREMOTE_SUDO for privileged commandsREMOTE_SSH_OPTS for additional SSH optionsHSB_PLATFORM as an optional platform hintIf these are set, notify the user of these settings and use them without re-asking.
Before Phase 1, print the resolved remote execution settings.
Before making changes, show this phase plan:
Then execute one phase at a time.
After each non-final phase (Phases 0–5):
Proceed to Phase <N+1>? [Y/n] and specify what the next phase does. Wait for confirmation before continuing.Exception: When --y (auto-approve mode) is active, phase gates are skipped and phases run automatically. See "Auto-approve mode (--y)" section for details.
If something fails, do not just dump raw logs. Summarize:
See references/phase-details.md for full step-by-step phase instructions, flashing procedure logic, execution rules, safety constraints, phase gate rules, verbosity behavior, force mode, and auto-approve mode.
--help)See references/help-text.md for the full --help output text.
See references/help-text.md for the full --help output including all invocation examples.
评论 (0)
暂无评论,成为第一个评论者吧!