grafana-architectlisted
Install: claude install-skill ralvarezdev/ralvaskills
# Grafana Architecture — Signal Consumption
How an operator *uses* what [observability-architect](../observability-architect/SKILL.md) emits. Dashboards, alerts, data sources, exploration. **Dashboards-as-code via Grizzly** is the default; the Grafana UI is for exploration, not authoring. Layouts, panel reference, and alert YAML in [RECIPES.md](RECIPES.md).
## 1. Dashboards-as-code workflow
Dashboards live in the application repo (or a sibling `observability/` repo), versioned in git, applied via [Grizzly](https://grafana.github.io/grizzly/) (`grr`). Repo layout in [RECIPES § 1](RECIPES.md#1-observability-repo-layout).
- **Sync on merge to main** — staging on every push, prod on tagged releases. Dashboards drift only via reviewed PRs.
- **Never edit in the UI for production dashboards.** Grizzly refuses to apply on drift; resolve by pulling the change into JSON.
- **Exploration is different.** Build in the UI; once it earns a home, export and commit.
## 2. Folder organization — per service
One folder per service. Operators on call find dashboards by what they own, not by which team made them (teams reshuffle; services don't). Folder structure example in [RECIPES § 2](RECIPES.md#2-service-folder-layout).
- **Folder permissions match service ownership.**
- **General / platform dashboards** live in a top-level `Platform` folder owned by SRE.
- **No personal folders for production.**
## 3. Panel design — one question per panel
Every panel answers exactly one question. If