/holohub-app-lifecycle
Use for non-failing HoloHub app work with ./holohub: scaffold, build, run, test, visual evidence, lint, and flow benchmarking.
$ npx -y skills add NVIDIA/skills --skill holohub-app-lifecycle --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
/holohub-app-lifecycle
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use for non-failing HoloHub app work with ./holohub: scaffold, build, run, test, visual evidence, lint, and flow benchmarking.
SKILL.md
holohub-app-lifecycle.SKILL.mdname: holohub-app-lifecycle
description: "Use for non-failing HoloHub app work with ./holohub: scaffold, build, run, test, visual evidence, lint, and flow benchmarking."
license: Apache-2.0
metadata:
author: "Holoscan Team <holoscan-team@nvidia.com>"
compatibility: "holoscan-cli>=4.5.0"
github-url: "https://github.com/nvidia-holoscan/holohub"
tags:
- holoscan
- holohub
- application-developmentHoloHub application lifecycle
Purpose
Take a non-failing application request from checkout selection to reviewable, finite evidence through the public `./holohub` workflow.
Inputs
Require the task, checkout or starting workspace, and finite acceptance check. Take remaining values from the request or selected checkout; do not guess data rights or sensitive-data constraints. Benchmark details are optional unless performance work is requested.
- a non-failing application task and its deliverable: application,
operator-plus-demo, tutorial, or fix;
- the starting workspace or an explicit HoloHub checkout;
- language, mode, platform, input, and output requirements;
- input origin and redistribution terms, including any private or sensitive
data constraints;
- a finite success condition and the evidence needed to support it.
Route a concrete failing or wrong `./holohub` command to `holohub-debug-build-run`, reusable Module or DEB/WHEEL work to `holohub-module-lifecycle`, and first-time SDK host installation to `holoscan-setup`. If the matching skill is unavailable, preserve the handoff context and name the skill to install instead of improvising its workflow.
Prerequisites
- Always read the [CLI contract](references/holohub-cli-contract.md).
- Read the [application workflow](references/application-workflow.md) for
workspace resolution, input handling, scaffolding, metadata, implementation, tests, evidence, and review.
- Read [flow benchmarking](references/flow-benchmarking.md) only when
performance work is requested.
The selected checkout's `AGENTS.md`, local `./holohub` help, schemas, and contribution guide are the live technical authority where they do not conflict with user, system, or safety constraints.
Instructions
At any step, a failing effect-bearing wrapper command ends this happy path; follow Troubleshooting with its exact context. Parse read-only diagnostic results such as `env-check --json` and stop only when a failed capability is required by the selected project's documented needs or the requested proof.
1. **Resolve one safe checkout.** Preserve the starting workspace. Reuse one validated checkout at its current revision. An auto-discovered checkout must be clean. Proceed in a dirty checkout only when the user explicitly selected it and comparing the requested paths with the existing working-tree changes proves they do not overlap. If scope is uncertain, preserve the checkout and request authorization for the documented project-local clone fallback. Never overwrite a workspace or coerce an existing checkout to the contract's evidence snapshot. 2. **Preserve and orient.** Record both roots, provenance, full HEAD, and concise status. Create a task branch before editing a new app only in a clean checkout. In an explicitly selected dirty checkout, switch branches only with user authorization; otherwise request authorization for the fallback. Run wrapper commands from the checkout root and confirm syntax with local help. 3. **Define the proof.** Confirm the contribution type, licensed inputs, input integrity/schema when applicable, and a verdict bounded by an explicit frame/message count, timeout, or artifact completion. Include visual evidence when relevant and state claims the evidence cannot support. 4. **Select strong local examples.** Choose two or three relevant applications for graph/domain, language/build/test, and data/Holoviz/benchmark patterns. Record what will be reused; do not copy an application wholesale. 5. **Scaffold only when needed.** For a new app, preview template setup, inspect its host dependency installation, and obtain explicit user authorization before the real setup. Only after setup succeeds, preview and run a non-interactive, language-explicit `create`. Treat preview as potentially mutating. Obtain any repository-required approval for parent CMake registration; if denied or setup fails, stop before creation. Do not replace an existing app. 6. **Implement the smallest complete path.** Validate metadata, keep automated modes finite, register deterministic tests, exclude generated/data/model artifacts from Git, and emit an observable verdict or artifact. 7. **Preview, act, and verify.** Keep project, mode, language, inputs, and other effect-bearing options identical between each preview and real build, run, and test, while treating the preview itself as potentially mutating. Use the container-first path. Require process success plus the finite verdict, intended tests, and visual or recording inspection when applicable. 8. **Shorten only a proved loop.** Reuse an unchanged image with `--no-docker-build` only after one matching build/run. Use `--no-local-build` only when current artifacts or mounted-source execution are proved sufficient. Rebuild after image or setup changes. 9. **Finish reviewably.** Benchmark only after correctness, then restore normal source/build state. Run focused and wrapper tests, `git diff --check`, and final status. In an explicitly selected dirty checkout, restrict auto-fixing lint to task paths; before a requested commit, validate the exact candidate change with the repository-required full lint in a clean disposable checkout rather than rewriting unrelated work. Do not commit or push unless requested.
Troubleshooting
If a wrapper command begins failing, stop the happy path and hand off its exact command, revision, dirty state, inputs, and observed result to `hol
Read more
name: holohub-app-lifecycle
description: "Use for non-failing HoloHub app work with ./holohub: scaffold, build, run, test, visual evidence, lint, and flow benchmarking."
license: Apache-2.0
metadata:
author: "Holoscan Team <holoscan-team@nvidia.com>"
compatibility: "holoscan-cli>=4.5.0"
github-url: "https://github.com/nvidia-holoscan/holohub"
tags:
- holoscan
- holohub
- application-developmentHoloHub application lifecycle
Purpose
Take a non-failing application request from checkout selection to reviewable, finite evidence through the public `./holohub` workflow.
Inputs
Require the task, checkout or starting workspace, and finite acceptance check. Take remaining values from the request or selected checkout; do not guess data rights or sensitive-data constraints. Benchmark details are optional unless performance work is requested.
- a non-failing application task and its deliverable: application,
operator-plus-demo, tutorial, or fix;
- the starting workspace or an explicit HoloHub checkout;
- language, mode, platform, input, and output requirements;
- input origin and redistribution terms, including any private or sensitive
data constraints;
- a finite success condition and the evidence needed to support it.
Route a concrete failing or wrong `./holohub` command to `holohub-debug-build-run`, reusable Module or DEB/WHEEL work to `holohub-module-lifecycle`, and first-time SDK host installation to `holoscan-setup`. If the matching skill is unavailable, preserve the handoff context and name the skill to install instead of improvising its workflow.
Prerequisites
- Always read the [CLI contract](references/holohub-cli-contract.md).
- Read the [application workflow](references/application-workflow.md) for
workspace resolution, input handling, scaffolding, metadata, implementation, tests, evidence, and review.
- Read [flow benchmarking](references/flow-benchmarking.md) only when
performance work is requested.
The selected checkout's `AGENTS.md`, local `./holohub` help, schemas, and contribution guide are the live technical authority where they do not conflict with user, system, or safety constraints.
Instructions
At any step, a failing effect-bearing wrapper command ends this happy path; follow Troubleshooting with its exact context. Parse read-only diagnostic results such as `env-check --json` and stop only when a failed capability is required by the selected project's documented needs or the requested proof.
1. **Resolve one safe checkout.** Preserve the starting workspace. Reuse one validated checkout at its current revision. An auto-discovered checkout must be clean. Proceed in a dirty checkout only when the user explicitly selected it and comparing the requested paths with the existing working-tree changes proves they do not overlap. If scope is uncertain, preserve the checkout and request authorization for the documented project-local clone fallback. Never overwrite a workspace or coerce an existing checkout to the contract's evidence snapshot. 2. **Preserve and orient.** Record both roots, provenance, full HEAD, and concise status. Create a task branch before editing a new app only in a clean checkout. In an explicitly selected dirty checkout, switch branches only with user authorization; otherwise request authorization for the fallback. Run wrapper commands from the checkout root and confirm syntax with local help. 3. **Define the proof.** Confirm the contribution type, licensed inputs, input integrity/schema when applicable, and a verdict bounded by an explicit frame/message count, timeout, or artifact completion. Include visual evidence when relevant and state claims the evidence cannot support. 4. **Select strong local examples.** Choose two or three relevant applications for graph/domain, language/build/test, and data/Holoviz/benchmark patterns. Record what will be reused; do not copy an application wholesale. 5. **Scaffold only when needed.** For a new app, preview template setup, inspect its host dependency installation, and obtain explicit user authorization before the real setup. Only after setup succeeds, preview and run a non-interactive, language-explicit `create`. Treat preview as potentially mutating. Obtain any repository-required approval for parent CMake registration; if denied or setup fails, stop before creation. Do not replace an existing app. 6. **Implement the smallest complete path.** Validate metadata, keep automated modes finite, register deterministic tests, exclude generated/data/model artifacts from Git, and emit an observable verdict or artifact. 7. **Preview, act, and verify.** Keep project, mode, language, inputs, and other effect-bearing options identical between each preview and real build, run, and test, while treating the preview itself as potentially mutating. Use the container-first path. Require process success plus the finite verdict, intended tests, and visual or recording inspection when applicable. 8. **Shorten only a proved loop.** Reuse an unchanged image with `--no-docker-build` only after one matching build/run. Use `--no-local-build` only when current artifacts or mounted-source execution are proved sufficient. Rebuild after image or setup changes. 9. **Finish reviewably.** Benchmark only after correctness, then restore normal source/build state. Run focused and wrapper tests, `git diff --check`, and final status. In an explicitly selected dirty checkout, restrict auto-fixing lint to task paths; before a requested commit, validate the exact candidate change with the repository-required full lint in a clean disposable checkout rather than rewriting unrelated work. Do not commit or push unless requested.
Troubleshooting
If a wrapper command begins failing, stop the happy path and hand off its exact command, revision, dirty state, inputs, and observed result to `hol
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

