Agent skill

Vss Summarize Video

by open-edge-platform in open-edge-platform/edge-ai-libraries

Summarize a video through the VSS Pipeline Manager - start a summary pipeline with POST /summary (full required body), poll GET /summary/{stateId} until complete, then return the summary via GET…

Apache-2.0Auto-check passedWriting & Content

Install Vss Summarize Video

skills CLI
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-summarize-video -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install open-edge-platform/edge-ai-libraries vss-summarize-video --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-summarize-video .claude/skills/vss-summarize-video && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vss-summarize-video
GitHub stars
169
Token cost
~2.1k tokens
SKILL.md length
770 words
Files
14 (incl. scripts, references)
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Summarize a video through the VSS Pipeline Manager - start a summary pipeline with POST /summary (full required body), poll GET /summary/{stateId} until complete, then return the summary via GET…

  • Works in 3 steps: Start the summary pipeline → Poll until complete → Retrieve the summary
  • The user says summarize this video
  • SKILL.md covers Answer contract when VSS is…, Environment setup (run first), Preconditions and 1. Start the summary pipeline, plus 4 more sections
  • Runs Shell scripts from its folder; calls curl, jq and bash

What it does

Vss Summarize Video is an agent skill from open-edge-platform/edge-ai-libraries. Summarize a video through the VSS Pipeline Manager - start a summary pipeline with POST /summary (full required body), poll GET /summary/{stateId} until complete, then return the summary via GET /summary/{stateId}/raw. Use when the user says "summarize this video", "create a summary", "what happens in this video" (on an ingested video), or wants to run/inspect the summarization pipeline. Requires a summary-capable deployment (--summary, --dual, or --unified).

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `benchmark/benchmark.json`, `benchmark/benchmark.md` and `evals/evals.json`).

It sits in Writing & Content, covering Summarization. The repository describes itself as: Libraries, microservices, tools, and other reference software, supporting development of performance-optimized Edge AI applications. The licence is Apache-2.0.

When your agent uses it

  • The user says summarize this video
  • Create a summary
  • What happens in this video (on an ingested video)
  • Wants to run/inspect the summarization pipeline

Example prompts

  • “summarize this video”
  • “create a summary”
  • “what happens in this video”
  • “/vss-summarize-video”

Requirements

  • A Bash shell
  • Docker

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Start the summary pipeline
  2. Poll until complete
  3. Retrieve the summary

What it can do on your machine

Read from SKILL.md and the folder at commit cdf860c. 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

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • curl
    • jq
    • bash
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and git, 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 2.1k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 770 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.8k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from open-edge-platform/edge-ai-libraries at commit cdf860c, republished under its Apache-2.0 licence (© open-edge-platform). 770 words, ~2,149 tokens.

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
Summarize a video through the VSS Pipeline Manager - start a summary pipeline with POST /summary (full required body), poll GET /summary/{stateId} until complete, then return the summary via GET /summary/{stateId}/raw. Use when the user says "summarize this video", "create a summary", "what happens in this video" (on an ingested video), or wants to run/inspect the summarization pipeline. Requires a summary-capable deployment (--summary, --dual, or --unified).
license
Apache-2.0
metadata.version
1.0.0
metadata.tags
vss operational summarization
<!--
SPDX-FileCopyrightText: (C) 2026 Intel Corporation
SPDX-License-Identifier: Apache-2.0
-->

VSS Summarize

Run the summarization pipeline via the Pipeline Manager. Call the documented API yourself and report only observed responses. Endpoints use the nginx /manager prefix.

Set HOST=http://${HOST_IP:-localhost}:${APP_HOST_PORT:-12345}.

Answer contract when VSS is not reachable

The user may be away from the deployment, $HOST may refuse connections, or a live precondition may fail (for example, summary mode is disabled or the named video is absent). In any of those cases do not stall and do not invent responses. Report the observed blocker, then answer with the complete exact call sequence the user can run after fixing it: full endpoint paths, request bodies / form fields, the field each step carries over from the previous response, and the condition that says a step is finished. Do not abbreviate or omit the requested summary flow merely because it could not be executed. State plainly which commands were not executed. Never end the answer by asking whether to run them.

Environment setup (run first)

This skill drives the Video Search & Summarization app through its real source files, so the VSS application must be present and you must run commands from its app root. Do this before anything else, and it works whether or not the VSS source is already in your workspace.

