CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

69

Quality

83%

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

92%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-architected SKILL.md body: lean tables, an explicit classification-first workflow with named validation gates, and clean one-level-deep progressive disclosure to a complete, verified bundle of 17 reference files. The only improvement space is including one small inline before/after DQL example so simple cases can be handled without loading a reference.

DimensionReasoningScore

Conciseness

The body is lean: dense mapping tables, a compact decision tree, and terse directive prose ('Do not skip the fieldsSnapshot gates', 'Smartscape is a fallback, not the default') with no explanation of concepts Claude already knows. Every section either routes a decision or carries concrete mapping data.

5 / 5

Actionability

Highly actionable: exact field mappings ('dt.entity.host' → 'dt.smartscape.host' / HOST), construct-to-replacement tables ('entityName(x)' → 'name or getNodeName(x)'), and named primitives to rewrite with. It falls short of 5 only because the body itself contains no before/after DQL query example — executable examples are deferred to references/examples.md, which is a deliberate disclosure choice but leaves a minor gap for the common single-query case.

4 / 5

Workflow Clarity

The classification step ('Start here') routes each of three situations to a concrete strategy, and the 7-step workflow is well sequenced with explicit validation checkpoints: 'complete all steps including field discovery (Step 2) and equivalence verification (Step 4)' and 'Do not skip the fieldsSnapshot gates — they determine which approach is viable'. The inspection tables act as checklists for steps 4 and 6.

5 / 5

Progressive Disclosure

Textbook progressive disclosure: an overview with a compact core mapping table that defers the full set ('For the full mapping set, load references/type-mappings.md'), one-level-deep references with clear per-file annotations in the References section, and a decision tree that routes to the right file per situation. All 17 referenced files exist on disk, and cross-links among them are sibling-level navigation, not deferred-content chains.

5 / 5

Total

19

/

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-structured description with strong domain keywords and minimal conflict risk. Its one material weakness is the absence of any explicit 'Use when...' trigger clause, which both caps completeness and leaves invocation conditions to inference. Adding a trigger sentence would raise it to top-tier quality.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when migrating, converting, or translating Dynatrace DQL queries that reference classic or Gen2 entities (dt.entity.*, classicEntitySelector) to Smartscape.' — this directly addresses the completeness cap.

Include common user phrasings like 'convert' or 'translate' as synonyms of 'migrate', and 'Grail' alongside 'Gen2', to broaden natural trigger coverage.

Optionally state the expected input/output (a classic DQL query in, a Smartscape-equivalent DQL query out) so the 'what' is unambiguous about deliverables.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions with exact target constructs: 'migrate to direct dimension filters first, Smartscape only as fallback', 'migrate fetch dt.entity.* to smartscapeNodes', and 'handles entityName, entityAttr, classicEntitySelector, and classic relationship patterns'. Three distinct scenarios are covered comprehensively with specific migration strategies for each.

5 / 5

Completeness

The 'what' is answered clearly and in detail (three scenarios with migration strategies), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the judging guidelines, a missing 'when' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good keyword coverage including the natural terms a user would say: 'Dynatrace', 'DQL', 'Smartscape', 'classic', 'Gen2', 'dt.entity.*', 'smartscapeNodes', 'classicEntitySelector'. A few natural phrasings are missing, e.g. 'convert'/'translate', 'Grail', or 'query migration' as users may phrase the request differently than 'migrate'.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — Dynatrace classic/Gen2-to-Smartscape DQL migration — with distinctive trigger constructs ('dt.entity.*', 'classicEntitySelector', 'smartscapeNodes') that no other skill would claim. Conflict risk is minimal.

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
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.