Install the "vss-summarize-video" agent skill from https://github.com/NVIDIA/skills/tree/main/skills/vss-summarize-video into .claude/skills/vss-summarize-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-summarize-video", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add NVIDIA/skills --skill vss-summarize-video -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "vss-summarize-video" agent skill from https://github.com/NVIDIA/skills/tree/main/skills/vss-summarize-video into .agents/skills/vss-summarize-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-summarize-video", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add NVIDIA/skills --skill vss-summarize-video -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "vss-summarize-video" agent skill from https://github.com/NVIDIA/skills/tree/main/skills/vss-summarize-video into .cursor/skills/vss-summarize-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-summarize-video", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add NVIDIA/skills --skill vss-summarize-video -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "vss-summarize-video" agent skill from https://github.com/NVIDIA/skills/tree/main/skills/vss-summarize-video into .gemini/skills/vss-summarize-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-summarize-video", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add NVIDIA/skills --skill vss-summarize-video -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "vss-summarize-video" agent skill from https://github.com/NVIDIA/skills/tree/main/skills/vss-summarize-video into .github/skills/vss-summarize-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-summarize-video", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add NVIDIA/skills --skill vss-summarize-video -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "vss-summarize-video" agent skill from https://github.com/NVIDIA/skills/tree/main/skills/vss-summarize-video into .opencode/skills/vss-summarize-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-summarize-video", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
vss-summarize-video
GitHub stars
3.5k
Token cost
~4.7k tokens
SKILL.md length
1,837 words
Files
14 (incl. references, assets)
Skills in repo
380
Repo updated
First seen
Licence
Apache-2.0
At a glance
A skill your agent uses to summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback.
Works in 3 steps: Get the clip URL via… → Primary: video summarization… → fallback — VLM direct with default prompt
Summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback
SKILL.md covers Instructions, Examples, Purpose and Prerequisites, plus 14 more sections
Calls jq and curl
What it does
Vss Summarize Video is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. Use to summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback. Not for report generation or live RTSP captioning.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including reference files and assets (for example `BENCHMARK.md`, `evals/evals.json` and `evals/lvs_api_ops.json`).
It sits in Backend & APIs, covering Summarization and Microservices. The repository describes itself as: Agent Skills for NVIDIA products — install into Claude Code, Codex, and other coding agents to run Physical AI, robotics, simulation, CUDA, and RAG workflows end to end. The licence is Apache-2.0.
When your agent uses it
Summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback
Tasks that involve Summarization
Tasks that involve Microservices
Example prompts
“/vss-summarize-video”
Workflow steps
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 67a13c0. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
jq
curl
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Vss Summarize Video loads about 4.7k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 44 tokens; SKILL.md has 1,837 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~44
When it runs· the whole SKILL.md, loaded when a task matches
~4.7k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~15k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/vss-summarize-video/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
vss-summarize-video
description
Use to summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback. Not for report generation or live RTSP captioning.
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/.
Examples
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.
Call the VLM NIM or the video summarization microservice directly.
Always run curl commands yourself; never instruct the user to run them.
Primary video workflow query type: "Summarize this video." Direct video summarization API
and service-ops requests are handled by the reference-routed sections below.
Purpose
Produce a single, polished narrative summary of one recorded video clip, with
timestamped events when the LVS microservice path is reachable.
Do NOT use this skill for:
Live RTSP captioning — use vss-deploy-dense-captioning.
Report generation, including incident or alert-window reports — use vss-generate-video-report Mode B.
Semantic search across the archive — use vss-search-archive.
Prerequisites
VSS lvs profile running on $HOST_IP (port 38111) OR a reachable
VLM/RT-VLM endpoint as a fallback. The vss-deploy-profile skill brings
these up.
Network reachability from the agent host to both endpoints; clip URLs from
VIOS must be fetchable by the chosen backend.
jq and curl available on the agent host.
Limitations
Direct VLM fallback uses a single fixed prompt and cannot target
scenario/events — output quality is lower than the LVS path.
Remote VLM endpoints generally cannot reach localhost/private clip URLs.
One backend call per request; no parallel hedging or multi-pass summaries.
Troubleshooting
Symptom
Cause
Fix
/v1/ready returns 503 repeatedly
LVS service still warming up
Retry up to ~30 s as shown in Setup; if it never returns 200 the service may not be deployed
Empty video_summary and events
Clip does not contain the requested events
Re-run with broader scenario or different events
VLM returns <think> block
Cosmos reasoning mode
Strip everything up to </think> before rendering
Empty stdout from curl /v1/ready
Service legitimately returns 200 with empty body
Always check HTTP status with -o /dev/null -w '%{http_code}', never inspect the body
Use these references only when the user asks for the relevant detail, or when
the core workflow below needs deeper video summarization information:
video summarization API details: references/video-summarization-api.md for
/v1/summarize, /summarize, /v1/generate_captions,
/v1/stream_summarize, health probes, /models, /recommended_config,
/metrics, request fields, response shapes, and API gotchas.
video summarization service configuration and ops:
references/video-summarization-deployment.md for
the VSS lvs profile, ports, required env vars, logs, status, dry-runs,
teardown, model/backend swaps, Elasticsearch/Neo4j/ArangoDB backend
selection, and service-level troubleshooting.
Load video-summarization-api.md only when you need a request field, response shape, or
endpoint that is not already covered by the Step 2 LVS or fallback VLM
example below, or when handling a direct video summarization API
request. Load video-summarization-deployment.md only for deployment,
configuration, or service operations.
Video Summarization API And Service Ops Requests
If the user asks to call or debug video summarization endpoints directly, answer from
references/video-summarization-api.md instead of running the
end-to-end video summarization workflow. Examples: list video summarization models, check
readiness, get recommended chunking config, inspect metrics, explain a 422
response, or build a /v1/summarize request body.
If the user asks to configure, deploy, restart, tear down, or troubleshoot the
video summarization service, prefer the vss-deploy-profile skill for full VSS profile
deployment and use references/video-summarization-deployment.md
for video summarization-specific service details.
Routing
Decide purely from video summarization service availability (probed in
Setup → Availability checks below). Duration does not drive routing.
/v1/ready
Backend
Endpoint
HTTP 200
LVS microservice with HITL
POST ${LVS_BACKEND_URL}/v1/summarize
Anything else
VLM / RT-VLM with the default prompt + fallback note
POST ${VLM_BASE_URL}/v1/chat/completions
Fallback message when the LVS service is unreachable — copy verbatim above the summary:
⚠ Note: Input video <name> is <N>s long.
The video summarization service is not deployed, so this summary was
produced by the VLM alone with a generic default prompt. Deploy the
lvs profile for higher-quality summaries with scenario/events
targeting.
Deployment prerequisite
The VSS lvs profile on $HOST_IP is the primary backend. If the
/v1/ready probe (see Setup → Availability checks) returns anything
other than 200 after the warmup retries, ask the user:
"The VSS lvs profile isn't running on $HOST_IP. Shall I deploy it now using the /vss-deploy-profile skill with -p lvs? Reply no to summarize with the VLM-only fallback instead (lower quality, no scenario/events targeting)."
Yes → hand off to /vss-deploy-profile, then re-probe and continue with Step 2 (LVS + HITL).
No → go straight to Step 2 fallback (VLM with default prompt) and prepend the Routing fallback note. Do not ask again, and do not run scenario/events HITL.
Pre-authorized to deploy autonomously (caller said so explicitly) → skip the confirmation and invoke /vss-deploy-profile directly.
Pre-authorized to use VLM fallback ("skip lvs, just use the VLM") → go straight to Step 2 fallback without prompting.
Setup
Endpoints (defaults for a local VSS lvs deployment):
VIOS: owned by vss-manage-video-io-storage; refer there.
Use env vars when set (strip trailing /v1 from the VLM base — the skill appends it). Otherwise use the defaults. If neither works, ask the user — do not scan ports or read config files to guess.
Model name: read ${VLM_NAME} (default
nim_nvidia_cosmos3-nano-reasoner_bf16-final). It must match the id RT-VLM
/v1/models advertises; do not substitute the friendly
nvidia/cosmos3-nano-reasoner.
Availability checks (run both before routing).
Readiness is determined by the HTTP status code only — the LVS
/v1/ready may legitimately return 200 with an empty body, so do not
inspect the body.
bash
VLM="${VLM_BASE_URL:-${RTVI_VLM_BASE_URL:-http://${HOST_IP:-localhost}:8018}}"
VLM="${VLM%/v1}"
# VLM / RT-VLM: 200 on /v1/models
vlm_code=$(curl -s -o /dev/null -w '%{http_code}' --connect-timeout 3 --max-time 10 \
"$VLM/v1/models")
[ "$vlm_code" = "200" ] && echo "VLM OK" || echo "VLM not reachable (HTTP $vlm_code)"
# Video summarization service: 200 on /v1/ready, with retry on 503 (warmup) for up to ~30s
VIDEO_SUMMARIZATION_URL=${LVS_BACKEND_URL:-http://${HOST_IP:-localhost}:38111}
video_sum_code=000
for i in $(seq 1 10); do
video_sum_code=$(curl -s -o /dev/null -w '%{http_code}' --connect-timeout 3 --max-time 10 "$VIDEO_SUMMARIZATION_URL/v1/ready")
case "$video_sum_code" in
200) echo "video summarization OK"; break ;;
503) sleep 3 ;; # warming up; keep polling
*) break ;; # any other code = not reachable, stop retrying
esac
done
[ "$video_sum_code" = "200" ] || echo "video summarization service not reachable (HTTP $video_sum_code)"
How to interpret the results:
video_sum_code = 200 → Step 2 (LVS + HITL) for every video.
vlm_code != 200 → fail; at least one backend must be reachable.
A non-200 LVS code after the retry loop is the ONLY signal of unavailability. Empty stdout or missing JSON fields are NOT "unavailable."
Step 1 - Get the clip URL via vss-manage-video-io-storage (sub-task, NOT the final answer)
Use the vss-manage-video-io-storage skill for all VIOS interactions — it
owns the canonical curl recipes, parameter defaults, and delete/upload flows.
Do not fabricate URLs or hand-roll VIOS calls; they will drift.
This step is a sub-task — do NOT end your turn here; do NOT return the clip
URL as the final answer. From VIOS collect three values:
streamId (via sensor/list → sensor/<id>/streams, or directly from an upload response).
Timeline - {startTime, endTime} (ISO 8601 UTC). endTime - startTime is the duration; needed only for the user-facing header (routing is driven solely by /v1/ready).
Temporary MP4 clip URL — the /storage/file/<streamId>/url variant with container=mp4. Response field: .videoUrl. Both backends need an HTTP(S) URL they can GET.
Everything else (auth, upload, disableAudio, expiry, etc.) lives in the
vss-manage-video-io-storage skill — refer users there if VIOS fails.
Show full SKILL.md (710 more words)Show less
Step 2 — Primary: video summarization microservice with HITL
Use this path whenever/v1/ready returned 200 in Setup. Duration is irrelevant.
For advanced fields (media_info, schema, structured output, stream captioning, metrics, recommended config) see references/video-summarization-api.md.
HITL: collect scenario and events first (REQUIRED — do not skip)
Autonomous-mode defaults. When the caller has bypassed HITL ("run
autonomously without prompting") AND the original query asks for
default/defaults (or gives none), use
scenario="activity monitoring" and events=["notable activity"]verbatim — do not infer from filename or sensor name. Note the
defaults in the final reply and offer a re-run with more specific
parameters. This is the ONLY supported HITL bypass; "the video is
short" or "the user seems in a hurry" are not valid reasons.
Prefer POST /v1/summarize (3.2 GA route); /summarize is a compatibility alias.
If both video_summary and events are empty, the clip probably doesn't contain the requested events — re-run with broader scenario/events, don't report "no content".
Tuning:chunk_duration (default 10s; 0 = single chunk),
num_frames_per_second_or_fixed_frames_chunk (default 20; meaning depends
on use_fps_for_chunking), seed (default 1). num_frames_per_chunk is
deprecated.
Step 2 fallback — VLM direct with default prompt
Use this path only when /v1/ready did not return 200 after warmup. Do NOT run HITL — the user did not opt in; you fell back because the service was missing. Prepend the Routing fallback note to the response.
bash
VLM="${VLM_BASE_URL:-${RTVI_VLM_BASE_URL:-http://${HOST_IP:-localhost}:8018}}"
VLM="${VLM%/v1}"
PROMPT='Describe in detail what is happening in this video,
including all visible people, vehicles, equipments, objects,
actions, and environmental conditions.
OUTPUT REQUIREMENTS:
[timestamp-timestamp] Description of what is happening.
EXAMPLE:
[0.0s-4.0s] <description of the first event>
[4.0s-12.0s] <description of the second event>'
curl -s --max-time 300 -X POST "$VLM/v1/chat/completions" \
-H "Content-Type: application/json" \
-d "$(jq -n \
--arg model "${VLM_NAME:-nim_nvidia_cosmos3-nano-reasoner_bf16-final}" \
--arg text "$PROMPT" \
--arg url "<clip_url_from_vss_manage_video_io_storage>" \
'{
model: $model,
temperature: 0.0,
max_tokens: 1024,
messages: [{
role: "user",
content: [
{type: "text", text: $text},
{type: "video_url", video_url: {url: $url}}
]
}]
}')" | jq -r '.choices[0].message.content'
Response: standard OpenAI chat-completion envelope. The summary is in
choices[0].message.content.
Cosmos-model notes: Cosmos models may return reasoning via
<think>...</think><answer>...</answer> blocks. Omit the reasoning
instructions if you want a plain summary. Frame sampling and pixel limits
are applied server-side; no client-side prep is required when you pass a
video_url.
End-to-end example
See references/end-to-end-example.md for
the full LVS-or-VLM-fallback script that probes /v1/ready and runs the
appropriate path.
Responses
VLM returns an OpenAI chat-completion envelope; summary is
choices[0].message.content.
LVS service returns the same envelope but content is a JSON string —
run jq -r '.choices[0].message.content' | jq to reach {video_summary, events}.
Errors surface as HTTP non-2xx plus JSON {error: ...}. LVS 503 usually
means warmup — retry /v1/ready.
Presenting the output to the user
Surface backend output with minimal transformation — do not paraphrase,
re-voice, add emojis, or reformat. One backend call → one rendering: no
parallel hedging, no duplicate headers, never call both LVS and VLM for the
same video.
Header line. Start with exactly one:
Summary of <video_name> (<duration>)
<duration> = Ns for < 60 s, else Mm Ss (e.g. 3m 30s).
LVS output: render video_summaryverbatim (polished, tone-controlled
report — rewriting loses fidelity). Render each events entry with its
start_time, end_time, type, and full description verbatim (table when
the client renders one cleanly, otherwise a per-event list). You MAY add a
one-line header and a closing offer to re-run with different parameters.
VLM output: render choices[0].message.content verbatim. If the model
produced <think>…</think><answer>…</answer> blocks, drop the <think>
block and show the answer.
Fallback warning (when applicable) goes above the summary, never
mixed into it.
Tips
Route by service availability, not by duration. Probe /v1/ready once
in Setup; HTTP 200 → LVS+HITL for every clip; anything else → VLM fallback.
HITL is mandatory on the LVS path. The defaults opt-in is the only
sanctioned bypass. The VLM fallback path is silent (no HITL).
Readiness = HTTP 200 on /v1/ready. Nothing else. Body may be empty.
Always use curl -s -o /dev/null -w '%{http_code}' — never pipe through
jq/grep/head.
Delegate VIOS to vss-manage-video-io-storage — it is a sub-task; the
final answer is the Step 2 summary, not the clip URL.
jq twice for LVS output. First unwraps the OpenAI envelope, second
parses the JSON string inside content.
Prefer /v1/summarize for 3.2 GA; /summarize is a compatibility alias.
Use the exact VLM model id advertised by the endpoint (default
nim_nvidia_cosmos3-nano-reasoner_bf16-final).
Render output verbatim — no paraphrasing, no reformatting, no rewriting
the video_summary or choices[0].message.content.
One call, one render. No parallel hedging, no double renderings.
Match the image tag to the host platform. Use LVS_TAG=3.2.1
(and RTVI_VLM_IMAGE_TAG=3.2.1) on x86 / Jetson Thor, and
LVS_TAG=3.2.1-sbsa (and RTVI_VLM_IMAGE_TAG=3.2.1-sbsa)
on SBSA / DGX Spark / Grace (server-class ARM64) hosts.
Cross-reference
vss-deploy-profile — bring up the base (VLM only) or lvs (VLM + video summarization service) profile
vss-manage-video-io-storage (VIOS API) — upload videos, list streams, get clip URLs
vss-search-archive — semantic search across the archive (different profile)
vss-query-analytics — query incidents/events from Elasticsearch
Vss Summarize Video next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Add agent-ready vision capabilities — dense captioning, detection, search, alerting, summarization — to an agent or application through a customizable, self-contained vision stack built on the…
A skill your agent uses when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice.
Generates, validates, compares and explains HOLOLINK_def.svh macro files for the HSB IP, using bundled Python scripts and asking before it writes anything.
Orchestrates defect image generation for PCBA, metal surface and glass inspection with NVIDIA Cosmos AnomalyGen on OSMO, from cold-start Day 0 to real-photo Day 1 labeling.
Orchestrates video data augmentation and auto-labeling workflows on OSMO, from flow selection and preflight checks to submission, monitoring and output download.
Runs NVIDIA TAO Data Services KPI analysis on object detection results, comparing predictions to ground truth and writing per-class precision, recall and AP to a CSV.
A skill your agent uses to summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback. Vss Summarize Video is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. Use to summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback.
When should I use Vss Summarize Video?
Vss Summarize Video fits situations like: summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback; tasks that involve Summarization; tasks that involve Microservices.
How do I install Vss Summarize Video in Claude Code?
Run `npx skills add NVIDIA/skills --skill vss-summarize-video -a claude-code`. Or copy the skill folder (skills/vss-summarize-video in NVIDIA/skills) into .claude/skills/vss-summarize-video in your project. Claude Code loads it when a task matches its description.
How do I install Vss Summarize Video in Codex?
Run `npx skills add NVIDIA/skills --skill vss-summarize-video -a codex`. Or copy the skill folder (skills/vss-summarize-video in NVIDIA/skills) into .agents/skills/vss-summarize-video in your project. Codex loads it when a task matches its description.
Can I use Vss Summarize Video in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NVIDIA/skills --skill vss-summarize-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vss-summarize-video, .gemini/skills/vss-summarize-video, .github/skills/vss-summarize-video and .opencode/skills/vss-summarize-video in your project.
What does Vss Summarize Video need to run?
Going by SKILL.md and its folder, Vss Summarize Video needs the command-line tools its instructions call (jq and curl).
Does Vss Summarize Video access the network?
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Vss Summarize Video safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Vss Summarize Video use?
Vss Summarize Video is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Vss Summarize Video use?
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.
What are the alternatives to Vss Summarize Video?
Skills that share tags, products or a category with Vss Summarize Video: Vss Build Vision AI (NVIDIA-AI-Blueprints/video-search-and-summarization, 1.9k stars), Getresponse (LeoYeAI/openclaw-master-skills, 2.2k stars), Buffer (LeoYeAI/openclaw-master-skills, 2.2k stars) and Vss Add Nest Module (open-edge-platform/edge-ai-libraries, 169 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Vss Summarize Video?
NVIDIA (a GitHub organization, an official publisher) maintains it in NVIDIA/skills, which has 3,539 GitHub stars. The repository holds 380 skills in this directory. The repository was last updated on October 7, 2026.
Source: NVIDIA/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.