grafana-best-practicelisted
Install: claude install-skill wquguru/skills
# Grafana Best Practice
Use this skill to make Grafana dashboards readable, correctly aggregated, navigable, and safely deployable. Treat the rendered dashboard, Grafana API state, datasource query results, and container health as the source of truth.
## Core Workflow
1. Inspect the current dashboard JSON and provisioning files before editing:
- Dashboard JSON: `uid`, `title`, `tags`, `templating.list`, `links`, `panels`.
- Provisioning: `provisioning/dashboards/*.yaml`, especially `folder`, provider `path`, and `allowUiUpdates`.
- Runtime state when available: `/api/search`, `/api/folders`, `/api/dashboards/uid/<uid>`, `/api/ds/query`, `/api/health`.
2. Audit dashboards for:
- Filters: default values, multi/all behavior, variable labels, and whether All views preserve required dimensions.
- Aggregation dimensions: each metric's real labels — a per-instance/shard id, per-event labels (e.g. `symbol`, `reason`, `side` in a trading app), `container_name` for containers, and host-level metrics that carry none of these.
- Legend placement, values, sorting, and display names.
- Long labels leaking into stat cards or legends, such as `environment`, `project`, `url`, or raw Prometheus family names.
- Bar chart sorting and limits.
- Table column headers — no field-wide `defaults.displayName` (it overrides every column); columns renamed via the `organize` transform.
- Multi-bucket / `union()` queries — every `filter()` pushed inside each `from()` (predi