Best for
- Deploy, debug, and operate the RTVI-CV detection / tracking 2D microservice and drive its REST API.
NVIDIA/skills/skills/vss-deploy-detection-tracking-2d/SKILL.md
Use this skill when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice. Trigger when the user says things like 'deploy rtvi-cv', 'start warehouse 2d', 'add a stream', 'check rtvi-cv health', or 'stop the perception container'. Not for VLM, embedding, or analytics — use the matching vss-* skill.
Decision brief
Deploy, debug, and operate the RTVI-CV detection / tracking 2D microservice and drive its REST API.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/NVIDIA/skills --skill "skills/vss-deploy-detection-tracking-2d"Inspect the Agent Skill "vss-deploy-detection-tracking-2d" from https://github.com/NVIDIA/skills/blob/3a38625bf3e863eb9f26ea0d985130ddfb5c66ae/skills/vss-deploy-detection-tracking-2d/SKILL.md at commit 3a38625bf3e863eb9f26ea0d985130ddfb5c66ae. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Follow the routing tables and step-by-step workflows below. Each section that ends in workflow, quick start, or flow is intended to be executed top-to-bottom. Detailed reference material lives in references/ and helper scripts live in scripts/ — call them via runscript when the…
1. Read this file first. It only routes — it does not contain workflows. 2. Match the user's intent against the routing table above. 3. Load exactly one reference doc (DEPLOY or API USAGE). Don't preload both — each reference is large and contains its own full contract. 4. Follo…
Deploy, debug, and operate the RTVI-CV detection / tracking 2D microservice and drive its REST API.
Active VSS deployment reachable on $HOSTIP (see vss-deploy-profile and references/).
Worked end-to-end examples are kept under evals/ (each .json manifest contains a runnable scenario) and inline in the per-workflow curl blocks below. Run a Tier-3 evaluation with nv-base validate --agent-eval to replay them.
Permission review
The documentation asks the agent to read local files, directories, or repositories.
*Selection rule:** match the user's phrasing against the table above and immediately load the corresponding reference file. Do not mix the flows — DEPLOY assumes no running container yet; API USAGE assumes the container is already running oThe documentation asks the agent to read local files, directories, or repositories.
**Read this file first.** It only routes — it does not contain workflows.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 97/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 3,093 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Deploy, debug, and operate the RTVI-CV detection / tracking 2D microservice and drive its REST API.
$HOST_IP (see vss-deploy-profile and references/).$NGC_CLI_API_KEY and $NVIDIA_API_KEY for any image pulls.curl, jq, and Docker available on the caller.Follow the routing tables and step-by-step workflows below. Each section that ends in workflow, quick start, or flow is intended to be executed top-to-bottom. Detailed reference material lives in references/ and helper scripts live in scripts/ — call them via run_script when the skill points to a script by name.
Worked end-to-end examples are kept under evals/ (each *.json manifest contains a runnable scenario) and inline in the per-workflow curl blocks below. Run a Tier-3 evaluation with nv-base validate <this-skill-dir> --agent-eval to replay them.
/docs or /health; redeploy via vss-deploy-profile or the matching vss-deploy-* skill.NGC_CLI_API_KEY. Solution: docker login nvcr.io and re-export the key before retrying.docker compose down.Unified skill for the Real Time Video Intelligence CV (RTVI-CV) microservice. Two action surfaces in one skill:
references/deploy-vss-detection-tracking-2d.mdreferences/usage-vss-detection-tracking-2d.mdService:
rtvi-cv(metropolis_perception_app) Image:nvcr.io/<org>/<repo>:<tag>— user-supplied at deploy time REST port:9000(/api/v1—/live,/ready,/startup,/metrics,/stream/add,/stream/remove, embeddings) Hardware: x86/aarch64 dGPU (T4, A100, L40, H100, B200, RTX), SBSA (Spark, Grace-Hopper), Jetson (Thor, Orin, Xavier)
| User intent (sample phrasing) | Flow | Load this reference |
|---|---|---|
deploy rtvi-cv warehouse 2d, run rtvicv warehouse-3d with 4 streams, start smartcity gdino, launch perception app, bring up sparse4d | DEPLOY | references/deploy-vss-detection-tracking-2d.md |
stop rtvi-cv, tear down, kill the perception container, cleanup rtvicv-perception-docker | TEARDOWN (handled by deploy doc → "Mode Selection") | references/deploy-vss-detection-tracking-2d.md + references/teardown-flow.md |
check rtvi-cv logs, diagnose rtvi-cv crashing, troubleshoot healthcheck failing, rtvi-cv won't start | DEBUG | references/deploy-vss-detection-tracking-2d.md + references/troubleshooting.md |
add a stream, remove camera, list streams, health check, is rtvi-cv ready, get metrics, what's the FPS, check GPU usage, generate text embeddings, call rtvi-cv api | API USAGE | references/usage-vss-detection-tracking-2d.md + references/api-reference.md |
Selection rule: match the user's phrasing against the table above and immediately load the corresponding reference file. Do not mix the flows — DEPLOY assumes no running container yet; API USAGE assumes the container is already running on http://<host>:9000.
If intent is genuinely ambiguous (e.g., the user says just "I want to use rtvi-cv"), ask one AskQuestion: deploy a new instance, or call an already-running one?
vss-deploy-detection-tracking-2d/
├── SKILL.md # this file (routing + contracts)
├── assets/ # data files (deploy-defaults.yml — single source of truth for tags / refs / paths / GPU)
├── evals/ # Tier-3 eval manifests (deploy-evals.json, usage-evals.json)
├── scripts/ # 23 bash + python helpers (see `scripts/` for the full inventory)
└── references/ # workflow runbooks (deploy / api-usage / teardown / troubleshooting / …)
For the full per-file inventory and what each reference covers, see
references/workflow-reference.md.
All scripts are invoked from the skill root via $SKILL_DIR/scripts/<name> — paths inside the deploy reference doc are preserved verbatim and resolve correctly when the agent runs from skill root.
Helpers live in scripts/ and are invoked from the skill root by name —
call each via run_script("scripts/<name>") so the agent records a
proper tool invocation.
| Script | Purpose | Arguments |
|---|---|---|
load_defaults.sh | Detect platform (x86 dGPU / SBSA / Jetson) and resolve YAML defaults from assets/deploy-defaults.yml. | --usecase <name> |
fetch_resources.sh | Download + extract NGC resources, scan for layout. | --ngc-ref <ref> (optional) |
apply_in_container.sh | Host-side wrapper for Step 4 (apply_config.sh inside the running container). | <container_name> |
apply_config.sh | In-container path-substitution, batch, sink, sources, engine cache. | <usecase> <stream_count> <sink_type> |
start_app_in_container.sh | Host-side wrapper for Step 5 (run_app_and_wait.sh). | <container_name> |
run_app_and_wait.sh | In-container app launch + readiness + metrics + log. | <config_path> |
add_streams.sh / update_stream_sources.sh | REST stream lifecycle for Step 6. | <rtsp_or_file_uri>... |
collect_metrics.sh | Pull /api/v1/metrics snapshot. | none |
discover_streams.sh | Enumerate active streams via /stream/get-stream-info. | none |
synthesize_docker_run.sh | Print the platform-correct docker run line for the resolved env. | none |
render_box.sh | Render the fixed-width step receipt. | <step_label> |
calibration_manager.py | Manage calibration artefacts + per-use-case engine cache invalidation. | --usecase <name> --reset |
For the full inventory of helpers (cache, GPU checks, setup) browse
scripts/; each script's --help describes its arguments.
vss-deploy-detection-tracking-2d (deploy/teardown/debug) and rtvicv-api (REST API) — every step ordering invariant, bash-batching rule, box-rendering rule, and AskQuestion contract is retained.TodoWrite array of 5 todos, OR 5 successive TaskCreate calls on newer Claude Code) → Step 1 question. Do not narrate, do not pre-flight, and never print "loading TodoWrite/TaskCreate" or any deferred-tool resolution prose — the planning tool is loaded silently.When running the DEPLOY / TEARDOWN / DEBUG flow, the agent MUST honour all four items below on every successful deploy. These are the user's only feedback channel between steps; skipping any of them is a behaviour regression.
references/deploy-vss-detection-tracking-2d.md
under "Step N box content rule".AskUserQuestion
from references/next-steps.md § "11.c"
— never replace it with a free-form Next steps bullet list. The
menu is the deploy's exit handle: it lets the user run metrics,
manage streams, tail logs, or tear down with one click instead of
having to remember curl URLs.AskUserQuestion from references/next-steps.md
§ "11.d" — never substitute prose + ready-to-copy curl examples + a
free-text "want me to run X?" question. Each bucket has its own
menu of concrete actions; the user picks the action, then the skill
emits the API box and runs the curl. Per-bucket follow-ups:
/stream/get-stream-info — one option
per active stream labelled <camera_id> · <camera_url> plus
"Remove ALL" when ACTIVE > 1 (full spec: § "remove_streams
sub-flow").collect_metrics.sh
directly after printing the /api/v1/metrics API box.references/deploy-vss-detection-tracking-2d.md
under "Step N box content rule". Step 4 (Apply configuration) is
where the agent collapses most often — its canonical
per-use-case key list lives in
references/apply-config.md
§ "Per-use-case complete edit list", and the agent MUST emit one
✔ [section] key=value — annotation row per key in that table for
the active use case + settings. A section with 5 keys → 5 rows; a
section with 6 keys → 6 rows. Never one overview row per section.Forbidden (these are the shortcuts the agent falls back to under pressure, and they break the user's UX):
✔ <pinned-values> summary line followed by the widget — never any
scaffolding around tool resolution.TaskCreate's
description field. When TaskCreate is the available planning
tool, issue 5 separate TaskCreate calls back-to-back (one per
step). See references/task-list.md § "Initial TaskCreate calls"
for the verbatim template. Same rule for TodoWrite — one call with
all 5 todos in the todos:[…] array; never one todo whose content
is a multi-line list.dynamic stream-mode. The skill default is
stream_mode=static — the agent bakes auto-discovered file:// URLs
into the DS main config's [source-list] block before app start.
Switch to dynamic only when the user explicitly asks ("add streams
later via REST", "use dynamic stream mode") OR when they pick dynamic
in the Step 2 AskQuestion. Picking dynamic for a generic "deploy
rtvi-cv with N streams" query breaks the deploy rubric and the
user's /metrics expectations. See
references/pipeline-config.md
§ "Defaults — the skill is static-mode by default" for the full
rationale.✔ App ready in Ns, N streams, fps total Y in place of
the Step 5 Results box.+, -, =, *) instead of light
box-drawing chars (┌ ─ ┐ │ └ ┘).✔ Batch size 3 (tile grid: 1×3) → required: 5 separate rows
([streammux] batch-size=3, [primary-gie] batch-size=3,
[source-list] max-batch-size=3, [tiled-display] rows=1,
[tiled-display] columns=3).✔ Output sink eglsink → required: one row per sink key
(4 keys for eglsink, e.g. [sink0] enable=1, type=2,
sync=0, qos=0 — read apply-config.md for the exact list).✔ Sources static (3 streams, http-port=9000) → required: six
annotated [source-list] rows.✔ Tile grid 1 row × 3 cols (single row) → required: two
rows, [tiled-display] rows=1 and [tiled-display] columns=3.The geometry contract for every step-exit box (Step 1 through Step 5 Results). The same shape across every box; only the title and the body rows change per step.
┌ at column 1, ┐ at
column 128. Wider terminals leave the box flush-left; do not stretch
it. Inner content area is 124 chars (with one space margin on
each side inside the │ borders).┌ ─ ┐ │ └ ┘. No +, -, =,
* ASCII fallbacks.┌ + N₁ dashes + ␣ + title + ␣
┐, where N₁ + N₂ + len(title) + 2 = 126. Distribute
the pad: N₁ = floor((126 − len(title) − 2) / 2),
N₂ = 126 − len(title) − 2 − N₁. N₁ and N₂ differ by at most 1.│ <content padded to inner-content 124> │ per fact.
Each fact line uses the ✔ <key-padded-to-13> <value> form (two
spaces in, glyph, key right-padded to 13, two spaces, value).│ <124 spaces> │ between
logical groups (e.g. Identity / Model / Videos in Step 1) so the
user can scan the box at a glance.└ + 126 dashes + ┘ — solid border, no title.Standard step titles (used at the top of each step's box):
┌─────────────────────────────────────────────────────── Deploy targets ───────────────────────────────────────────────────────┐
┌─────────────────────────────────────────────────── Pipeline configuration ───────────────────────────────────────────────────┐
┌───────────────────────────────────────────────────────── Container ──────────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────────── Apply configuration ─────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────── Perception Application — Plan ───────────────────────────────────────────────┐
┌────────────────────────────────────────────── Perception Application — Results ──────────────────────────────────────────────┐
Per-step content rules (which rows go in which box, mode-aware row
hiding, the apply-config sectioned layout, the Step 5 PLAN-then-RESULT
pattern, the Step 3 docker run synthesis requirement) live in
references/deploy-vss-detection-tracking-2d.md
under "Step N box content rule" — read those when rendering the
corresponding step.
| Phrase | Flow |
|---|---|
deploy rtvicv warehouse 2d with 4 streams and display | DEPLOY |
run smartcity gdino on gpu 1 | DEPLOY |
stop the perception container | TEARDOWN (deploy doc) |
rtvi-cv healthcheck failing | DEBUG (deploy doc + troubleshooting) |
add a stream to rtvi-cv | API USAGE |
is rtvi-cv ready on localhost:9000 | API USAGE |
get rtvi-cv metrics | API USAGE |
generate text embeddings via rtvi-cv | API USAGE |
bump:1
Frequently asked questions
Deploy, debug, and operate the RTVI-CV detection / tracking 2D microservice and drive its REST API.
The source record exposes this install command: npx skills add https://github.com/NVIDIA/skills --skill "skills/vss-deploy-detection-tracking-2d". Inspect the command and pinned source before running it.
Static rules flagged read-files in the source; the page lists the matching lines and excerpts.
Alternatives
UiPath/skills
UiPath Coded Apps — scaffold, build, run, and deploy Coded Web Apps and Coded Action Apps: React/TypeScript apps that call UiPath Cloud APIs via the `@uipath/uipath-typescript` SDK and ship to Automation Cloud (push/pull to Studio Web, pack, publish, deploy, OAuth-PKCE). Also generates live analytics & governance dashboards from a plain-language request, wired to tenant data via the Insights real-time API, with edit and deploy flows. For RPA→uipath-rpa, Python agents→uipath-agents, Maestro flows
NVIDIA/skills
Deploy and operate the RTVI-CV-3D microservice as MV3DT (`MODE=mv3dt`): per-camera DeepStream perception plus BEV Fusion over calibrated cameras. Supports the bundled sample dataset, custom video files, and RTSP streams, and chains to `vss-generate-video-calibration` when calibration is missing. Use `vss-deploy-profile` for the full warehouse blueprint and `vss-deploy-detection-tracking-2d` for single-camera 2D detection.
datarobot-oss/datarobot-agent-skills
Tools and guidance for making predictions with DataRobot deployments, including real-time predictions, batch scoring, prediction dataset generation, and prediction explanations (SHAP/XEMP). Use when making predictions, running batch scoring, generating prediction datasets, or explaining individual predictions from a deployment.
keboola/cli
Use when working with Keboola Connection projects via the kbagent CLI. Covers: exploring and searching configurations, job history, data lineage, dev branches, workspace SQL debugging, GitOps config sync (pull/push/diff/clone), bucket sharing and linking, encrypting secrets, Storage tables, files, and snapshots (backup/restore), data apps (deploy/logs/secrets), flows and schedules, members and invitations, feature flags, OTLP data streams, scoped Storage tokens, the semantic layer (models, metri