Test Minecraft Exporter
dirien/minecraft-prometheus-exporter
End-to-end docker-compose test harness for the minecraft-prometheus-exporter.
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…
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipe --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "metro-ai-app-recipe" agent skill from https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe into .claude/skills/metro-ai-app-recipe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metro-ai-app-recipe", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipe --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-suites.git skills-src && mkdir -p .agents/skills && cp -r skills-src/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe .agents/skills/metro-ai-app-recipe && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "metro-ai-app-recipe" agent skill from https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe into .agents/skills/metro-ai-app-recipe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metro-ai-app-recipe", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipe --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-suites.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe .cursor/skills/metro-ai-app-recipe && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "metro-ai-app-recipe" agent skill from https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe into .cursor/skills/metro-ai-app-recipe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metro-ai-app-recipe", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/open-edge-platform/edge-ai-suites.git --path metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipe --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-suites.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe .gemini/skills/metro-ai-app-recipe && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "metro-ai-app-recipe" agent skill from https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe into .gemini/skills/metro-ai-app-recipe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metro-ai-app-recipe", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-suites.git skills-src && mkdir -p .github/skills && cp -r skills-src/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe .github/skills/metro-ai-app-recipe && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "metro-ai-app-recipe" agent skill from https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe into .github/skills/metro-ai-app-recipe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metro-ai-app-recipe", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/edge-ai-suites --skill metro-ai-app-recipe -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-edge-platform/edge-ai-suites metro-ai-app-recipe --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-suites.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe .opencode/skills/metro-ai-app-recipe && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "metro-ai-app-recipe" agent skill from https://github.com/open-edge-platform/edge-ai-suites/tree/main/metro-ai-suite/metro-vision-ai-app-recipe/.github/skills/metro-ai-app-recipe into .opencode/skills/metro-ai-app-recipe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metro-ai-app-recipe", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
metro-ai-app-recipeStand 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. 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.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit decbb06. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dockercurlpytestpythonFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in 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).
From compatibility in the SKILL.md frontmatter.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
](references/INSTALL.md) | file layout, `.env`, `validate_env.sh` + rules, `install.sh`, `docker-compose.yml` volumes |}/`: `README.md`, `docker-compose.yml`, `.env`,- **Configuration** — key `.env` values (`HOST_IP`, GIDs, TURN creds) + how to1. `./install.sh` succeeds: `.env` populated; INT8 model + optional classifierlidate_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.
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.
.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.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.
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.
| Vertical | Example use-cases (each = one invoking prompt) |
|---|---|
| Smart city / ITS | person/vehicle detection, ANPR, smart-parking, wrong-way |
| Retail | customer counting, queue-length, shelf out-of-stock, dwell-time |
| Industrial / logistics | surface-defect, PPE compliance, zone intrusion, forklift tracking |
| Healthcare / facilities | fall detection, hand-hygiene, occupancy, perimeter intrusion |
| Custom | any 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.
references/DEMO_POC.md, skip questions 1–7; else
(microservice, the default full stack) continue.go/defaults/empty. Question 7 selects the Scenescape path.{{SCENESCAPE}}=yes; PIPELINE for GPU/NPU,
RTSP//dev/video, or classifier; NODE_RED for </<=/>= rules or a
non-empty {{CLASS_FILTER_IDS}}.benchmark.md); validate_env.sh is step 0 of
install.sh.| File | Load when authoring |
|---|---|
references/PIPELINE.md | DLSPS config.json, GPU/NPU variants (_gpu/_npu + group_add), input sources (file/RTSP/device), gvaclassify wiring, REST launcher, watchdog |
references/PROXY_UI.md | nginx.conf proxy (WHEP/WHIP + WebRTC-TCP), Grafana iframe panels, dashboard provisioning, Mosquitto |
references/NODE_RED.md | flows.json, MQTT wildcard, gva_meta probe, alert flow |
references/INSTALL.md | file layout, .env, validate_env.sh + rules, install.sh, docker-compose.yml volumes |
references/TESTS.md | conftest.py, test_webrtc_stream.py, assertion contracts |
references/SCENESCAPE.md | {{SCENESCAPE}}=yes only — multi-camera scene-fusion via scenescape-setup skill |
references/DEMO_POC.md | single-app packaging only ({{PACKAGING}}∈demo/function/port) — lightweight single-app path (DL Streamer or OpenVINO); no full stack |
| Param | Purpose |
|---|---|
{{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) |
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).
{{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){{CLASSIFIER}}] (or none)CPU/GPU/NPU/AUTO (I pick). Multi-vendor
noted as suggestions only; no platform/generation naming./dev/videoN / local
paths); sets INPUT_TYPE. RTSP/device are continuous → no sample-video
download, no file:// watchdog (see PIPELINE).{{DEFAULT_RULE}}, {{RULE_SCOPE}}]{{ALERT_TOPIC}}]{{SCENESCAPE}}, default no]
(if yes, also collect {{SCENE_NAME}} + one unique {{CAMERA_IDS}} per
input stream → references/SCENESCAPE.md)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.
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/">.
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}}=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.
: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-ubuntu24eclipse-mosquitto:2.1.2-alpinenodered/node-red:5.0.4nginx:1.31.3-alpinebluenviron/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 502intel/dlstreamer:2026.2.0-ubuntu24 (one-shot in install.sh: model dl + INT8 quantize + TLS cert)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:
./install.sh → docker compose up -d →
./sample_start.sh <cpu|gpu|npu>, plus stop/status scripts.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/..env values (HOST_IP, GIDs, TURN creds) + how to
swap the video source for RTSP.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.
compose pull 300 s;
compose up -d 120 s + 180 s healthy; each pytest 60 s.compose up: ss -ltn shows :80/:443 free, ss -lun shows
:3478 free (Coturn TURN).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.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)../.venv inside stack dir (python -m venv .venv) — system
pip is PEP-668 blocked; /tmp may be noexec.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 IRscenescape-setup — only when {{SCENESCAPE}}=yes (SCENESCAPE)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.
When
{{SCENESCAPE}}=yes, criteria 3–11 are superseded by the Scenescape criteria inreferences/SCENESCAPE.md; 1–2 still apply.
./install.sh succeeds: .env populated; INT8 model + optional classifier
IR under src/dlstreamer-pipeline-server/models/…; videos downloaded; TLS
cert with SAN../validate_env.sh cpu exits 0 with a valid .env;
HOST_IP=127.0.0.1 ./validate_env.sh cpu exits non-zero.docker compose up -d → all containers running/healthy (incl.
mediamtx-server, coturn).curl --cacert src/nginx/ssl/server.crt https://localhost/api/pipelines/status returns 3 variants../sample_start.sh <cpu|gpu|npu> launches {{NUM_SOURCES}} pipelines; none
QUEUED, all RUNNING.{{DETECTIONS_TOPIC_PREFIX}}_1..{{NUM_SOURCES}}/{{PIPELINE_NAME}}
(or _gpu/_npu) within 30 s.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.{{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).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.pytest -q tests/ passes; pytest --collect-only -q tests/ | tail -1
reports ≥ 9 tests collected (no empty stubs).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).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
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.
Open the folder on GitHubat commit decbb06
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Metro AI App Recipe this skillopen-edge-platform/edge-ai-suites | 140 | — | ~4.4k | Automated safety check: Notes | Apache-2.0 | |
| Test Minecraft Exporterdirien/minecraft-prometheus-exporter | 142 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Yolo Detection 2026 OpenvinoSharpAI/DeepCamera | 3.1k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Check Cross Runtimeayutaz/piper-plus | 234 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Oss Alternativestinyfish-io/tinyfish-cookbook | 2.2k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Warpnet Claude NodeWarp-net/warpnet | 157 | — | ~3k | Automated safety check: Pass | Custom licence |
dirien/minecraft-prometheus-exporter
End-to-end docker-compose test harness for the minecraft-prometheus-exporter.
SharpAI/DeepCamera
OpenVINO — real-time object detection via Docker (NCS2, Intel GPU, CPU)
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 ランタイム +…
tinyfish-io/tinyfish-cookbook
Find actively maintained open source alternatives to any paid SaaS tool or commercial API.
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.
docker/skills
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…
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.
open-edge-platform/edge-ai-suites
Ask a natural-language question against indexed content via the Content Search RAG Q&A endpoint.
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).
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.
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.
open-edge-platform/edge-ai-suites
Run, start, or smoke-test the Live Video Captioning app (Docker Compose stack with dashboard on :4173).
Categories
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.
Metro AI App Recipe fits situations like: tasks that involve Computer vision; tasks that involve Containers; tasks that involve Meeting notes and agendas.
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.
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.
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.
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)..
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.
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.
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.
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.
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.
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.