Run the bundled bootstrap. It resolves the app root in this order and prints it as the only line on stdout:

  1. Walk up from the current directory looking for a VSS app root - a directory carrying all three markers setup.sh, docker/, and pipeline-manager/.
  2. Ask git for the enclosing repository (git rev-parse --show-toplevel) and check whether it holds sample-applications/video-search-and-summarization, or is itself a VSS app root. This is what makes your own clone - or a fork - work unchanged.
  3. Reuse a checkout a previous bootstrap already placed in ${XDG_CACHE_HOME:-$HOME/.cache}/vss-src/edge-ai-libraries.

If any of those hit, that checkout is reused and NO clone is performed. Only when all three miss does it clone - and then only a shallow (--depth 1), single-branch, sparse checkout of just sample-applications/video-search-and-summarization from main:

bash
# SKILL_DIR is THIS skill's own directory (shown to you when the skill loads);
# in-repo it is .github/skills/vss-summarize-video. Works the same if the skill is installed standalone.
SKILL_DIR=".github/skills/vss-summarize-video"
APP_ROOT="$(bash "$SKILL_DIR/scripts/vss-bootstrap.sh")"
cd "$APP_ROOT"

Every command below assumes the working directory is this APP_ROOT. To pull from a fork/branch or reuse a specific checkout dir, override VSS_REPO_URL, VSS_REPO_BRANCH, or VSS_CLONE_DIR before running it. The bootstrap refuses to overwrite an existing non-VSS clone destination.

Preconditions

  1. Backend healthy and summary enabled - probe first; if not, use the installed vss-troubleshoot or vss-deploy skill by name:
    bash
    curl -sf "$HOST/manager/health" >/dev/null && \
    curl -s "$HOST/manager/app/features" | jq -e '(.summary // .) == "FEATURE_ON"'
  2. A videoId to summarize - upload one with POST /manager/videos (multipart, field video), which returns { "videoId": "…" }. Or list existing - note the response is an object { "videos": [...] }, not a bare array, and name is a generated hash (the real filename is in url / dataStore.fileName):
    bash
    curl -s -X POST "$HOST/manager/videos" -F "video=@/path/to/clip.mp4" | jq .
    curl -s "$HOST/manager/videos" | jq '.videos[] | {videoId, file: .dataStore.fileName}'
Show full SKILL.md (333 more words)Show less

1. Start the summary pipeline

POST /manager/summary. The body has required fields; missing any of title, sampling.*, or evam.evamPipeline returns 400. See references/summary-request.md for the full schema, prompt overrides, and audio options.

Minimal valid request:

bash
curl -s -X POST "$HOST/manager/summary" \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Loading dock review",
    "videoId": "<VIDEO_ID>",
    "sampling": { "chunkDuration": 20, "samplingFrame": 5, "frameOverlap": 0, "multiFrame": 5 },
    "evam": { "evamPipeline": "object_detection" },
    "produceFinalSummary": true
  }' | jq .
# → { "summaryPipelineId": "<STATE_ID>" }

Sampling constraint: the Pipeline Manager enforces multiFrame == frameOverlap + samplingFrame. With frameOverlap: 0, set multiFrame == samplingFrame. Mismatch → 400 "Multi frame mismatch". evamPipeline is one of object_detection | video_ingestion.

To summarize only part of a clip, add the optional sampling.videoStart and sampling.videoEnd (seconds) - e.g. the first ten minutes is "videoStart": 0, "videoEnd": 600.

2. Poll until complete

The returned summaryPipelineId is the stateId. GET /manager/summary/{stateId} has no top-level status/progress field (only /raw does) - progress lives in per-stage fields:

bash
STATE_ID=<STATE_ID>
curl -s "$HOST/manager/summary/$STATE_ID" | jq '{
  chunking: .chunkingStatus,         # string, "complete" when chunked
  frames:   .frameSummaryStatus,     # COUNTS object: {complete, inProgress, na, ready}
  video:    .videoSummaryStatus,     # string: "na" → "inProgress" → "complete"  ← real done signal
  audio:    .audioTranscriptSummaryStatus,
  summary_len: (.summary | length)
}'

