Source profileQuality 91/100

open-edge-platform/edge-ai-libraries/microservices/dlstreamer-pipeline-server/.github/skills/dlsps-user/SKILL.md

dlsps-user

Deploy and operate DL Streamer Pipeline Server — a microservice that wraps DL Streamer pipelines behind a REST API for containerized, no-code operation. Use this skill whenever a user wants to: deploy the pipeline server via Docker Compose or Helm; start, stop, or monitor pipeline instances through the REST API; configure pipeline definitions in config.json; publish inference metadata over MQTT, OPC UA, InfluxDB, S3, or ROS2; set up GPU/NPU device access for the container; troubleshoot service-l

Source repository stars
156
Declared platforms
0
Static risk flags
2
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

Set up and operate the DL Streamer Pipeline Server microservice for real-time video analytics — from starting the container through pipeline management via the REST API.

Best for

  • User wants to deploy the pipeline server container (Docker Compose or Helm)
  • User needs to start/stop/monitor pipeline instances via the REST API
  • User wants to configure pipeline definitions in config.json

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/open-edge-platform/edge-ai-libraries --skill "microservices/dlstreamer-pipeline-server/.github/skills/dlsps-user"
Safe inspection promptEditorial

Inspect the Agent Skill "dlsps-user" from https://github.com/open-edge-platform/edge-ai-libraries/blob/4ee15c40c9ea483d105b3a5f4d51d5bde2879a1b/microservices/dlstreamer-pipeline-server/.github/skills/dlsps-user/SKILL.md at commit 4ee15c40c9ea483d105b3a5f4d51d5bde2879a1b. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Procedure

    1. Gather requirements from user prompt (source, device, output type) 2. Start the service (cd .../docker && docker compose up) 3. POST to /pipelines/{name}/{version} with source + destination + parameters 4. Show RTSP URL, status-check command, and stop command

    Keep responses VERY short. No verbose explanations. Use bold labels + inline code.Always include the full pipeline lifecycle in a single compact response: start service → launch pipeline (showing device + RTSP path in JSON) → RTSP URL → status check → stop command.Never omit the status-check or delete steps.
  2. 02

    When to Use

    Not this skill: If the user wants to write new DL Streamer applications, create custom GStreamer pipelines from scratch, or develop Python/C++ video analytics code, use the dlstreamer-coding-agent skill instead.

    User wants to deploy the pipeline server container (Docker Compose or Helm)User needs to start/stop/monitor pipeline instances via the REST APIUser wants to configure pipeline definitions in config.json
  3. 03

    Architecture at a Glance

    Review the “Architecture at a Glance” section in the pinned source before continuing.

    Review and apply the “Architecture at a Glance” source section.
  4. 04

    REST API Quick Reference

    Base URL: http://localhost:8080

    Base URL: http://localhost:8080Response: Pipeline instance ID string, e.g. "a6d67224eacc11ec9f360242c0a86003"
  5. 05

    Request Body (POST — start pipeline)

    Response: Pipeline instance ID string, e.g. "a6d67224eacc11ec9f360242c0a86003"

    Response: Pipeline instance ID string, e.g. "a6d67224eacc11ec9f360242c0a86003"

Permission review

Static risk signals and limitations

Writes files

medium · line 90

The documentation asks the agent to create, modify, or delete local files.

| `file` | Write JSON-lines to a file | `path`, `format` |

Reads files

low · line 159

The documentation asks the agent to read local files, directories, or repositories.

Read the matching example file — it contains the exact compact response format to follow:

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars156SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
open-edge-platform/edge-ai-libraries
Skill path
microservices/dlstreamer-pipeline-server/.github/skills/dlsps-user/SKILL.md
Commit
4ee15c40c9ea483d105b3a5f4d51d5bde2879a1b
License
Apache-2.0
Collected
2026-08-25
Default branch
main
View the original SKILL.md

DL Streamer Pipeline Server Agent

Set up and operate the DL Streamer Pipeline Server microservice for real-time video analytics — from starting the container through pipeline management via the REST API.

Preview: This skill is in preview — share feedback to help improve it.

