sales-demos-dashboardlisted
Install: claude install-skill ericcames/sales.demos
# sales-demos-dashboard
Push Grafana Cloud dashboards and alert rules defined as committed JSON. Issues
[#275](https://github.com/ericcames/sales.demos/issues/275) (dashboard) and
[#629](https://github.com/ericcames/sales.demos/issues/629) (alerts).
## There is an AAP path now too (#318)
`AAP Observability - 2 Deploy Dashboards` runs the same playbook from AAP, so
this no longer has to come off a laptop. Use whichever suits; the skill is still
the quicker loop while iterating on dashboard JSON.
**It is not per-environment, and that surprises people.** One Grafana Cloud
serves both environments, so the template exists in both controllers and pushes
to the *same* folder — running it from demo also updates what sandbox sees.
This skill contains **no logic**. All the work is in
[`playbooks/deploy_dashboard.yml`](../../../playbooks/deploy_dashboard.yml). See
`CLAUDE.md` → *Skills and playbooks*.
## What it does
1. Creates a "Sales Demos" folder in Grafana Cloud (idempotent)
2. Reads `playbooks/files/grafana/cluster-health.json`
3. Pushes the dashboard via the Grafana HTTP API with `overwrite: true`
The dashboard covers cluster nodes, KubeVirt VMs, AAP platform health, and
logs. A `cluster` template variable makes it work for both sandbox and demo.
`deploy_alerts.yml` does the same for alert rules
(`playbooks/files/grafana/alert-rules.json`): it PUTs one rule group,
`sales-demos-health`, into the same folder. The PUT replaces the whole group, so
a rule removed from the JSO