Back to Skills

dt-app-notebooks

Work with Dynatrace notebooks - create, modify, query, and analyze notebook JSON including sections, DQL queries, and visualizations.

120stars26forksUpdated 8/13/2026

Security Assessment

Safe(95/100)
Security Score95/100

About dt-app-notebooks

The dt-app-notebooks skill teaches an agent how to work with Dynatrace notebooks, which are JSON documents stored in the Document Store that hold an ordered array of sections — markdown blocks for narrative and DQL blocks for queries with visualizations. It solves the problem of authoring and maintaining these notebooks correctly by codifying the JSON schema, the mandatory create/update workflow, and the rules that keep generated notebooks valid rather than leaving an agent to guess at structure.

The skill documents the full notebook JSON shape (name, type, content.version, defaultTimeframe, and per-section state), section types (markdown, dql, and the rare function), and the supported visualization types grouped into time-series, categorical, single-value/gauge, tabular, distribution/status, geographic map, and matrix/correlation families with their required field types. It prescribes a mandatory-order workflow: load domain skills before generating DQL, validate every section query, always download an existing notebook with dtctl before modifying it (never reconstruct JSON from scratch, which would silently overwrite UI edits), and deploy with dtctl apply so validation runs automatically. Reference files cover analyzing existing notebooks, section field requirements, and the create/update sequence.

It targets Dynatrace platform engineers, SREs, and observability practitioners who build dashboards and analysis notebooks, plus anyone automating notebook generation. Typical uses include creating a service-health notebook, adding a DQL visualization section, extracting queries from an existing notebook, or updating a notebook safely without clobbering manual edits.

FAQ

What tool does this skill rely on to read and deploy notebooks?

It uses the dtctl CLI: dtctl get notebook <id> -o json --plain to fetch full content, and dtctl apply to deploy, which runs validation automatically and deletes the local file on success.

Why must I download a notebook before updating it?

The skill mandates downloading first because reconstructing the JSON from scratch or manually injecting an id silently overwrites any UI edits the user made since the last deployment. Always modify the downloaded file.

How do I choose a visualization type?

Prefer autoSelectVisualization: true so Dynatrace picks the best chart unless the user requested a specific type. Each visualization requires specific DQL output field types — time-series charts need timeseries/makeTimeseries data with an interval, categorical charts need a summarize ... by:{category} pattern, and mismatched types render blank or error.

What section types are supported?

Two main types: markdown for narrative and dql for queries with visualizations. A function type exists but is rare. Sections render top-to-bottom in array order.

Does the skill write or generate DQL on its own?

No — it explicitly instructs loading domain skills before generating queries rather than inventing DQL, and validating all section queries before adding them to the notebook.

All Files

6 files
assets/ExampleNotebook.json1.7 KB
View
references/analyzing.md2.3 KB
View
references/sections.md4.6 KB
View
SKILL.md3.9 KB
View
assets/visualization-settings.reference.jsonc6.7 KB
View
references/create-update.md5.4 KB
View

Install dt-app-notebooks

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill