grafana-dashboards — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited grafana-dashboards (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Before writing any dashboard JSON or panel query:
by exploring the environment: kubectl get svc -A, existing Grafana datasource config, in-cluster DNS, port-forwards, environment variables.
committing it to a panel. A query that returns no data or an error must be fixed or escalated — never silently written into a dashboard.
Never write a panel with an unvalidated query.
Stat panels covering the most critical KPIs for the subject domain.background color mode, not value.Text panels as H2-level row headers to divide logical groups(e.g., "Ingestion", "Query Latency", "Error Budget", "Cardinality").
Top → aggregate health Middle → per-component or per-service breakdown Bottom → raw logs and traces panels
datasource type: datasource query: prometheus
cluster type: query query: label_values(up, cluster)
namespace type: query chained on $cluster
interval type: interval values: 1m,5m,15m,30m,1h$datasource — never hardcoded datasource UIDs.{cluster="$cluster", namespace="$namespace"}.$cluster, $namespace, and the current time rangeinto the target dashboard via variable interpolation.
$__rate_interval for rate() and increase() — never hardcoded windows.tail latency and produce misleading on-call signals.
I do if it's red?"
Every panel must have explicit units — never leave units as "short" or unset.
| Signal | Unit |
|---|---|
| Latency | ms or s |
| Throughput | reqps |
| Memory/Disk | bytes (Grafana auto-scales) |
| CPU | percent (0-100) or cores |
| Error rate | percent (0.0-1.0) or pps |
fill below to 0 forerror rate bands.
background color mode for header KPIs; settransparent: true so background colors pop.
Classic palette.red=#F2495C, yellow=#FFB357, green=#73BF69.A dashboard passes if an on-call engineer can determine whether the system is healthy within 5 seconds of opening it.
Design every dashboard to this standard:
No value — never blank.Every high-level summary panel should link forward to detail. Examples:
Links must use variable interpolation ($cluster, $namespace, current time range). Never hardcode a time range or UID in a data link.
/api/dashboards/db or applyvia the Grafana operator GrafanaDashboard CRD.
When the Grafana MCP is available in context, prefer creating/updating dashboards via the MCP over returning raw JSON.
rate()[1m] — always $__rate_intervalavg for latency — always p95 or p99~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.