← ClaudeAtlas

dashboards-as-codelisted

Migrate a fleet of hand-built monitoring dashboards into version-controlled code with a MACHINE-CHECKED equivalence proof. The five-part harness: immutable golden originals → a typed emitter with a generic panel factory whose unknown-kind fallback FLAGS (never silently guesses) → a renderer back to platform JSON → a semantic-signature extractor → ONE shared definition of MATCH used by both the per-dashboard convert self-verify AND the fleet gate (scripts/foundry-dashboard-fidelity.py: N/N MATCH fail-closed). Platform-generic (a Grafana-style schemaVersioned export is the illustration). Carries the path-scoped CI wiring, the restricted-PSA job hardening, and the CSI-before-stateful-metrics-store + sidecar-egress ordering prerequisites. Trigger: "port the dashboards to code", "dashboards as code", "prove the dashboard migration is lossless", "/foundry:dashboards-as-code".
lukasrepublic/agentic-foundry · ★ 1 · AI & Automation · score 67
Install: claude install-skill lukasrepublic/agentic-foundry
# dashboards-as-code — migrate hand-authored dashboards to code, provably lossless A hand-port of a dashboard fleet is silently lossy by default; nobody notices the dropped panel until an on-call engineer opens it mid-incident. This skill drives the migration through a round-trip fidelity gate so an as-code migration CANNOT land unless it is provably lossless. ## The five-part harness - **Golden originals are IMMUTABLE — never hand-edited.** One JSON export per dashboard, extracted from the running platform, is the diff oracle for the whole migration. Fixing a diff by editing the golden is falsifying the oracle. - **The emitter uses a generic panel factory, and its unknown-kind fallback FLAGS — never silently guesses.** Common panel kinds (time-series, stat, gauge, table, logs, pie, bar) map through one factory; rows, template variables, and library-panel references are first-class. A panel kind the factory does not know routes to a default kind WITH the `x_foundry_unverified` flag set — the gate then refuses green on it, so it becomes a human-review item instead of a silent guess. A dashboard too irregular to emit cleanly may be hand-authored — it still goes through the same gate. - **The renderer compiles code → platform JSON**, auto-discovering every compiled dashboard (a dashboard that fails to render is a gate failure, not a skipped file). - **The semantic-signature extractor reduces both sides to parity-bearing fields only** — panels → {kind, quer