⚠️ Completion is videoSummaryStatus == "complete", NOT summary being non-empty. The final summary text is streamed in incrementally while videoSummaryStatus is still "inProgress", so polling on "summary length > 0" returns a truncated, mid-sentence result. Always gate on videoSummaryStatus. With produceFinalSummary: false there is no final stage - gate on frameSummaryStatus.inProgress == 0 instead.

bash
until curl -s "$HOST/manager/summary/$STATE_ID" \
       | jq -e '.videoSummaryStatus == "complete"' >/dev/null; do sleep 10; done

Summarization is slow (VLM per-chunk + LLM map-reduce) - minutes, not seconds.

3. Retrieve the summary

bash
curl -s "$HOST/manager/summary/$STATE_ID" | jq -r '.summary'   # final map-reduced summary
# Per-chunk captions live in .frameSummaries[] (each: frameKey, status, summary).
# NOT in .chunks[] - those only carry {chunkId, duration, audioTranscripts}:
curl -s "$HOST/manager/summary/$STATE_ID" | jq -r '.frameSummaries[] | "[\(.frameKey)] \(.summary)"'
curl -s "$HOST/manager/summary/$STATE_ID/raw" | jq .   # everything (audio, frames, status, …)

Present the final summary text; offer the per-chunk detail if useful. Audio with no speech yields an audioTranscriptSummary that says so - not an error.

Final answer audit trail

Tool arguments may not be visible to the user or evaluator. The final answer must therefore report the bootstrap result: the resolved APP_ROOT, whether an existing checkout was reused without cloning, and that commands ran after changing to that app root. Also state that a total bootstrap miss falls back to a shallow (--depth 1), single-branch, sparse checkout of only the VSS app from main. Report the observed /manager/health and summary feature values.

For the summary workflow, name every public Manager operation used (method and /manager/... path), the important request fields, the observed response, and the carry-over from summaryPipelineId to STATE_ID. When a precondition blocks execution, clearly separate observed probes from unexecuted commands and still show the exact valid request, completion condition, and retrieval step without inventing ids or summary content.

Manage

bash
curl -s "$HOST/manager/summary" | jq '.[] | {stateId, title}'   # list all
curl -s -X DELETE "$HOST/manager/summary/$STATE_ID"             # delete one

© open-edge-platform, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files (scripts, references) in sample-applications/video-search-and-summarization/.github/skills/vss-summarize-video of open-edge-platform/edge-ai-libraries.

  • SKILL.md
  • benchmark/benchmark.json
  • benchmark/benchmark.md
  • evals/evals.json
  • example-prompts/01-basic-summary.md
  • example-prompts/02-custom-sampling.md
  • example-prompts/03-audio-transcript.md
  • example-prompts/04-per-chunk-captions.md
  • example-prompts/05-manage-summaries.md
  • example-prompts/06-bootstrap-fresh-machine.md
  • example-prompts/07-bootstrap-fresh-machine.md
  • example-prompts/README.md
  • references/summary-request.md
  • scripts/vss-bootstrap.sh

Open the folder on GitHubat commit cdf860c

Compare with similar skills

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.

Vss Summarize Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vss Summarize Video this skillopen-edge-platform/edge-ai-libraries169—~2.1kAutomated safety check: PassApache-2.0
News Aggregator Skillcclank/news-aggregator-skill1.3k—~2.1kAutomated safety check: PassNone
AI Daily Newsgeekjourneyx/ai-daily-skill235—~2.3kAutomated safety check: PassNone
Vss Search ArchiveNVIDIA-AI-Blueprints/video-search-and-summarization1.9k—~3.6kAutomated safety check: PassApache-2.0
AnalyzeriBigQiang/feedgrab614—~1kAutomated safety check: PassMIT
Reportmicrosoft/data-formulator18k—~1.5kAutomated safety check: PassMIT

