vss-ask-video について
vss-ask-videoは、特定のクリップについて映像を見て回答するエージェントスキルです。VSS Agentからvideo_understandingツールを呼び出し、既存の要約やツール結果だけでは答えられない質問に対応します。
主な機能
- 01映像フレームについての質問応答
- 02VSS Agent経由でvideo_understandingを呼び出し
- 03事前にVSSとセンサーの稼働を確認
- 04応答から最終回答を抽出
活用シーン
- 01映像内の人物や物体について質問
- 02動作、色、タイミングの確認
- 03既存の要約に映像の詳細を追加
MCP 対応
MCPの結果で回答できる場合は、検証を明示的に求められない限り映像分析を繰り返さないよう定めています。VSS Agentのvideo_understandingツールを呼び出しますが、そのツールとMCPの直接的な関係は記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill vss-ask-videoインストール後、Claude Code で/vss-ask-videoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/base_profile_video_understanding.jsonevals.json詳細
VSS Agent を介した VLM による動画 Q&A
VLM で動画フレームを確認する必要がある動画について詳しく知りたい場合に、このスキルを使用します。たとえば、エージェントに利用可能な過去の回答がなく、特定のクリップのピクセルを改めて確認する必要がある場合です。
使用するタイミング
- ユーザーが、動画で何が起きているか、どのような物体/人物/動作が映っているか、色、タイミング、安全性、その他、クリップを視聴しないとわからない視覚的な事実を尋ねている場合。
- ユーザーが、既存のメッセージ、要約、Elasticsearch/MCP の結果、またはファイル名だけでは回答できない詳細を尋ねており、動画に対するモデルの推論が必要な場合。
- 大まかな要約の後、またはレポート生成後に、内容の詳細について追加で質問された場合。
データベース/MCP/以前のツール出力ですでに質問への回答が得られている場合は、ユーザーが動画との照合を明示的に求めていない限り、このスキルを使用しないでください。
デプロイの前提条件
このスキルを使用するには、video_understanding ツールを提供する VSS プロファイルが必要です。通常は base(推奨)または lvs を使用します。リクエストを処理する前に、次の手順を実行してください。
-
VSS エージェントを確認します。
curl -sf --max-time 5 "http://${HOST_IP}:8000/docs" >/dev/null -
確認に失敗した場合は、ユーザーに尋ねます。
"
$HOST_IPで VSS プロファイルが実行されていません。クリップ単位の VLM Q&A に推奨されるbaseを/vss-deploy-profileスキルでデプロイしますか?lvsを希望する場合は、そのようにお知らせください。"- はいの場合 →
/vss-deploy-profile -p base(ユーザーが希望する場合は-p lvs)に引き継ぎます。デプロイが成功したら、ここに戻ります。 - いいえの場合 → 停止します。
- はいの場合 →
-
確認に成功した場合は、続行します。
センサーの前提条件
/generate を呼び出す前に、必ず VST センサーを一覧表示してください。 ユーザーがセンサーを明示的に指定している場合、動画がすでにアップロード済みだと主張している場合、または前のターンで同じ動画を使用したように見える場合でも、必ず実行してください。この手順を省略しないでください。
-
センサーを一覧表示します。
curl -sf --max-time 5 "http://${HOST_IP}:30888/vst/api/v1/sensor/list" | jq '.[].name' -
返された
nameの値を、ユーザーが指定した<sensor-id>(またはファイル名の拡張子を除いた部分。例:warehouse_safety_0001)と照合します。 -
一致するセンサーがある場合 → 以下のエージェントワークフローに進みます。
-
一致するセンサーがない場合 — 先に動画をアップロードし、新しいセンサーが表示されることを再度一覧表示して確認します。
# filename: must not contain whitespace # timestamp: ISO 8601 UTC — default 2025-01-01T00:00:00.000Z if user did not specify curl -s -X PUT "http://${HOST_IP}:30888/vst/api/v1/storage/file/<filename>?timestamp=<timestamp>" \ -H "Content-Type: application/octet-stream" \ -H "Content-Length: <file_size_in_bytes>" \ --upload-file /path/to/<filename> | jq .
アップロードの完全な仕様(v1 と v2、競合処理、削除の流れ)については、/vss-manage-video-io-storage を参照してください。対話形式で実行する場合は、アップロード前にユーザーに確認してください。上記のセンサー一覧の確認を先に実行せず、無条件の PUT を決して実行しないでください。この前提条件は、まさにその失敗を防ぐためのものです。
エージェントワークフロー
上記のセンサーの前提条件で、センサーが VST に存在することを確認(または作成)してから、次の手順を実行してください。
- クリップ — 1 つの動画セグメントを特定するためのセンサー ID、ファイル名、またはURLを確認します。曖昧な場合は、ユーザーに尋ねてください。
- センサー ID を指定して VSS エージェントを呼び出し、
video_understandingツールを呼び出してユーザーの質問に回答するよう依頼します。 - VSS エージェントの回答をユーザーに返します。
VSS エージェントへの問い合わせ(/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": "Call video_understanding tool to answer the following question about <sensor-id>: <user query>"}' | jq .
レスポンスの仕様と抽出
/generate は、アシスタントの出力を value に含む JSON オブジェクトを返します。例:
{"value":"<agent-think><agent-think-step ...>...</agent-think-step></agent-think>\n\n<final answer>\n\n"}
独立したクリーンな回答フィールドはありません。利用できる回答は、.value から <agent-think>...</agent-think> ブロックを削除した後のテキストです。
このスキルおよび下流の呼び出し元には、次の処理が必要です。
- JSON レスポンスから
.valueを読み取ります。 <agent-think>...</agent-think>セクションがどこにあっても削除します。- 残った最終回答のテキストのみをユーザーに返します。
抽出例:
curl -s -X POST "${VSS_AGENT_BASE_URL}/generate" \
-H "Content-Type: application/json" \
-d '{"input_message":"Call video_understanding tool to answer the following question about <sensor-id>: <user query>"}' \
| jq -r '.value' \
| python3 -c 'import re,sys; t=sys.stdin.read(); t=re.sub(r"<agent-think>.*?</agent-think>\s*", "", t, flags=re.S); print(t.strip())'
関連項目
- vss-manage-video-io-storage — VLM で
VIDEO_URLが有効になる VST のストレージ/再生 URL。 - vss-generate-video-report — Mode A(直接 VLM)またはMode B(video-analytics のインシデント)によるタイムスタンプ付きレポート。このスキルは、アドホックな動画 Q&Aに使用する VSS エージェントの
/generateです。