When to Use

  • User wants to deploy the pipeline server container (Docker Compose or Helm)
  • User needs to start/stop/monitor pipeline instances via the REST API
  • User wants to configure pipeline definitions in config.json
  • User needs to set up GPU/NPU device access for the container (RENDER_GID, device plugins)
  • User wants to configure metadata publishing destinations (MQTT, OPC UA, S3, InfluxDB, ROS2)
  • User is troubleshooting service-level issues (container startup, REST errors, port conflicts)

Not this skill: If the user wants to write new DL Streamer applications, create custom GStreamer pipelines from scratch, or develop Python/C++ video analytics code, use the dlstreamer-coding-agent skill instead.

Architecture at a Glance

REST API (port 8080, OpenAPI 3.0 / Connexion)
    │
    ▼
Pipeline Manager (lifecycle: start / stop / status)
    │
    ▼
GStreamer Engine + DL Streamer Plugins
    │
    ├── Decode: CPU or GPU (decodebin3) │ GPU (vah264dec) │ CPU (avdec_h264)
    ├── Inference: gvadetect / gvaclassify (CPU, GPU, NPU)
    └── Publish: MQTT │ OPC UA │ S3 │ InfluxDB │ ROS2 │ File
    │
    ▼
Output: RTSP stream │ WebRTC stream │ metadata files

REST API Quick Reference

Base URL: http://localhost:8080

MethodEndpointPurpose
GET/pipelinesList available pipeline definitions
GET/pipelines/{name}/{version}Get a pipeline description
POST/pipelines/{name}/{version}Start a new pipeline instance
DELETE/pipelines/{instance_id}Stop a running pipeline
GET/pipelines/statusGet status of all running pipelines
GET/pipelines/{instance_id}/statusGet status of a specific instance
GET/modelsList available models

Request Body (POST — start pipeline)

{
  "source": {
    "uri": "file:///path/to/video.avi",
    "type": "uri"
  },
  "destination": {
    "metadata": {
      "type": "file",
      "path": "/tmp/results.jsonl",
      "format": "json-lines"
    },
    "frame": {
      "type": "rtsp",
      "path": "my-stream-name"
    }
  },
  "parameters": {
    "detection-properties": {
      "model": "/path/to/model.xml",
      "device": "CPU"
    }
  }
}

Response: Pipeline instance ID string, e.g. "a6d67224eacc11ec9f360242c0a86003"

Metadata Destination Types

type valueDescriptionExtra fields
fileWrite JSON-lines to a filepath, format
mqttPublish to MQTT brokertopic, publish_frame (bool)
opcuaPublish via OPC UAserver configured by env vars
s3Write to S3/MinIOconfigured by env vars
influxdbWrite to InfluxDBconfigured by env vars

Frame Destination Types

type valueDescriptionAccess URL
rtspRTSP streamrtsp://<host>:8554/<path>
webrtcWebRTC streamhttp://<host>:8889

Pipeline Configuration Format

Pipeline definitions live in a config.json mounted into the container:

{
  "config": {
    "pipelines": [
      {
        "name": "my_pipeline",
        "source": "gstreamer",
        "queue_maxsize": 50,
        "pipeline": "{auto_source} ! decodebin3 ! videoconvert ! gvadetect name=detection model-instance-id=inst0 ! queue ! gvafpscounter ! gvametaconvert add-empty-results=true name=metaconvert ! gvametapublish name=destination ! appsink name=appsink",
        "parameters": {
          "type": "object",
          "properties": {
            "detection-properties": {
              "element": {
                "name": "detection",
                "format": "element-properties"
              }
            }
          }
        },
        "auto_start": false
      }
    ]
  }
}

Key Pipeline Server Elements

ElementPurpose
{auto_source}Auto-detect source based on REST request
udfloaderLoad Python User Defined Functions
appsinkApplication sink (required, name=appsink)

For DL Streamer inference, decode and metadata conversion and publishing elements see the dlstreamer-coding-agent skill.

Common Mistakes to Avoid

