writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
nvidia-video-search-and-summarization-reportProduce video analysis reports by discovering the deployed VSS agent, querying POST /generate for a timestamped captioned summary of the clip, then formatting the agent reply as the standard Video Analysis Report markdown.
Independent GitHub snapshot · Automated classification · Original documentation governs
Build timestamped video analysis reports by querying the VSS agent for a description of the video using POST …/generate. The agent runs video_understanding (and related tools) internally. Take the agent’s caption-style text with timestamps and paste it into the Video Analysis Report template below.
<sensor-id>"This skill requires the VSS base profile running on the host at $HOST_IP. Before any request:
Probe the VSS agent:
curl -sf --max-time 5 "http://${HOST_IP}:8000/docs" >/dev/null
If the probe fails, ask the user:
"The VSS
baseprofile isn't running on$HOST_IP. Shall I deploy it now using the/deployskill with-p base?"
/deploy skill. Return here once it succeeds.(If your caller has granted explicit pre-authorization to deploy
autonomously — e.g. the request says "pre-authorized to deploy
prerequisites", or you are running in a non-interactive evaluation
harness with that permission — skip the confirmation and invoke
/deploy directly.)
If the probe passes, proceed.
Run these steps in order:
Sensor / clip — Confirm which sensor id or video the user means. If unclear, ask before proceeding. If the sensor or video is not mentioned directly in the user request, the user may be referring to a video they mentioned previously.
VSS agent deployment — Resolve the agent HTTP base URL. Read VSS_AGENT_PORT, EXTERNAL_IP / HOST_IP, or compose / deployment docs for the machine where the stack runs. Typical pattern: http://<host>:<port> with port from env (often 8000 for the agent API).
Query the agent — POST ${VSS_AGENT_BASE_URL}/generate with JSON {"input_message": "<prompt>"}. Ask for a captioned summary with timestamps (chronological segments, seconds from clip start), e.g. describe scenes and events with time ranges. The sensor / file name must be included in the input message to the agent.
Report template — Copy the agent’s final text (timestamped caption/summary) into Analysis Results and fill Basic Information; return that markdown to the user. 0l
/generate)# Set from deployment (compose / .env / host where vss-agent listens)
export VSS_AGENT_BASE_URL="http://localhost:8000"
curl -s -X POST "${VSS_AGENT_BASE_URL}/generate" \
-H "Content-Type: application/json" \
-d '{"input_message": "Describe in detail what happens in the video for sensor <sensor-id>, with timestamps (start–end in seconds from clip start) for each segment or event."}' | jq .
Paste the agent’s timestamped summary under Analysis Results. Fill the table fields (timestamps, source, request).
# Video Analysis Report
## Basic Information
| Field | Value |
|-------|-------|
| **Report Identifier** | vss_report_<YYYYMMDD_HHMMSS> |
| **Date of Analysis** | <YYYY-MM-DD> |
| **Time of Analysis** | <HH:MM:SS> |
| **Reporting AI Agent** | <e.g. your label> |
| **Video Source** | <sensor_id or filename> |
| **Analysis Request** | <description of user's request to you> |
## Analysis Results
<agent output: timestamped caption / summary>
/generate patterns; this skill focuses on timestamped captions → report template.