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/stefanthecode/dotnet-ai-toolkit/metrics-dashboard-generatornpx skills add StefanTheCode/dotnet-ai-toolkit --skill metrics-dashboard-generatorgit clone --depth 1 https://github.com/StefanTheCode/dotnet-ai-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/stefanthecode/dotnet-ai-toolkit/metrics-dashboard-generator)<a href="https://agentmods.dev/skills/stefanthecode/dotnet-ai-toolkit/metrics-dashboard-generator"><img src="https://agentmods.dev/badge/skills/stefanthecode/dotnet-ai-toolkit/metrics-dashboard-generator.svg" alt="Measured on agentmods" height="20"></a>What 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.00103 | $0.00637 |
| Opus 5 | $0.00051 | $0.00318 |
| Sonnet 5 | $0.00021 | $0.00127 |
| Haiku 4.5 | $0.00010 | $0.00064 |
Grade A, and why
metrics-dashboard-generator scanned grade A with 0 findings 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 5d ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 42 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Metrics Dashboard Generator
Produce ready-to-import Prometheus scrape config and a Grafana dashboard JSON for a .NET service — built around the RED method (Rate, Errors, Duration) plus runtime health and your custom meters.
Input — point it at your project
Works on a target: a project or GitHub URL. Find which metrics exist: grep -rn "AddPrometheusExporter\|MapPrometheusScrapingEndpoint\|Meter(\|CreateCounter\|CreateHistogram\|AddOpenTelemetry" --include=*.cs <target>. Note custom meter/instrument names to add panels for them.
Prometheus scrape
scrape_configs:
- job_name: 'orders-service'
metrics_path: /metrics
static_configs:
- targets: ['orders-service:8080']
Service side: OpenTelemetry ... .WithMetrics(m => m.AddPrometheusExporter()) + app.MapPrometheusScrapingEndpoint();.
Grafana dashboard (panels generated)
- Rate — requests/sec:
rate(http_server_request_duration_seconds_count[1m])by route. - Errors — 5xx ratio:
sum(rate(...{http_response_status_code=~"5.."}[5m])) / sum(rate(...[5m])). - Duration — p50/p95/p99:
histogram_quantile(0.95, sum(rate(http_server_request_duration_seconds_bucket[5m])) by (le, route)). - Runtime — GC collections, heap size, thread pool queue, working set (from
AddRuntimeInstrumentation). - Custom meters — a panel per custom counter/histogram you detected.
Output is a complete dashboard .json to import into Grafana, plus the scrape snippet.
Principles
- RED for request services, USE for resources — start there before vanity panels.
- Use histogram quantiles for latency, not averages (averages hide tail latency).
- Label by route/status, but watch cardinality — don't label by user id or raw path.
- Match metric names to the OTel/Prometheus conventions your exporter emits (verify the names).
How to use it & best prompts
"Generate a Grafana dashboard for my service", "Prometheus config + RED panels", "dashboard my custom order metrics", "p95 latency panel by route". Pairs with opentelemetry-setup.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 42 lines · 103 tokens per session scan A e4d603ec17d9
metrics-dashboard-generator is a skill published in the GitHub repository StefanTheCode/dotnet-ai-toolkit (19 stars, last pushed 27d ago), licensed MIT. It adds 103 tokens to every session and 637 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
agenttrace-session-audit
Audit local AI coding-agent sessions with agenttrace for cost, tool failures, latency, anomalies, health, diffs, and CI gates.
langsmith-observability
LLM observability platform for tracing, evaluation, and monitoring. Use when debugging LLM applications, evaluating model outputs against datasets, monitoring production systems, or building systematic testing pipelines for AI applications.
github-ci-fix-onboarding
Onboards and troubleshoots GitHub PR CI fixing by configuring GitHub CLI authentication, a non-exposed GitHub token, a matching local checkout, and a ready coding agent before running fixgithubprci. Use for first-time setup, failed prerequisites, demos, or action-shaped requests to onboard the user onto the local…
greptimedb-development-docker-image
Builds a development-only GreptimeDB Docker image from a local debug binary for local-cluster testing, and optionally pushes it to a development registry. Use when the user asks to package, build, tag, publish, or cross-build a non-release GreptimeDB or GreptimeDB Enterprise image for debugging.
greptimedb-release
Runbook for publishing a new GreptimeDB version (tag + GitHub release + docs release-note PR) on the upstream GreptimeTeam/greptimedb repo. Use when asked to "release" / "publish" a GreptimeDB version (e.g. v1.1.0, v1.0.3).
yandex-cloud
Read Yandex Cloud through its REST API. Applies to any question about VMs, metrics, logs, audit events, Kubernetes, managed databases, serverless, networking or any other Yandex Cloud resource. Never shell out to the yc CLI — it is not how this agent reaches Yandex Cloud and is usually not installed.