Dashboard spec
A dashboard spec is the complete JSON document that describes a dashboard: its theme, its pages and layout, and every panel’s data binding and visual configuration.
The spec is the unit everything else operates on. It is what gets stored in each revision, what a reviewer diffs, and what an agent authors. If something affects how a dashboard looks or what data it shows, it is a property in the spec.
How it works in dvt
A dvt spec has a small number of top-level parts. theme holds the design tokens. layout defines the grid (24 columns by default). panels and pages hold the panels themselves. A panel’s data names its source and query, and its spec carries the chart’s visual encoding:
{ "theme": { "tokens": { "primitive": {}, "semantic": {} } },
"layout": { "columns": 24, "rowHeight": 30 },
"panels": [ { "id": "revenue-by-month", "title": "Revenue by month", "type": "chart:bar",
"spec": { "series": [{ "type": "bar", "barMaxWidth": 48 }] } } ] }
Every spec is checked against a published JSON Schema before it saves, so a typo in a chart type or a missing required field is caught at write time, not discovered by a viewer. The full format is documented in the spec reference, and agents can load the spec-authoring skill to learn it in one read.