Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/streamer45/streamkit/observability-stacknpx skills add streamer45/streamkit --skill observability-stackgit clone --depth 1 https://github.com/streamer45/streamkitWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00061 | $0.00893 |
| Opus 5 | $0.00030 | $0.00447 |
| Sonnet 5 | $0.00012 | $0.00179 |
| Haiku 4.5 | $0.00006 | $0.00089 |
Grade A, and why
observability-stack scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s localhost:9090/api/v1/label/__name__/values | jq -r '.data[]' | sort How it starts
The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Observability stack (local)
samples/observability/ is a docker compose stack that runs skit + Prometheus
- Grafana (and an optional speech gateway), auto-provisioning both bundled dashboards. Use it to validate metrics and dashboards without any cloud setup.
Run it
cd samples/observability
docker compose up -d
./generate-traffic.sh # direct-to-skit TTS+STT
# optional gateway row (overlay adds the service + its Prometheus scrape):
docker compose -f docker-compose.yml -f docker-compose.gateway.yml up -d --build
./generate-traffic.sh --gateway
Grafana: http://localhost:3000 (anonymous admin). Prometheus: http://localhost:9090. skit: http://localhost:4545.
How metrics flow
- skit → Prometheus via OTLP push. Prometheus runs with
--web.enable-otlp-receiver; skit'sSK_TELEMETRY__OTLP_ENDPOINTpoints at…/api/v1/otlp/v1/metrics. There is no scrape job for skit. - gateway → Prometheus via scrape of the gateway's
/metrics.
Validate dashboards (don't just eyeball)
OTLP renames dotted metrics and appends unit suffixes, so verify the metric names/labels the panels query actually exist before trusting a panel:
# list all metric names Prometheus knows about
curl -s localhost:9090/api/v1/label/__name__/values | jq -r '.data[]' | sort
# run a panel's exact PromQL and count series (0 == panel will be "No data")
curl -s --data-urlencode 'query=<promql>' localhost:9090/api/v1/query \
| jq '.data.result | length'
# inspect a metric's labels
curl -s 'localhost:9090/api/v1/series?match[]=<metric>' | jq
Key name/label facts:
- Plugin metrics:
plugin_call_duration_seconds_*(unit suffix present),plugin_calls_total; labelsplugin_kind,op. oneshot_pipeline_duration_*has no_secondssuffix (no unit set); labelsstatus, andserviceonly when the pipeline declaresattributes: { service: ... }and a service-label-aware skit has the matching[server.metrics.attributes.service]policy enabled.- Gateway:
gateway_requests_total{endpoint,code},gateway_request_duration_seconds,gateway_rejected_total{reason}(only appears after a 413/415/502 actually occurs).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 83 lines · 61 tokens per session scan A a39fd27c0eb1
observability-stack is a skill published in the GitHub repository streamer45/streamkit (21 stars, last pushed 8d ago), licensed MPL-2.0. It adds 61 tokens to every session and 893 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
moq
Build live video, audio, and real-time data apps with Media over QUIC (MoQ). Use when adding live streaming, conferencing, voice AI, or real-time pub/sub to an app; when integrating the @moq/ npm packages, moq- Rust crates, or the Python/Kotlin/Swift/Go/C bindings; or when running a moq-relay server or a gateway…
beava-pr-review
Reviews a beava PR diff for real bugs, beava-specific architectural invariants, and AI-generated "slop" patterns (hollow code, phantom imports, inflated comments, disconnected pipelines). Produces a structured BLOCK / WARN / NIT report keyed by file:line. Use when asked to "review this PR", "check for AI slop", "PR…
beava-design
Use this skill to generate well-branded interfaces and assets for beava (beava.dev, an open-source single-binary feature server for stream processing), either for production or throwaway prototypes/mocks/etc. Contains essential design guidelines, colors, type, fonts, assets, and UI kit components for prototyping.
beava-design
Use this skill to generate well-branded interfaces and assets for beava (beava.dev, an open-source single-binary feature server for stream processing), either for production or throwaway prototypes/mocks/etc. Contains essential design guidelines, colors, type, fonts, assets, and UI kit components for prototyping.
lint-js
Lint JS/TS code only. Use before opening a PR when only JavaScript or TypeScript files were changed (no Rust).
pr-description
Update a GitHub PR description with a summary of changes.