Agent skill

Vss Dlstreamer Pipeline

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

Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.

Apache-2.0Auto-check passedWriting & Content

Install Vss Dlstreamer Pipeline

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

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

GitHub CLI
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipeline --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-dlstreamer-pipeline .claude/skills/vss-dlstreamer-pipeline && 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-dlstreamer-pipeline
GitHub stars
171
Token cost
~1.8k tokens
SKILL.md length
590 words
Files
14 (incl. scripts, references)
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.

  • Works in 8 steps: The summary pipeline stores the input… → pipeline-manager/src/state-manager/servic… → EvamService POSTs to → …
  • The user wants to change the DLStreamer/GStreamer pipeline
  • SKILL.md covers Environment setup (run first), Ground truth first, Actual flow in this repo and Request payload shape, plus 2 more sections
  • Runs Shell scripts from its folder; calls bash

What it does

Vss Dlstreamer Pipeline is an agent skill from open-edge-platform/edge-ai-libraries. Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app. Use when the user wants to change the DLStreamer/GStreamer pipeline, extract frames differently, modify the EVAM pipeline, add a detection model to video ingestion, or tune chunk/frame extraction in the pipeline server.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts and reference files (for example `BENCHMARK.md`, `evals/evals.json` and `evals/trigger-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 wants to change the DLStreamer/GStreamer pipeline
  • Extract frames differently
  • Modify the EVAM pipeline
  • Add a detection model to video ingestion

Example prompts

  • “Use the vss-dlstreamer-pipeline skill to help developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video…”
  • “/vss-dlstreamer-pipeline”

Requirements

  • A Bash shell
  • Docker

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. The summary pipeline stores the input video in MinIO and obtains an HTTP object URL.
  2. pipeline-manager/src/state-manager/services/pipeline.service.ts calls EvamService.startChunkingStub(stateId, videoUrl, state.userInputs…
  3. EvamService POSTs to
  4. DL Streamer Pipeline Server executes the matching GStreamer template from video-ingestion/resources/conf/config.json.
  5. Frames pass through gvapython ... class=Publisher function=process module=/home/pipeline-server/gvapython/publisher/publish.py.
  6. Publisher writes frame JPEGs and metadata JSON to MinIO and publishes a chunk message to RabbitMQ MQTT topic topic/video_stream.
  7. pipeline-manager/src/evam/services/rabbitmq.service.ts consumes AMQP queue my_mqtt_queue bound to exchange amq.topic with routing key…
  8. Captioning, summarization, and search embedding generation happen downstream from the extracted frames/metadata; EVAM itself only…

What it can do on your machine

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

    • bash

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

  • Network

    No URLs in SKILL.md.

    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 Dlstreamer Pipeline loads about 1.8k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 590 words of instructions outside code blocks.

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

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 0ed0479, republished under its Apache-2.0 licence (© open-edge-platform). 590 words, ~1,778 tokens.

Download SKILL.mdSave it as .claude/skills/vss-dlstreamer-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
vss-dlstreamer-pipeline
description
Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app. Use when the user wants to change the DLStreamer/GStreamer pipeline, extract frames differently, modify the EVAM pipeline, add a detection model to video ingestion, or tune chunk/frame extraction in the pipeline server.

VSS DLStreamer Pipeline

Use this skill for the Video Search & Summarization sample app when work touches the DL Streamer Pipeline Server-backed video ingestion flow.

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 first tries to find an existing VSS checkout - walking up from the current directory and inspecting the enclosing git repo - and reuses it without ever re-cloning. Only when no checkout is found does it do a shallow, single-branch, sparse checkout of just sample-applications/video-search-and-summarization from main. It prints the resolved app root on stdout:

bash
# SKILL_DIR is THIS skill's own directory (shown to you when the skill loads);
# in-repo it is .github/skills/vss-dlstreamer-pipeline. Works the same if the skill is installed standalone.
SKILL_DIR=".github/skills/vss-dlstreamer-pipeline"
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.

Ground truth first

Before editing, read these repo paths; do not infer pipeline names or payloads from generic DL Streamer examples:

  • video-ingestion/resources/conf/config.json - the actual pipeline definitions loaded into the DL Streamer Pipeline Server image.
  • video-ingestion/src/publish.py - gvapython sink that writes frames/metadata to MinIO and publishes chunk messages.
  • pipeline-manager/src/evam/models/evam.model.ts - request DTO and EVAMPipelines enum.
  • pipeline-manager/src/evam/services/evam.service.ts - endpoint and request body sent to EVAM.
  • pipeline-manager/src/config/configuration.ts and docker/compose.summary.yaml - host, ports, model path, device, RabbitMQ, MinIO wiring.
  • For architecture language, see docs/user-guide/how-it-works/*.md; docs/user-guide/how-it-works.md references _assets/TEAI_VideoPipelines.png.

Actual flow in this repo

  1. The summary pipeline stores the input video in MinIO and obtains an HTTP object URL.

  2. pipeline-manager/src/state-manager/services/pipeline.service.ts calls EvamService.startChunkingStub(stateId, videoUrl, state.userInputs, state.systemConfig.evamPipeline).

  3. EvamService POSTs to:

    text
    http://${EVAM_HOST}:${EVAM_PIPELINE_PORT}/pipelines/user_defined_pipelines/${pipeline}

    where ${pipeline} is one of the real configured names:

    • object_detection
    • video_ingestion
  4. DL Streamer Pipeline Server executes the matching GStreamer template from video-ingestion/resources/conf/config.json.

  5. Frames pass through gvapython ... class=Publisher function=process module=/home/pipeline-server/gvapython/publisher/publish.py.

  6. Publisher writes frame JPEGs and metadata JSON to MinIO and publishes a chunk message to RabbitMQ MQTT topic topic/video_stream.

  7. pipeline-manager/src/evam/services/rabbitmq.service.ts consumes AMQP queue my_mqtt_queue bound to exchange amq.topic with routing key topic.video_stream, then emits CHUNK_RECEIVED.

  8. Captioning, summarization, and search embedding generation happen downstream from the extracted frames/metadata; EVAM itself only chunks/extracts/detects/publishes in this repo.

Show full SKILL.md (228 more words)Show less

Request payload shape

EvamService.startChunkingStub() sends this shape:

json
{
  "source": {
    "element": "curlhttpsrc",
    "type": "gst",
    "properties": { "location": "<MinIO object URL>" }
  },
  "parameters": {
    "detection-properties": {
      "model": "/home/pipeline-server/models/object-detection/ultralytics/public/yolov8l/FP32/yolov8l.xml",
      "device": "CPU"
    },
    "publish": {
      "minio_bucket": "<pipeline-manager MINIO_BUCKET>",
      "video_identifier": "<stateId>",
      "topic": "topic/video_stream"
    },
    "frame": 5,
    "chunk_duration": 10,
    "frame_width": 480
  }
}

frame, chunk_duration, and frame_width are validated by JSON Schema in video-ingestion/resources/conf/config.json.

Pipelines as defined in video-ingestion/resources/conf/config.json

  • object_detection: ... videorate ! videoconvertscale ! video/x-raw,framerate={parameters[frame]}/{parameters[chunk_duration]},format=BGR,width=[1,{parameters[frame_width]}],pixel-aspect-ratio=1/1 ! gvadetect name=detection pre-process-backend=ie ! queue ! gvapython ... ! fakesink
  • video_ingestion: same decode/rate/scale/publish chain, but without gvadetect.

The detection-properties request parameter maps to the element named detection, so it only has an effect when the selected pipeline contains gvadetect name=detection.

Safe modification workflow

GStreamer pipeline strings are fragile: a missing !, caps typo, bad element name, or parameter mismatch can make the pipeline fail at runtime even if TypeScript compiles.

When changing extraction behavior:

  1. Edit video-ingestion/resources/conf/config.json first.
  2. Keep parameter placeholders aligned with the request DTO and schema: {parameters[frame]}, {parameters[chunk_duration]}, {parameters[frame_width]}, publish, and any element-property mappings.
  3. If adding a new selectable pipeline, also update:
    • pipeline-manager/src/evam/models/evam.model.ts (EVAMPipelines)
    • pipeline-manager/src/evam/services/evam.service.ts (availablePipelines())
    • UI/API config paths that expose evamPipeline if needed.
  4. If adding/changing a detection model, ensure the model is available under the container mount /home/pipeline-server/models (../ov_models in docker/compose.summary.yaml) and update pipeline-manager/src/config/configuration.ts model path or make it configurable.
  5. Rebuild/restart video-ingestion; video-ingestion/docker/Dockerfile copies resources/conf/config.json into /home/pipeline-server/config.json and copies src/ into /home/pipeline-server/gvapython/publisher/.
  6. Validate with GET /pipelines, then POST a real object_detection or video_ingestion request and confirm:
    • the POST returns a pipeline UUID,
    • GET /pipelines/{id} reaches COMPLETED,
    • MinIO contains video_id/frame/chunk_N_frame_M.jpeg and metadata JSON,
    • RabbitMQ delivers chunk messages.

See references/evam-pipelines.md for the detailed request/config reference and a worked modification example.

© 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-dlstreamer-pipeline of open-edge-platform/edge-ai-libraries.

  • SKILL.md
  • BENCHMARK.md
  • evals/evals.json
  • evals/trigger-evals.json
  • example-prompts/01-tune-frame-extraction-rate.md
  • example-prompts/02-add-detection-model.md
  • example-prompts/03-debug-broken-pipeline-string.md
  • example-prompts/04-add-new-pipeline-name.md
  • example-prompts/05-explain-request-payload.md
  • example-prompts/06-validate-publish-pipeline-change.md
  • example-prompts/07-bootstrap-fresh-machine.md
  • example-prompts/README.md
  • references/evam-pipelines.md
  • scripts/vss-bootstrap.sh

Open the folder on GitHubat commit 0ed0479

Compare with similar skills

Vss Dlstreamer Pipeline 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 Dlstreamer Pipeline compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vss Dlstreamer Pipeline this skillopen-edge-platform/edge-ai-libraries171—~1.8kAutomated 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.3kAutomated 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 that is already registered in a configured deployment — by natural-language, similarity, attribute, object-ID, or lexical tag…

    1.9k GitHub stars~3.3k 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 2 days ago
    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…

    171 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.

    171 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…

    171 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.

    171 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.

    171 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…

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

Questions about Vss Dlstreamer Pipeline

What does Vss Dlstreamer Pipeline do?

Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app. Vss Dlstreamer Pipeline is an agent skill from open-edge-platform/edge-ai-libraries. Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.

When should I use Vss Dlstreamer Pipeline?

Vss Dlstreamer Pipeline fits situations like: the user wants to change the DLStreamer/GStreamer pipeline; extract frames differently; modify the EVAM pipeline; add a detection model to video ingestion.

How do I install Vss Dlstreamer Pipeline in Claude Code?

Run `npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a claude-code`. Or copy the skill folder (sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline in open-edge-platform/edge-ai-libraries) into .claude/skills/vss-dlstreamer-pipeline in your project. Claude Code loads it when a task matches its description.

How do I install Vss Dlstreamer Pipeline in Codex?

Run `npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a codex`. Or copy the skill folder (sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline in open-edge-platform/edge-ai-libraries) into .agents/skills/vss-dlstreamer-pipeline in your project. Codex loads it when a task matches its description.

Can I use Vss Dlstreamer Pipeline 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-dlstreamer-pipeline -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-dlstreamer-pipeline, .gemini/skills/vss-dlstreamer-pipeline, .github/skills/vss-dlstreamer-pipeline and .opencode/skills/vss-dlstreamer-pipeline in your project.

What does Vss Dlstreamer Pipeline need to run?

Going by SKILL.md and its folder, Vss Dlstreamer Pipeline needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell; Docker.

Does Vss Dlstreamer Pipeline access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Vss Dlstreamer Pipeline 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 Dlstreamer Pipeline use?

Vss Dlstreamer Pipeline is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vss Dlstreamer Pipeline use?

About 1.8k tokens (SKILL.md is roughly 7.1k 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 3.7k tokens, read only when the agent opens those files.

What are the alternatives to Vss Dlstreamer Pipeline?

Skills that share tags, products or a category with Vss Dlstreamer Pipeline: 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 Dlstreamer Pipeline?

open-edge-platform (a GitHub organization) maintains it in open-edge-platform/edge-ai-libraries, which has 171 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 10, 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.