Generates VSS video summary reports with LVS HITL and optional Enterprise RAG document grounding. Trigger when the user asks for a frag/RAG-assisted video report, knowledge-enhanced analysis, or Enterprise RAG context in a video summary.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionvss-generate-video-report-ragExecute the skills CLI command in your project's root directory to begin installation:
Fetches vss-generate-video-report-rag from NVIDIA-AI-Blueprints/video-search-and-summarization and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate vss-generate-video-report-rag. Access via /vss-generate-video-report-rag in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
0
upvotes
Run in your terminal
0
installs
0
this week
—
stars
| name | vss-generate-video-report-rag |
| description | Generates VSS video summary reports with LVS HITL and optional Enterprise RAG document grounding. Trigger when the user asks for a frag/RAG-assisted video report, knowledge-enhanced analysis, or Enterprise RAG context in a video summary. |
| license | Apache-2.0 |
| metadata | version: "3.2.0" github-url: "https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization" tags: "nvidia blueprint operational" |
Generate video summary reports using the LVS profile's RAG-enabled agent config. This skill adds Enterprise RAG document grounding and guided human-in-the-loop (HITL) parameter collection on top of the VSS agent.
Always run curl commands yourself; never instruct the user to run them.
The repository ships the RAG-enabled LVS agent config at
deploy/docker/developer-profiles/dev-profile-lvs/vss-agent/configs/config_rag.yml.
It is a superset of the default LVS config: regular caption retrieval remains
enabled, and frag_retrieval adds Enterprise RAG document grounding.
Use the normal /vss-deploy-profile workflow for deployment. The source
.env remains read-only; apply non-secret overrides to
deploy/docker/developer-profiles/dev-profile-lvs/generated.env.
generated.env is ignored by the repository, but it is still a plaintext file:
do not commit it, paste it into logs, or store long-lived credentials there.
Prefer a vault, Docker secrets, or ephemeral shell environment variables for
API keys.
REPO=${REPO:-$(git rev-parse --show-toplevel)}
cd "$REPO"
cp deploy/docker/developer-profiles/dev-profile-lvs/.env \
deploy/docker/developer-profiles/dev-profile-lvs/generated.env
Set these non-secret values in generated.env:
HOST_IP — host IP (hostname -I | awk '{print $1}')VSS_AGENT_CONFIG_FILE=./deploy/docker/developer-profiles/dev-profile-lvs/vss-agent/configs/config_rag.ymlRAG_SERVER_URL — Enterprise RAG server HTTP endpoint (defaults to http://rag-server:8081/v1)KNOWLEDGE_COLLECTION — default Enterprise RAG collection for frag_retrievalKeep sensitive values (NGC_CLI_API_KEY, NVIDIA_API_KEY, RAG_API_KEY) out
of generated.env and out of resolved.yml. Do not export them before running
docker compose config > resolved.yml, because Compose expands environment
variables into that file. Use a secret manager, an existing authenticated Docker
session, or a local override file that references an ephemeral shell variable at
up time.
Prefer an existing authenticated Docker session or a secret-managed login. If a login is required, use --password-stdin without printing token values:
read -rsp "NGC API key: " NGC_CLI_API_KEY
printf '%s\n' "$NGC_CLI_API_KEY" | docker login nvcr.io --username '$oauthtoken' --password-stdin
unset NGC_CLI_API_KEY
Do not export RAG_API_KEY for the dry-run below. If the RAG server requires an
API key, create this untracked local override after resolved.yml is generated:
cat > rag-secret.override.yml <<'EOF'
services:
vss-agent:
environment:
RAG_API_KEY: ${RAG_API_KEY:?Set RAG_API_KEY only for docker compose up}
EOF
REPO=${REPO:-$(git rev-parse --show-toplevel)}
cd "$REPO/deploy/docker"
docker compose --env-file developer-profiles/dev-profile-lvs/generated.env \
config > resolved.yml
uv run "$REPO/skills/vss-deploy-profile/scripts/normalize_resolved_yml.py" \
"$REPO/deploy/docker/resolved.yml"
docker compose --env-file developer-profiles/dev-profile-lvs/generated.env \
-f resolved.yml up -d
When rag-secret.override.yml is needed, use:
read -rsp "RAG API key: " RAG_API_KEY
RAG_API_KEY="$RAG_API_KEY" docker compose \
--env-file developer-profiles/dev-profile-lvs/generated.env \
-f resolved.yml -f rag-secret.override.yml up -d
unset RAG_API_KEY
# Check containers are running
docker ps --format "table {{.Names}}\t{{.Status}}"
# Health check
curl -sf --max-time 5 "http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/health" >/dev/null \
&& echo "VSS LVS RAG agent is running" \
|| echo "VSS LVS RAG agent is NOT reachable"
REPO=${REPO:-$(git rev-parse --show-toplevel)}
cd "$REPO/deploy/docker"
docker compose -f resolved.yml down
video-understanding skill)video-summarization skill)deploy skill)alerts skill)curl -sS -X POST "http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/v1/chat" \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "What videos are available?"}]}' | \
python3 -c "import json,sys; d=json.load(sys.stdin); print(d['choices'][0]['message']['content'])"
A selected video is required before Step 2. If the user has not already named one, return the short list and stop; resume when the user supplies the video name.
Required user-provided parameters:
If any required value is missing, return a concise missing-fields message and stop; resume the workflow when the user supplies the missing values.
There is no separate Enterprise RAG Query HITL prompt. Document grounding comes
from the RAG-enabled agent config exposing frag_retrieval; if the user wants
specific SOP, policy, or procedure context reflected in the report, capture that
context in the original report request or resolve it as a document-grounding
question before starting the HITL report flow.
Send a POST to /v1/chat. This returns HTTP 202 with an execution_id and the first
HITL prompt. Replace VIDEO_NAME with the chosen video:
curl -sS -X POST "http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/v1/chat" \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "Generate a report for VIDEO_NAME using long video summarization"}]}'
The response contains:
execution_id — save this, used in all subsequent requestsinteraction_id — identifies the current promptprompt.text — the HITL prompt textresponse_url — the URL to POST the response toFor each prompt, POST the user's parameter to the response_url. Replace EXECUTION_ID, INTERACTION_ID, and the text value:
curl -sS -X POST \
"http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/executions/EXECUTION_ID/interactions/INTERACTION_ID/response" \
-H "Content-Type: application/json" \
-d '{"response": {"type": "text", "text": "USER_VALUE_HERE"}}'
Then poll for the next prompt:
curl -sS "http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/executions/EXECUTION_ID" | python3 -m json.tool
The HITL prompts come in this order:
Repeat the POST-then-poll cycle for each prompt.
After the confirmation prompt, the system processes the video. This takes 3-5 minutes. Keep polling until the status changes from "running" to "completed":
curl -sS "http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/executions/EXECUTION_ID" | python3 -m json.tool
Set the expectation that processing usually takes 3-5 minutes, then poll every 30 seconds.
When status is "completed", the response contains the full report with:
Present the report content to the user in a readable format.
execution_id, interaction_id, and response_url.failed, cancelled, or stays running without progress beyond the expected processing window, surface the status and recommend checking the vss-agent logs before retrying.For simple questions that do NOT involve report generation:
curl -sS -X POST "http://${HOST_IP}:${VSS_AGENT_PORT:-8000}/v1/chat" \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "YOUR_QUESTION_HERE"}]}' | \
python3 -c "import json,sys; d=json.load(sys.stdin); print(d['choices'][0]['message']['content'])"
KNOWLEDGE_COLLECTION{"response": {"type": "text", "text": "value"}}hitl_enabled: true settings for HTTP HITL to workvideo-summarization, video-understanding, report, vios, deployPrerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
nvidia/skills
nvidia/skills
nvidia/skills
nvidia/skills
nvidia/skills
nvidia/skills
vss-generate-video-report-rag is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Registry listing for vss-generate-video-report-rag matched our evaluation — installs cleanly and behaves as described in the markdown.
Keeps context tight: vss-generate-video-report-rag is the kind of skill you can hand to a new teammate without a long onboarding doc.
I recommend vss-generate-video-report-rag for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
vss-generate-video-report-rag reduced setup friction for our internal harness; good balance of opinion and flexibility.
Keeps context tight: vss-generate-video-report-rag is the kind of skill you can hand to a new teammate without a long onboarding doc.
vss-generate-video-report-rag has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: vss-generate-video-report-rag is focused, and the summary matches what you get after install.
Solid pick for teams standardizing on skills: vss-generate-video-report-rag is focused, and the summary matches what you get after install.
vss-generate-video-report-rag has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 75