Work with Dynatrace dashboards - create, modify, query, and analyze dashboard JSON including tiles, layouts, DQL queries, variables, and visualizations.
64
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/dt-app-dashboards/SKILL.mdDynatrace dashboards are JSON documents stored in the Document Store containing tiles (content/visualizations), layouts (grid positioning), and variables (dynamic query parameters).
When to use: Creating, modifying, querying, or analyzing dashboards.
{
"name": "My Dashboard",
"type": "dashboard",
"content": {
"version": 21,
"variables": [],
"tiles": { "<id>": { "type": "data|markdown", ... } },
"layouts": { "<id>": { "x": 0, "y": 0, "w": 24, "h": 8 } }
}
}tiles must match IDs in layoutsmarkdown (text content) and data (DQL query + visualization)Optional content properties: settings, refreshRate, annotations
Fetch full content with dtctl get dashboard <id> -o json --plain (describe returns metadata only), then inspect the JSON to discover its available properties. Carefully read references/analyzing.md before analyzing.
Carefully follow the workflow described in references/create-update.md.
Key rules:
name before deployingdtctl get dashboard <id> -o json --plain > dashboard.json, modify, then deploy the downloaded file. Never reconstruct JSON from scratch or inject an id manually — both silently overwrite any UI edits the user made since last deployment.dtctl apply — validation runs automatically, and the local file is deleted on success.timeseries/makeTimeseries): lineChart, areaChart, barChart, bandChartsummarize ... by:{field}): categoricalBarChart, pieChart, donutChartsingleValue, meterBar, gaugetable, raw, recordListhistogram, honeycombchoroplethMap, dotMap, connectionMap, bubbleMapheatmap, scatterplotRequired field types per visualization: references/tiles.md
{ "version": 2, "key": "Service", "type": "query", "visible": true,
"editable": true, "input": "smartscapeNodes SERVICE | fields name",
"multiple": false }filter service.name == $Servicefilter in(service.name, array($Service))query (DQL-populated), csv (static list), text (free-form)Full variable reference: references/variables.md
| File | When to Load |
|---|---|
| create-update.md | Creating/updating dashboards |
| tiles.md | Tile types, visualization field requirements, settings |
| variables.md | Variable types, replacement strategies, patterns |
| analyzing.md | Reading dashboards, extracting queries, health assessment |
3287f9d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.