Download for macOS
Skill

dt-migration

@dynatrace Updated 2026-10-01

Migrate Dynatrace classic and Gen2 entity-based DQL to Smartscape equivalents. Covers three scenarios. (1) mass data queries filtered by classic entity conditions — migrate to direct dimension filters first, Smartscape only as fallback; (2) mass data queries using entity subqueries for filtering — same dimension-first strategy; (3) pure entity list queries — migrate fetch dt.entity.* to smartscapeNodes. Also handles entityName, entityAttr, classicEntitySelector, and classic relationship patterns.

agent-skillsai-agentsclaude-codedevopsdqldynatracemcpobservability

Install

git clone https://github.com/Dynatrace/dynatrace-for-ai /tmp/dynatrace-for-ai && ln -s /tmp/dynatrace-for-ai/skills/dt-migration ~/.claude/skills/dt-migration

From README

Smartscape Migration Skill This skill migrates Dynatrace classic and Gen2 entity-based DQL queries and query patterns to Smartscape-based equivalents. Load the dt-dql-essentials skill before writing final DQL so the translated query also follows current DQL syntax rules. This skill focuses on Smartscape-oriented DQL migration only. It does not cover asset-level migration workflows. Query Purpose Classification Start here. The correct migration strategy depends on what the query is actually trying to do — not just which classic constructs it uses. There are three distinct situations: | # | Situation | Classic anti-pattern | Migration strategy | | --- | --- | --- | --- | | 1 | Mass data query filtered by entity conditions | classicEntitySelector(...) inline in filter: of a timeseries, logs, or metrics query | Resolve entity conditions to raw data dimensions first. Smartscape is a fallback, not the default. | | 2 | Mass data query using entity subquery for filtering | fetch dt.entity.