Agent skill

Metro AI App Recipe

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

Stand up a complete, ready-to-run computer-vision analytics stack on Intel hardware with one Docker Compose command — point it at your video sources and an OpenVINO/ONNX model to get live annotated…

Apache-2.0Auto-check: notesDevOps & Cloud

Install Metro AI App Recipe

skills CLI
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a claude-code

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

GitHub CLI
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipe --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-suites.git skills-src && mkdir -p .claude/skills && cp -r skills-src/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe .claude/skills/metro-ai-app-recipe && 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
metro-ai-app-recipe
GitHub stars
140
Token cost
~4.4k tokens
SKILL.md length
1,652 words
Files
16 (incl. references)
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Stand up a complete, ready-to-run computer-vision analytics stack on Intel hardware with one Docker Compose command — point it at your video sources and an OpenVINO/ONNX model to get live annotated…

  • Works in 6 steps: Read this file end-to-end. → Ask Question 0 (packaging) first. If… → Ask the 7 questions in ONE batched… → …
  • Tasks that involve Computer vision
  • SKILL.md covers When to use this skill, Supported verticals & use-cases, How to use this skill and Reference files (load on demand), plus 14 more sections
  • Calls docker, curl and pytest

What it does

Metro AI App Recipe is an agent skill from open-edge-platform/edge-ai-suites. Stand up a complete, ready-to-run computer-vision analytics stack on Intel hardware with one Docker Compose command — point it at your video sources and an OpenVINO/ONNX model to get live annotated WebRTC video plus real-time detection dashboards and alerts (object detection, classification, counting, or zone/line-crossing) for any vertical, with no glue code. See "When to use this skill" for the full component list, trigger conditions, and boundaries.

Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including reference files (for example `benchmark/benchmark.md`, `evals/evals.json` and `evals/skillspector-baseline.yaml`). Compatibility notes: Requires Docker + Docker Compose v2, host with Intel CPU (and optionally Intel GPU/NPU with video/render groups), outbound network access to Docker Hub…

It sits in DevOps & Cloud, covering Computer vision, Containers and Meeting notes and agendas. It works with Docker and ONNX. The repository describes itself as: A curated collection of sample applications intended for reference in developing optimized AI solutions and testing hardware performance across various industry use cases. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Computer vision
  • Tasks that involve Containers
  • Tasks that involve Meeting notes and agendas

Example prompts

  • “When to use this skill”
  • “/metro-ai-app-recipe”

Requirements

  • Docker
  • Compatibility (from SKILL.md): Requires Docker + Docker Compose v2, host with Intel CPU (and optionally Intel GPU/NPU with `video`/`render` groups), outbound network access to Docker Hub, ghcr.io, and github.com (for model + sample video downloads). Ports 80 and 443 (Nginx) plus 3478/udp (Coturn TURN) must be free on the host; WebRTC also publishes MediaMTX port 8189 (tcp+udp) for ICE, with signalling proxied via Nginx. Tested with the open-edge-platform Metro Vision AI App Recipe reference (v2026.2.0 image tags).

Workflow steps

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

  1. Read this file end-to-end.
  2. Ask Question 0 (packaging) first. If demo/function/port (single-app
  3. Ask the 7 questions in ONE batched message (defaults in brackets); accept
  4. Run parameter validation (below); refuse to proceed on any failure.
  5. Load reference file(s) on demand — not all up front (per the *Reference
  6. Verify against completion criteria before declaring success (record

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • docker
    • curl
    • pytest
    • python

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

  • Network

    No URLs in SKILL.md. Its commands use docker and curl, 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.

  • Compatibility

    Requires Docker + Docker Compose v2, host with Intel CPU (and optionally Intel GPU/NPU with `video`/`render` groups), outbound network access to Docker Hub, ghcr.io, and github.com (for model + sample video downloads). Ports 80 and 443 (Nginx) plus 3478/udp (Coturn TURN) must be free on the host; WebRTC also publishes MediaMTX port 8189 (tcp+udp) for ICE, with signalling proxied via Nginx. Tested with the open-edge-platform Metro Vision AI App Recipe reference (v2026.2.0 image tags).

    From compatibility in the SKILL.md frontmatter.

Context cost

Metro AI App Recipe loads about 4.4k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 1,652 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:83
    ](references/INSTALL.md) | file layout, `.env`, `validate_env.sh` + rules, `install.sh`, `docker-compose.yml` volumes |
  • NoteMentions a .env fileSKILL.md:191
    }/`: `README.md`, `docker-compose.yml`, `.env`,
  • NoteMentions a .env fileSKILL.md:208
    - **Configuration** — key `.env` values (`HOST_IP`, GIDs, TURN creds) + how to
  • NoteMentions a .env fileSKILL.md:258
    1. `./install.sh` succeeds: `.env` populated; INT8 model + optional classifier
  • NoteMentions a .env fileSKILL.md:261
    lidate_env.sh cpu` exits 0 with a valid `.env`;

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from open-edge-platform/edge-ai-suites at commit decbb06, republished under its Apache-2.0 licence (© open-edge-platform). 1,652 words, ~4,419 tokens.

Download SKILL.mdSave it as .claude/skills/metro-ai-app-recipe/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
metro-ai-app-recipe
description
Stand up a complete, ready-to-run computer-vision analytics stack on Intel hardware with one Docker Compose command — point it at your video sources and an OpenVINO/ONNX model to get live annotated WebRTC video plus real-time detection dashboards and alerts (object detection, classification, counting, or zone/line-crossing) for any vertical, with no glue code. See "When to use this skill" for the full component list, trigger conditions, and boundaries.
compatibility
Requires Docker + Docker Compose v2, host with Intel CPU (and optionally Intel GPU/NPU with `video`/`render` groups), outbound network access to Docker Hub, ghcr.io, and github.com (for model + sample video downloads). Ports 80 and 443 (Nginx) plus 3478/udp (Coturn TURN) must be free on the host; WebRTC also publishes MediaMTX port 8189 (tcp+udp) for ICE, with signalling proxied via Nginx. Tested with the open-edge-platform Metro Vision AI App Recipe reference (v2026.2.0 image tags).
license
Apache-2.0

Metro AI App Recipe — DLSPS + WebRTC + Mosquitto + Node-RED + Grafana + Nginx

Build an end-to-end {{OBJECT}}-analytics stack on Intel hardware in ./{{STACK_DIR}}/ with Docker Compose. Vertical-agnostic: the same seven-container topology serves any DL Streamer / OpenVINO CV pipeline — only the model, class filter, alert rule, dashboard, and topics differ. Follows the open-edge-platform Metro Vision AI App Recipe MediaMTX + Coturn + WebRTC path, streamlined (no Prometheus/OTel). Scenescape is off by default (opt-in multi-camera analysis). Data-flow and routing are detailed in Reference architecture below.

When to use this skill

Use when building an object-detection, classification, object-counting, or zone/line-crossing alerting pipeline for any vertical (see table below). Optionally adds a Scenescape multi-camera path, or a lightweight demo/PoC single app when no full stack is needed.

Not for: non-Intel or cloud-only deployments, Prometheus/OpenTelemetry metrics stacks, or training/exporting models.

Supported verticals & use-cases

VerticalExample use-cases (each = one invoking prompt)
Smart city / ITSperson/vehicle detection, ANPR, smart-parking, wrong-way
Retailcustomer counting, queue-length, shelf out-of-stock, dwell-time
Industrial / logisticssurface-defect, PPE compliance, zone intrusion, forklift tracking
Healthcare / facilitiesfall detection, hand-hygiene, occupancy, perimeter intrusion
Customany OpenVINO IR / ONNX detector + optional classifier

The invoking prompt maps its vertical to concrete {{OBJECT}}, {{PIPELINE_NAME}}, {{DEFAULT_MODEL}}, {{DEFAULT_RULE}}, {{DASHBOARD_SLUG}} — nothing else changes.

How to use this skill

  1. Read this file end-to-end.
  2. Ask Question 0 (packaging) first. If demo/function/port (single-app path), branch to Demo/PoC mode + load references/DEMO_POC.md, skip questions 1–7; else (microservice, the default full stack) continue.
  3. Ask the 7 questions in ONE batched message (defaults in brackets); accept go/defaults/empty. Question 7 selects the Scenescape path.
  4. Run parameter validation (below); refuse to proceed on any failure.
  5. Load reference file(s) on demand — not all up front (per the Reference files table): Scenescape when {{SCENESCAPE}}=yes; PIPELINE for GPU/NPU, RTSP//dev/video, or classifier; NODE_RED for </<=/>= rules or a non-empty {{CLASS_FILTER_IDS}}.
  6. Verify against completion criteria before declaring success (record throughput/latency vs benchmark.md); validate_env.sh is step 0 of install.sh.

Reference files (load on demand)

FileLoad when authoring
references/PIPELINE.mdDLSPS config.json, GPU/NPU variants (_gpu/_npu + group_add), input sources (file/RTSP/device), gvaclassify wiring, REST launcher, watchdog
references/PROXY_UI.mdnginx.conf proxy (WHEP/WHIP + WebRTC-TCP), Grafana iframe panels, dashboard provisioning, Mosquitto
references/NODE_RED.mdflows.json, MQTT wildcard, gva_meta probe, alert flow
references/INSTALL.mdfile layout, .env, validate_env.sh + rules, install.sh, docker-compose.yml volumes
references/TESTS.mdconftest.py, test_webrtc_stream.py, assertion contracts
references/SCENESCAPE.md{{SCENESCAPE}}=yes only — multi-camera scene-fusion via scenescape-setup skill
references/DEMO_POC.mdsingle-app packaging only ({{PACKAGING}}∈demo/function/port) — lightweight single-app path (DL Streamer or OpenVINO); no full stack

Parameters (from invoking prompt)

ParamPurpose
{{PACKAGING}}demo | function | microservice | port (default microservice). demo/function/port = single-app path (DEMO_POC); microservice = full stack (rows below are microservice-only)
{{MODE}}Back-compat alias derived from {{PACKAGING}}: demo (single-app) | production (= microservice)
{{HW_TARGET}}Intel inference device: CPU|GPU|NPU|AUTO (default CPU; AUTO = pick). Drives sample_start.sh <cpu|gpu|npu> + _gpu/_npu variants; no platform/generation naming
{{OBJECT}}class label in dashboard/alerts (e.g. person, vehicle, defect, fall); any MQTT/Grafana-safe string
{{STACK_DIR}}e.g. person-detect-stack, ppe-compliance-stack, anpr-stack
{{DEFAULT_MODEL}}, {{OTHER_MODELS}}allowed model options; when auto, suggest from OpenVINO / Intel / Metro Analytics Catalog HF collections per a performance goal
{{PIPELINE_NAME}}canonical DLSPS pipeline name (e.g. yolov11s); variants <name>/_gpu/_npu; topic {{DETECTIONS_TOPIC_PREFIX}}_X/<name>
{{CLASSIFIER}}secondary model or none; if set, also {{CLASSIFIER_URL}} + {{CLASSIFIER_XML}}
{{CLASS_FILTER_IDS}}JSON array of class IDs to keep ([]=all). Filtered in Node-RED
{{DEFAULT_RULE}}e.g. count>2 in 10s; parses to {{RULE_OP}}∈>,>=,<,<=, {{RULE_N}}, {{RULE_WINDOW_S}} (see NODE_RED)
{{RULE_SCOPE}}per-source | aggregate (default per-source)
{{ALERT_TOPIC}}e.g. alerts/{{OBJECT}}
{{DETECTIONS_TOPIC_PREFIX}}e.g. object_detection (per-source _1, _2, …)
{{COUNT_TOPIC}}e.g. stats/{{OBJECT}}_count
{{LABEL_RULE_NOTE}}model-specific classification note for Node-RED
{{DASHBOARD_SLUG}}e.g. smart-parking
{{NUM_SOURCES}}default 4
{{SCENESCAPE}}yes | no (default no). yes = multi-camera path (SCENESCAPE)
{{SCENE_NAME}}(Scenescape only) scene name, e.g. intersection-1
{{CAMERA_IDS}}(Scenescape only) unique IDs (no /), one per input stream, in input order
{{TURN_USER}}, {{TURN_PASS}}Coturn / MediaMTX ICE credentials (default turnuser / a generated secret)

Questions (single batched prompt)

Question 0 — Packaging [microservice]: demo/function/port (single-app: PoC, one-shot job, or migrate a pipeline) or microservice (full stack, default). For demo/function/port, STOP → follow Demo/PoC mode; skip questions 1–7 (microservice only).

  1. Model [{{DEFAULT_MODEL}}] (also: {{OTHER_MODELS}}; or auto — give a performance goal, I'll suggest one from the OpenVINO / Intel / Metro Analytics Catalog HF collections via model-download)
  2. Classifier [{{CLASSIFIER}}] (or none)
  3. Target hardware [CPU] — Intel CPU/GPU/NPU/AUTO (I pick). Multi-vendor noted as suggestions only; no platform/generation naming.
  4. Inputs [{{NUM_SOURCES}}× sample-video] (or RTSP URLs / /dev/videoN / local paths); sets INPUT_TYPE. RTSP/device are continuous → no sample-video download, no file:// watchdog (see PIPELINE).
  5. Node-RED rule [{{DEFAULT_RULE}}, {{RULE_SCOPE}}]
  6. Alert channel [MQTT {{ALERT_TOPIC}}]
  7. Scenescape multi-camera spatial analysis? [{{SCENESCAPE}}, default no] (if yes, also collect {{SCENE_NAME}} + one unique {{CAMERA_IDS}} per input stream → references/SCENESCAPE.md)

Parameter validation (enforce BEFORE install.sh runs)

Ship validate_env.sh and call it as step 0 of install.sh; reject on any failure. The script body and full validation rules table (PACKAGING/MODE, HOST_IP, NUM_SOURCES, HW_TARGET/DEVICE, PIPELINE_NAME, topics, TURN creds, inputs, Scenescape params, …) are in references/INSTALL.md; validate {{PACKAGING}} ∈ demo/function/microservice/port and {{HW_TARGET}} ∈ CPU/GPU/NPU/AUTO.

Reference architecture

Single Compose network app_network. Nginx publishes 80/443; Coturn also publishes 3478/udp (WebRTC TURN). Nginx reverse-proxies DLSPS REST, Grafana, Node-RED, and MediaMTX WHEP/WHIP signalling (ICE 8189) — full route map in references/PROXY_UI.md. Data: DLSPS→MQTT→Mosquitto→Node-RED→Grafana; DLSPS→WHIP→MediaMTX (peer-id {{DETECTIONS_TOPIC_PREFIX}}_N, ICE/TURN via Coturn); Grafana embeds <iframe src="/mediamtx/{{DETECTIONS_TOPIC_PREFIX}}_N/">.

Demo/PoC mode

When Question 0 selects demo/function/port (single-app packaging), do not build the full stack — produce one lightweight app proving a model runs on Intel HW (DL Streamer app or minimal OpenVINO script). Follow references/DEMO_POC.md (load only on this branch); production criteria (1–11) do not apply.

Scenescape spatial-analysis path (optional, {{SCENESCAPE}}=yes)

When Question 7 selects Scenescape, branch: keep the DLSPS detection pipeline but replace the MediaMTX/WebRTC + Node-RED + Grafana-MQTT tail with an Intel® Scenescape multi-camera scene-fusion stack. Do not re-implement by hand — delegate to scenescape-setup, passing {{SCENE_NAME}} + {{CAMERA_IDS}}. Architecture, images, validation, criteria in references/SCENESCAPE.md; load only on this branch. Default ({{SCENESCAPE}}=no) path is unchanged.

Images — pin to the latest available tag (never :latest)

Resolve each image to the newest published stable tag on Docker Hub (query the repo's tags API with ordering=last_updated), pin it, and ignore *-weekly pre-releases. Grafana is the one exception: keep it pinned to 11.5.4 (the MQTT datasource plugin only works on that tag).

  • intel/dlstreamer-pipeline-server:2026.2.0-ubuntu24
  • eclipse-mosquitto:2.1.2-alpine
  • nodered/node-red:5.0.4
  • nginx:1.31.3-alpine
  • bluenviron/mediamtx:1.20.0 (WebRTC: WHIP in, WHEP out)
  • coturn/coturn:4.17.0 (ICE/TURN)
  • grafana/grafana:11.5.4 (pinned — do not upgrade) with GF_INSTALL_PLUGINS="grafana-mqtt-datasource 1.3.3,yesoreyeram-infinity-datasource 3.11.1" — a bad plugin version kills the container → Nginx 502
  • intel/dlstreamer:2026.2.0-ubuntu24 (one-shot in install.sh: model dl + INT8 quantize + TLS cert)
Show full SKILL.md (637 more words)Show less

Layout (flat)

Generate a flat {{STACK_DIR}}/: README.md, docker-compose.yml, .env, validate_env.sh, install.sh, sample_*.sh/update_dashboard.sh, a src/ tree (per-service dirs), and tests/. Full annotated tree in references/INSTALL.md.

README.md (required content)

The generated README.md MUST document, at minimum:

  • Architecture — the data + video flow from Reference architecture above; include the ASCII diagram + seven containers.
  • Quick start — ./install.sh → docker compose up -d → ./sample_start.sh <cpu|gpu|npu>, plus stop/status scripts.
  • Access URLs + credentials — dashboard https://<HOST_IP>/grafana/ (Grafana login admin/admin, change on first login), DLSPS REST https://<HOST_IP>/api/pipelines, WHEP https://<HOST_IP>/mediamtx/{{DETECTIONS_TOPIC_PREFIX}}_N/.
  • Configuration — key .env values (HOST_IP, GIDs, TURN creds) + how to swap the video source for RTSP.

Template variable substitution

Substitute every {{VAR}} with its concrete value BEFORE writing any file — a literal {{...}} left in nginx.conf, config.json, flows.json, the dashboard JSON, or a test is a syntax error.

Execution guardrails

  • Hard timeouts: model dl+INT8 300 s; video dl 120 s/file; compose pull 300 s; compose up -d 120 s + 180 s healthy; each pytest 60 s.
  • Max 2 retries per step, then STOP and print last 30 log lines from the failing container. Never loop.
  • Before compose up: ss -ltn shows :80/:443 free, ss -lun shows :3478 free (Coturn TURN).
  • Bypass host proxy for all localhost/LAN curl — corporate proxies route https://localhost/... through an unreachable proxy (→ Could not resolve host / 502). Every curl in sample_*.sh MUST use --noproxy '*' + --cacert src/nginx/ssl/server.crt (generated by install.sh); tests set NO_PROXY=* in conftest.py.
  • Test WebRTC signalling with the criterion-7 curl (expect 200; stream exists only after sample_start.sh). Test MQTT via docker run --rm --network <project>_app_network eclipse-mosquitto:2.1.2-alpine mosquitto_sub -h broker -t '#' -v (tag 2.1.2-alpine is an intentional pin — never :latest).
  • pytest venv at ./.venv inside stack dir (python -m venv .venv) — system pip is PEP-668 blocked; /tmp may be noexec.

Optional external skills

If available, invoke; otherwise write files from the reference templates.

  • dlstreamer-coding-agent — pipeline JSON (+ single-app DL Streamer app when {{PACKAGING}}∈demo/function/port)
  • dlsps-user — DLSPS deploy/config/REST; default production path (PIPELINE)
  • model-download — OMZ model IR
  • scenescape-setup — only when {{SCENESCAPE}}=yes (SCENESCAPE)

Reference implementation

The upstream smart-parking/src/ recipe uses the same path — consult it for config.json, mosquitto.conf, nginx.conf, datasources.yml, dashboards.yml, flows.json shapes; drop prometheus/otel-collector/metrics-manager.

Completion criteria (all must pass)

When {{SCENESCAPE}}=yes, criteria 3–11 are superseded by the Scenescape criteria in references/SCENESCAPE.md; 1–2 still apply.

  1. ./install.sh succeeds: .env populated; INT8 model + optional classifier IR under src/dlstreamer-pipeline-server/models/…; videos downloaded; TLS cert with SAN.
  2. ./validate_env.sh cpu exits 0 with a valid .env; HOST_IP=127.0.0.1 ./validate_env.sh cpu exits non-zero.
  3. docker compose up -d → all containers running/healthy (incl. mediamtx-server, coturn).
  4. curl --cacert src/nginx/ssl/server.crt https://localhost/api/pipelines/status returns 3 variants.
  5. ./sample_start.sh <cpu|gpu|npu> launches {{NUM_SOURCES}} pipelines; none QUEUED, all RUNNING.
  6. Detections arrive on {{DETECTIONS_TOPIC_PREFIX}}_1..{{NUM_SOURCES}}/{{PIPELINE_NAME}} (or _gpu/_npu) within 30 s.
  7. curl --cacert src/nginx/ssl/server.crt https://localhost/mediamtx/{{DETECTIONS_TOPIC_PREFIX}}_1/ returns 200 (WHEP HTML) once pipelines run; MediaMTX logs show the WHIP publisher connected per peer-id.
  8. Node-RED publishes JSON {{ALERT_TOPIC}} and scalar {{COUNT_TOPIC}} / stats/alert_active / stats/alert_total per {{RULE_SCOPE}}; mosquitto_sub -t '{{COUNT_TOPIC}}/#' -C 1 MUST parse as int() (JSON breaks Grafana plotting).
  9. Grafana at https://localhost/grafana (admin/admin) shows live {{OBJECT}} counts + alert data and {{NUM_SOURCES}} <iframe> WebRTC panels (GF_SECURITY_ALLOW_EMBEDDING=true). MQTT datasource health (/grafana/api/datasources/uid/mqtt_ds/health) MUST return "MQTT Connected" — broker in jsonData.uri (tcp://broker:1883), not url:. Blank-panel / redirect-loop fixes: references/PROXY_UI.md.
  10. pytest -q tests/ passes; pytest --collect-only -q tests/ | tail -1 reports ≥ 9 tests collected (no empty stubs).
  11. Watchdog continuity (file:// sources): after video-length + 30 s, /api/pipelines/status shows {{NUM_SOURCES}} RUNNING (COMPLETED history is fine), WebRTC re-establishes, MQTT still flowing (>{{NUM_SOURCES}} RUNNING = missing watchdog dedup guard).

Final summary — surface the proof (don't just name files)

Graders see only your final message + tool names, not file contents. An expectation counts as met only if you state it and quote the one decisive line in your closing summary — walk every completion criterion plus the proof-point checklist (topology, WebRTC, pinned tags, MQTT/class filter, no literal {{...}}, certs, curl guards, watchdog, rule, classifier, Scenescape) detailed in references/INSTALL.md → Final-summary proof points. A claim with no quoted evidence is treated as unmet.

© 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 15 other files (references) in metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe of open-edge-platform/edge-ai-suites.

  • SKILL.md
  • benchmark/benchmark.md
  • evals/evals.json
  • evals/skillspector-baseline.yaml
  • example-prompts/01-person-detection-smart-city.md
  • example-prompts/02-ppe-compliance-gpu-classifier.md
  • example-prompts/03-smart-parking-rtsp.md
  • example-prompts/04-scenescape-multicamera.md
  • example-prompts/05-prometheus-otel-cloud-negative.md
  • references/DEMO_POC.md
  • references/INSTALL.md
  • references/NODE_RED.md
  • references/PIPELINE.md
  • references/PROXY_UI.md
  • references/SCENESCAPE.md
  • references/TESTS.md

Open the folder on GitHubat commit decbb06

Compare with similar skills

Metro AI App Recipe 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.

Metro AI App Recipe compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Metro AI App Recipe this skillopen-edge-platform/edge-ai-suites140—~4.4kAutomated safety check: NotesApache-2.0
Test Minecraft Exporterdirien/minecraft-prometheus-exporter142—~1.6kAutomated safety check: PassApache-2.0
Yolo Detection 2026 OpenvinoSharpAI/DeepCamera3.1k—~1.3kAutomated safety check: PassMIT
Check Cross Runtimeayutaz/piper-plus234—~3.5kAutomated safety check: PassMIT
Oss Alternativestinyfish-io/tinyfish-cookbook2.2k—~2.2kAutomated safety check: PassMIT
Warpnet Claude NodeWarp-net/warpnet157—~3kAutomated safety check: PassCustom licence

Similar skills

  • Test Minecraft Exporter

    dirien/minecraft-prometheus-exporter

    End-to-end docker-compose test harness for the minecraft-prometheus-exporter.

    142 GitHub stars~1.6k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • OpenVINO — real-time object detection via Docker (NCS2, Intel GPU, CPU)

    3.1k GitHub stars~1.3k tokensUpdated 24 days ago
    AI & LLM EngineeringAuto-check passed
  • Check Cross Runtime

    ayutaz/piper-plus

    Python canonical (src/pythonrun/piperplus/, src/python/pipertrain/, src/python/g2p/piperplusg2p/) を変更した PR で、 ONNX I/O 以外の追随漏れ (phonemizer / config schema / CLI flag / data 形式 / API 変更) を 7 ランタイム +…

    234 GitHub stars~3.5k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Oss Alternatives

    tinyfish-io/tinyfish-cookbook

    Find actively maintained open source alternatives to any paid SaaS tool or commercial API.

    2.2k GitHub stars~2.2k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Warpnet Claude Node

    Warp-net/warpnet

    A skill your agent uses to stand up, log into, or tear down your own Warpnet node — the Claude account on the NODESEED=claude node, running from Dockerfile.remote on testnet.

    157 GitHub stars~3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Docker Agent Run

    docker/skills

    Official

    A skill your agent uses when running a Docker Agent with docker agent run, choosing a safety/approval mode, using the --sandbox isolation flag, setting up aliases, or troubleshooting a run (missing…

    552 GitHub stars~2.2k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed

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

All 13 skills in this repo
  • Onboarding Validation

    open-edge-platform/edge-ai-suites

    Validate the get-started experience of Open Edge Platform (OEP) software components from the perspective of a first-time user.

    140 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Sc QA

    open-edge-platform/edge-ai-suites

    Ask a natural-language question against indexed content via the Content Search RAG Q&A endpoint.

    140 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Sc Upload

    open-edge-platform/edge-ai-suites

    Upload a file to the Content Search backend and poll the ingestion task until the file is fully indexed (status COMPLETED).

    140 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Uav Vision Analytics

    open-edge-platform/edge-ai-suites

    Build an end-to-end UAV object detection and telemetry overlay application on Intel hardware using DL Streamer Pipeline Server with MAVLink telemetry.

    140 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Knowledgebase

    open-edge-platform/edge-ai-suites

    Generic RAG query skill - Retrieve any information from the local knowledge base and generate structured reports, summaries, or Q&A responses.

    140 GitHub stars~900 tokensUpdated yesterday
    Auto-check passed
  • Lvc Run App

    open-edge-platform/edge-ai-suites

    Run, start, or smoke-test the Live Video Captioning app (Docker Compose stack with dashboard on :4173).

    140 GitHub stars~796 tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Metro AI App Recipe

What does Metro AI App Recipe do?

Stand up a complete, ready-to-run computer-vision analytics stack on Intel hardware with one Docker Compose command — point it at your video sources and an OpenVINO/ONNX model to get live annotated…. Metro AI App Recipe is an agent skill from open-edge-platform/edge-ai-suites. Stand up a complete, ready-to-run computer-vision analytics stack on Intel hardware with one Docker Compose command — point it at your video sources and an OpenVINO/ONNX model to get live annotated WebRTC video plus real-time detection dashboards and alerts (object detection, classification, counting, or zone/line-crossing) for any vertical, with no glue code.

When should I use Metro AI App Recipe?

Metro AI App Recipe fits situations like: tasks that involve Computer vision; tasks that involve Containers; tasks that involve Meeting notes and agendas.

How do I install Metro AI App Recipe in Claude Code?

Run `npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a claude-code`. Or copy the skill folder (metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe in open-edge-platform/edge-ai-suites) into .claude/skills/metro-ai-app-recipe in your project. Claude Code loads it when a task matches its description.

How do I install Metro AI App Recipe in Codex?

Run `npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a codex`. Or copy the skill folder (metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe in open-edge-platform/edge-ai-suites) into .agents/skills/metro-ai-app-recipe in your project. Codex loads it when a task matches its description.

Can I use Metro AI App Recipe 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-suites --skill metro-ai-app-recipe -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/metro-ai-app-recipe, .gemini/skills/metro-ai-app-recipe, .github/skills/metro-ai-app-recipe and .opencode/skills/metro-ai-app-recipe in your project.

What does Metro AI App Recipe need to run?

Going by SKILL.md and its folder, Metro AI App Recipe needs the command-line tools its instructions call (docker, curl, pytest and python). Our summary lists: Docker. Compatibility (from SKILL.md): Requires Docker + Docker Compose v2, host with Intel CPU (and optionally Intel GPU/NPU with `video`/`render` groups), outbound network access to Docker Hub, ghcr.io, and github.com (for model + sample video downloads). Ports 80 and 443 (Nginx) plus 3478/udp (Coturn TURN) must be free on the host; WebRTC also publishes MediaMTX port 8189 (tcp+udp) for ICE, with signalling proxied via Nginx. Tested with the open-edge-platform Metro Vision AI App Recipe reference (v2026.2.0 image tags)..

Does Metro AI App Recipe access the network?

SKILL.md contains no URLs. Its commands use docker and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Metro AI App Recipe safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Metro AI App Recipe use?

Metro AI App Recipe 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 Metro AI App Recipe use?

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

What are the alternatives to Metro AI App Recipe?

Skills that share tags, products or a category with Metro AI App Recipe: Test Minecraft Exporter (dirien/minecraft-prometheus-exporter, 142 stars), Yolo Detection 2026 Openvino (SharpAI/DeepCamera, 3.1k stars), Check Cross Runtime (ayutaz/piper-plus, 234 stars) and Oss Alternatives (tinyfish-io/tinyfish-cookbook, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Metro AI App Recipe?

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

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