MistakeCorrect
Using RTSP/MQTT with GPU pipeline without buffer conversionAdd vapostproc ! video/x-raw before appsink
RTSP streaming with UDF loader (RGB/BGR format)Add videoconvert ! video/x-raw, format=(string)NV12 before appsink
Forgetting RENDER_GID for GPU/NPUExport RENDER_GID=$(stat -c "%g" /dev/dri/render* | head -1) before compose
Using wrong portREST API is on port 8080, RTSP on 8554
Not volume-mounting custom configMount via -v ../configs/my_config/config.json:/home/pipeline-server/config.json
Assuming NPU requires different containerSame container — set device=NPU

Example Scenarios

Read the matching example file — it contains the exact compact response format to follow:

FileCovers
example-prompts/detect-on-video-file.mdRun object detection on a local video file with CPU, stream results via RTSP
example-prompts/gpu-inference-mqtt.mdGPU-accelerated inference with MQTT metadata publishing

Procedure

Response Rules

  • Keep responses VERY short. No verbose explanations. Use bold labels + inline code.
  • Always include the full pipeline lifecycle in a single compact response: start service → launch pipeline (showing device + RTSP path in JSON) → RTSP URL → status check → stop command.
  • Never omit the status-check or delete steps.
  • Prefer single-line JSON in curl bodies. Omit optional fields (metadata destination) unless the user asks.
  • Target under 600 characters total in your response.

Execution Overview

  1. Gather requirements from user prompt (source, device, output type)
  2. Start the service (cd .../docker && docker compose up)
  3. POST to /pipelines/{name}/{version} with source + destination + parameters
  4. Show RTSP URL, status-check command, and stop command

GPU/NPU rules: For GPU/NPU inference or decodeing devices see the dlstreamer-coding-agent skill.

  • RTSP/MQTT with GPU: add vapostproc ! video/x-raw before appsink

Read reference files only when needed for advanced configuration details:


Every final answer must include: startup command, the curl POST with device and frame destination, the RTSP URL (rtsp://host:8554/stream-name), a status-check command (GET /pipelines/status), and a stop command (DELETE /pipelines/{instance_id}). Keep responses compact — use single-line JSON in curl commands when the body is short.

Frequently asked questions

What to verify before installation and use

What does the dlsps-user source document cover?

Set up and operate the DL Streamer Pipeline Server microservice for real-time video analytics — from starting the container through pipeline management via the REST API.

How do I install dlsps-user?

The source record exposes this install command: npx skills add https://github.com/open-edge-platform/edge-ai-libraries --skill "microservices/dlstreamer-pipeline-server/.github/skills/dlsps-user". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged write-files, read-files in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 973,093

NVIDIA/skills

vss-deploy-detection-tracking-2d

Use this skill when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice. Trigger when the user says things like 'deploy rtvi-cv', 'start warehouse 2d', 'add a stream', 'check rtvi-cv health', or 'stop the perception container'. Not for VLM, embedding, or analytics — use the matching vss-* skill.

Computed 97149

UiPath/skills

uipath-coded-apps

UiPath Coded Apps — scaffold, build, run, and deploy Coded Web Apps and Coded Action Apps: React/TypeScript apps that call UiPath Cloud APIs via the `@uipath/uipath-typescript` SDK and ship to Automation Cloud (push/pull to Studio Web, pack, publish, deploy, OAuth-PKCE). Also generates live analytics & governance dashboards from a plain-language request, wired to tenant data via the Insights real-time API, with edit and deploy flows. For RPA→uipath-rpa, Python agents→uipath-agents, Maestro flows

Computed 963,093

NVIDIA/skills

vss-deploy-detection-tracking-3d

Deploy and operate the RTVI-CV-3D microservice as MV3DT (`MODE=mv3dt`): per-camera DeepStream perception plus BEV Fusion over calibrated cameras. Supports the bundled sample dataset, custom video files, and RTSP streams, and chains to `vss-generate-video-calibration` when calibration is missing. Use `vss-deploy-profile` for the full warehouse blueprint and `vss-deploy-detection-tracking-2d` for single-camera 2D detection.

Computed 9324

datarobot-oss/datarobot-agent-skills

datarobot-predictions

Tools and guidance for making predictions with DataRobot deployments, including real-time predictions, batch scoring, prediction dataset generation, and prediction explanations (SHAP/XEMP). Use when making predictions, running batch scoring, generating prediction datasets, or explaining individual predictions from a deployment.