CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dt-migration

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.

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, lean instructional body that routes the reader through an unambiguous decision table, provides concrete construct-to-replacement mappings, and delegates detail to a verified, well-indexed set of one-level-deep references. The only notable gaps are the lack of an inline before/after example and a verification step on the Situation 3 path.

DimensionReasoningScore

Conciseness

The body is dense and directive — tables of concrete mappings, no explanations of what Dynatrace or DQL is, and it assumes Claude's competence throughout. It falls short of anchor 5 only because six reference links (mass-data-filtering-strategy, migration-workflow, type-mappings, dql-function-migration, special-cases, and the entity guides) appear both inline in their sections and again in the bottom References section, creating a mild token redundancy.

4 / 5

Actionability

Gives concrete, near-executable transformations: 'entityName(x)' → 'name or getNodeName(x)', 'dt.entity.host' → 'dt.smartscape.host / HOST', named Smartscape primitives (smartscapeNodes, traverse, getNodeField), and a rules table for special cases. It does not reach anchor 5 because the body contains no inline before/after DQL query example — all worked examples are deferred to references/examples.md, leaving a minor gap for the most common cases.

4 / 5

Workflow Clarity

The 'Start here' classification table routes all three situations unambiguously, and the Situations 1–2 path carries explicit validation gates ('complete all steps including field discovery (Step 2) and equivalence verification (Step 4). Do not skip the fieldsSnapshot gates'). It sits below anchor 5 because the 7-step Migration Workflow itself contains no explicit verification step for Situation 3, and the feedback loops / error-recovery detail live in the references rather than being surfaced in the body.

4 / 5

Progressive Disclosure

The body is a genuine overview: every reference load is conditioned on a situation or entity family ('load the matching detailed guide', 'Start here for Situations 1 and 2'), all 16 referenced files verified to exist, references are one level deep, and references/README.md supplies a when-to-use index. This matches the anchor 5 pattern of a clear overview with well-signaled one-level-deep references and easy navigation.

5 / 5

Total

17

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, well-scoped description that names concrete migration actions and the exact DQL constructs handled, with strong domain trigger terms and minimal conflict risk. Its one real weakness is the absence of an explicit 'Use when...' trigger clause, which leaves the invocation conditions only weakly implied and caps completeness.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when migrating or rewriting Dynatrace DQL queries that use classic entities, entity selectors, or fetch dt.entity.* — for example when a user asks to translate, convert, or modernize a DQL query to Smartscape.'

Include natural trigger synonyms such as 'translate', 'convert', 'rewrite', and 'modernize' so the description matches the phrasing users actually use when requesting query migration.

Trim the scenario enumeration slightly if needed to make room — the three scenarios can stay, but leading with a single 'what + when' sentence would fix the completeness gap without added length.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with named constructs — 'migrate to direct dimension filters first', 'migrate fetch dt.entity.* to smartscapeNodes', 'handles entityName, entityAttr, classicEntitySelector, and classic relationship patterns' — comprehensively covering all three migration scenarios. It exceeds anchor 4 because coverage spans every scenario plus function-level constructs, not just several actions with gaps.

5 / 5

Completeness

The 'what' is clear and detailed, but there is no 'Use when...' clause or equivalent explicit trigger guidance — the three-scenario enumeration describes what the skill covers rather than when to invoke it, so 'when' is only weakly implied. Per the judging guideline, a missing 'Use when' clause caps completeness at 3; it does not reach anchor 4 because the 'when' is never explicitly phrased as usage guidance.

3 / 5

Trigger Term Quality

Good keyword coverage of the domain vocabulary users would say — 'Dynatrace', 'classic', 'Gen2', 'DQL', 'entity', 'Smartscape', 'mass data queries', 'classicEntitySelector' — but common synonyms such as 'translate', 'convert', or 'query rewrite' are absent. It is above anchor 3 (coverage is well beyond 'some relevant keywords') but below anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — Dynatrace classic/Gen2 entity-based DQL migration to Smartscape — with distinct triggers (DQL, Smartscape, classicEntitySelector, entityName) that no generic skill would match. Minimal conflict risk, matching the anchor 5 example's clear-niche profile.

5 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Dynatrace/dynatrace-for-ai

Path

skills/dt-migration/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.