dt-app-dashboards — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited dt-app-dashboards (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Dynatrace 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
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.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 |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.