Similar skills

  • News Aggregator Skill

    cclank/news-aggregator-skill

    Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 44+ sources including Hacker News, Lobsters, Dev.to, GitHub, arXiv, Hugging Face Papers, AIHOT, TLDR…

    1.3k GitHub stars~2.1k tokensUpdated 4 mo ago
    Writing & ContentAuto-check passed
  • AI Daily News

    geekjourneyx/ai-daily-skill

    Fetches AI news from smol.ai RSS and generates structured markdown with intelligent summarization and categorization.

    235 GitHub stars~2.3k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Vss Search Archive

    NVIDIA-AI-Blueprints/video-search-and-summarization

    A skill your agent uses when a user wants to search archived VSS video or ingest or delete a source for search.

    1.9k GitHub stars~3.6k tokensUpdated today
    Writing & ContentAuto-check passed
  • Analyzer

    iBigQiang/feedgrab

    Content Analyzer — any content (URL, text, transcript) into structured analysis report with actionable insights.

    614 GitHub stars~1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Report

    microsoft/data-formulator

    Official

    Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded…

    18k GitHub stars~1.5k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Tldr

    earlyaidopters/claudeclaw

    Summarize the current conversation into a TLDR note and save it to your notes folder.

    173 GitHub stars~953 tokensUpdated 5 mo ago
    Writing & ContentAuto-check passed

More from open-edge-platform/edge-ai-libraries

All 29 skills in this repo
  • Time Series Analytics User

    open-edge-platform/edge-ai-libraries

    Build a new time-series analytics use case on top of the deployed Time Series Analytics microservice — bring it up with Docker Compose (from a repo clone, or by fetching the compose files from…

    169 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Vss Add Nest Module

    open-edge-platform/edge-ai-libraries

    Scaffolds and wires a new NestJS service/module for the Video Search & Summarization sample app's pipeline-manager using the repo's real conventions.

    169 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Chatqna Helm Deploy

    open-edge-platform/edge-ai-libraries

    Deploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall…

    169 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Generate Changelog

    open-edge-platform/edge-ai-libraries

    Generates or updates CHANGELOG.md by analyzing git commit history between two branches, tags, or revisions in ANY git repository or folder.

    169 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Vss Deploy

    open-edge-platform/edge-ai-libraries

    Deploys and manages VSS through setup.sh and its Docker Compose overlays.

    169 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Vss Deploy Helm

    open-edge-platform/edge-ai-libraries

    A skill your agent uses whenever a developer needs to deploy VSS to Kubernetes, helm install VSS, configure values.yaml for VSS, or run VSS on k8s with GPU/vLLM for the…

    169 GitHub stars~3.8k tokensUpdated today
    Auto-check passed

Questions about Vss Summarize Video

What does Vss Summarize Video do?

Summarize a video through the VSS Pipeline Manager - start a summary pipeline with POST /summary (full required body), poll GET /summary/{stateId} until complete, then return the summary via GET…. Vss Summarize Video is an agent skill from open-edge-platform/edge-ai-libraries. Summarize a video through the VSS Pipeline Manager - start a summary pipeline with POST /summary (full required body), poll GET /summary/{stateId} until complete, then return the summary via GET /summary/{stateId}/raw.

When should I use Vss Summarize Video?

Vss Summarize Video fits situations like: the user says summarize this video; create a summary; what happens in this video (on an ingested video); wants to run/inspect the summarization pipeline.

How do I install Vss Summarize Video in Claude Code?

Run `npx skills add open-edge-platform/edge-ai-libraries --skill vss-summarize-video -a claude-code`. Or copy the skill folder (sample-applications/video-search-and-summarization/.github/skills/vss-summarize-video in open-edge-platform/edge-ai-libraries) 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 open-edge-platform/edge-ai-libraries --skill vss-summarize-video -a codex`. Or copy the skill folder (sample-applications/video-search-and-summarization/.github/skills/vss-summarize-video in open-edge-platform/edge-ai-libraries) 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 open-edge-platform/edge-ai-libraries --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 a shell for the scripts in its folder and the command-line tools its instructions call (curl, jq, bash and git). Our summary lists: A Bash shell; Docker.

Does Vss Summarize Video access the network?

SKILL.md contains no URLs. Its commands use curl and git, 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

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 2.1k tokens (SKILL.md is roughly 8.6k 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 625 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: News Aggregator Skill (cclank/news-aggregator-skill, 1.3k stars), AI Daily News (geekjourneyx/ai-daily-skill, 235 stars), Vss Search Archive (NVIDIA-AI-Blueprints/video-search-and-summarization, 1.9k stars) and Analyzer (iBigQiang/feedgrab, 614 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?

open-edge-platform (a GitHub organization) maintains it in open-edge-platform/edge-ai-libraries, which has 169 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.

Source: open-edge-platform/edge-ai-libraries on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.