Dynatrace for AI — скилл
Официальные скиллы Dynatrace для агентов: DQL, трейсы, логи, Kubernetes, облака и безопасность в Claude Code и Cursor.
- 175 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Скиллы только читаются, но плагин подключает MCP-сервер с токеном платформы к данным вашего тенанта.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/dynatrace-for-aiОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скиллы только читаются, но плагин подключает MCP-сервер с токеном платформы к данным вашего тенанта.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Официальный пакет Dynatrace из 38 скиллов и шести готовых промптов. Скиллы объясняют агенту язык запросов DQL, устройство данных платформы и типовые задачи наблюдаемости: сервисы, трейсы, логи, хосты, Kubernetes, AWS, Azure, GCP, проблемы и оповещения. Отдельные скиллы закрывают безопасность (поиск индикаторов компрометации, разбор `security.events`), установку OneAgent и мобильных SDK, дашборды и блокноты, миграцию на Smartscape. Скиллы несут только знания. Живые запросы агент отправляет через CLI `dtctl` или MCP-сервер Dynatrace. Плагин для Claude Code подключает этот сервер сам. Инструкции подгружаются по ступеням: сначала названия и описания, затем нужный `SKILL.md`, затем справочники.
Для кого. Инженерам SRE и разработчикам, у которых продакшен мониторится в Dynatrace и разбор инцидента сводится к ручному написанию DQL.
Подходит, если
- Сервис в продакшене отдает ошибки, и агент должен пройти путь от проблемы Davis к логам и трейсам.
- DQL-запрос падает с синтаксической ошибкой или сканирует слишком много данных.
- После релиза надо понять, не просел ли сервис по времени отклика.
- В мобильный или GenAI-проект добавляют инструментирование Dynatrace.
- Утреннюю сводку по сервисам собирают готовым промптом `dt-daily-standup`.
Не подходит, если
- Dynatrace в команде не применяют: без тенанта скиллам нечего читать.
- Хватает прямого доступа к API, а знания о DQL агенту не нужны: достаточно MCP-сервера или `dtctl`.
- Хотите поправить содержимое скиллов: репозиторий публикует их из внутреннего источника и PR к ним не принимает.
Пример запроса к агенту
Найди, что сломалось в сервисе `checkout` за последний час: начни с проблем Davis, потом логи и трейсы, запросы пиши на DQL.Ограничения
Скиллы содержат знания и ничего не запрашивают сами: для живых данных нужен MCP-сервер Dynatrace или CLI `dtctl`. Плагин для Claude Code ждет переменные `DT_ENVIRONMENT` и `DT_PLATFORM_TOKEN`, а токен платформы должен иметь права MCP-шлюза. Содержимое `skills/` ведет сама компания и выкладывает периодически, правки через PR не принимаются. Плагин Cursor ставится только через интерфейс. Плагин Antigravity после установки остается выключенным, пока вы не введете значения вручную. Работать можно только с действующим тенантом Dynatrace.
Как отключить. Удалите папки скиллов из каталога скиллов агента или выполните `claude plugin uninstall dynatrace`. Переменные `DT_ENVIRONMENT` и `DT_PLATFORM_TOKEN` уберите из окружения, а токен отзовите в Dynatrace.
Частые вопросы
Как поставить скиллы Dynatrace в Claude Code?
Выполните `npx skills add dynatrace/dynatrace-for-ai` или установите плагин командой `claude plugin install dynatrace@claude-plugins-official`. Плагин добавляет и MCP-сервер, поэтому до запуска Claude Code задайте `DT_ENVIRONMENT` и `DT_PLATFORM_TOKEN`.
Скиллы сами обращаются к тенанту?
Нет, это пакет знаний. Для запросов подключите MCP-сервер Dynatrace или CLI `dtctl`, а из скиллов агент возьмет синтаксис DQL и порядок разбора.
Какие агенты поддерживаются?
Скиллы в формате Agent Skills работают в Claude Code, GitHub Copilot, Cursor, OpenCode, Gemini CLI и других совместимых инструментах. Для Cursor есть плагин в маркетплейсе, для Antigravity установка идет через `agy plugin install`.
Чем пакет отличается от `dtctl`?
`dtctl` — консольный клиент платформы, он выполняет команды. Эти скиллы учат агента мыслить категориями Dynatrace, и сам репозиторий советует ставить их вместе с `dtctl`.
Что лежит в папке `prompts`?
Шесть шаблонов: ежедневная сводка по сервисам, проверка здоровья сервиса, разбор инцидента, поиск ошибок, регрессия производительности и разбор проблемы Davis. Шаблон копируют в чат, предварительно загрузив нужные скиллы.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыОфициальный CLI платформы Dynatrace со встроенным скиллом: рабочие процессы, дашборды, DQL-запросы и SLO из терминала
Официальный набор скиллов Datadog: мониторы, логи, APM, интеграции с облаками, RUM и наблюдаемость LLM из агента
Большая база скиллов по DevOps, безопасности, инфраструктуре и комплаенсу для AI-агентов
Официальный управляемый MCP-сервер Datadog: логи, метрики, трейсы и инциденты прямо в агенте
Официальный набор скиллов Grafana: PromQL, Loki, Tempo, Alloy, k6, дашборды и алертинг для Claude Code, Cursor и Codex
Официальный набор скиллов Cloudflare для агентов: Workers, Durable Objects, wrangler, Pages, хранилища и MCP-сервер
Коротко о README
Репозиторий собирает то, что Dynatrace готовит для ИИ-агентов, начиная со скиллов. Варианты установки покрывают `npx skills`, плагины для Claude Code, Cursor и Antigravity и ручное копирование папок. Для живых запросов README отсылает к `dtctl` и MCP-серверу.
Бейдж для README
Исходный SKILL.md
--- name: dt-dql-essentials description: "Core DQL syntax, pitfalls, query patterns, and query optimization. Load to write, build, fix, or OPTIMIZE a DQL query — prevents syntax errors and makes queries faster, more efficient, and cheaper (less data scanned = lower query consumption/cost per run). Covers fetch commands, data models, field namespaces, time alignment, entity/smartscape patterns, metric discovery, and performance/cost optimization (filter early, bucket filters, short time ranges, field selection, sampling, cardinality). Trigger: \"write/build/fix a DQL query\", \"DQL syntax\", \"query logs/spans/metrics\", \"create a timeseries\", \"optimize my DQL\", \"make my query faster/cheaper\", \"reduce DQL cost/consumption/scanned data\", \"keep DQL cost under control\". Do NOT use to explain an existing query or answer product questions. For MONITORING a tenant's ACTUAL query consumption/billing (how much queries cost, who scanned most, cost trends) use dt-platform-costs — this tunes the query text, not billing data." license: Apache-2.0 --- # DQL Essentials Skill DQL is a pipeline-based query language. Queries chain commands with `|` to filter, transform, and aggregate data. DQL has unique syntax that differs from SQL — load this skill before writing any DQL query. ______________________________________________________________________ ## When to Load References Before working on specific tasks, load the relevant reference: | Task | Required Reading | | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | Discovering data | [references/discovery.md](references/discovery.md) | | Field names, namespaces, data models, stability levels, query patterns | [references/semantic-dictionary.md](references/semantic-dictionary.md) | | Query optimization — make a query faster / more efficient / cheaper, reduce consumption & scanned data (filter early, bucket filters, time ranges, field selection, sampling, cardinality) | [references/optimization.md](references/optimization.md) | | Smartscape topology navigation for discovering relationships between entities | [references/smartscape-topology-navigation.md](references/smartscape-topology-navigation.md) | | `summarize` and `makeTimeseries` patterns (bucketing, calendar months) | [references/summarization.md](references/summarization.md) | | Array and timeseries manipulation (`arrayFilter`, `collectArray`, iterative) | [references/iterative-expressions.md](references/iterative-expressions.md) | | Conditional logic (`if/else` chains), `coalesce`, string/date helpers | [references/useful-expressions.md](references/useful-expressions.md) | | `in` operator (subquery), full `@` time alignment unit table | [references/operators.md](references/operators.md) | | `matchesValue`, `matchesPhrase`, `matchesPattern`, `in()` — string pattern matching, regex, array matching, wildcards, case sensitivity | [references/string-matching.md](references/string-matching.md) | ______________________________________________________________________ ## DQL Reference Index Use this index to route from a function group (e.g. time functions, conversions) to its detailed spec, or from a function name to its spec file. | Description | Items | |-------------|-------| | [Data Types](references/dql/dql-data-types.md) | `array`, `binary`, `boolean`, `double`, `duration`, `long`, `record`, `string`, `timeframe`, `timestamp`, `uid` | | [Parameter Value Types](references/dql/dql-parameter-value-types.md) | `bucket`, `dataObject`, `dplPattern`, `entityAttribute`, `entitySelector`, `entityType`, `enum`, `executionBlock`, `expressionTimeseriesAggregation`, `expressionWithConstantValue`, `expressionWithFieldAccess`, `fieldPattern`, `filePattern`, `identifierForAnyField`, `identifierForEdgeType`, `identifierForFieldOnRootLevel`, `identifierForNodeType`, `joinCondition`, `jsonPath`, `metricKey`, `metricTimeseriesAggregation`, `namelessDplPattern`, `nonEmptyExecutionBlock`, `prefix`, `primitiveValue`, `simpleIdentifier`, `tabularFileExisting`, `tabularFileNew`, `url` | | [Commands](references/dql/dql-commands.md) | `append`, `data`, `dedup`, `describe`, `expand`, `fetch`, `fields`, `fieldsAdd`, `fieldsFlatten`, `fieldsKeep`, `fieldsRemove`, `fieldsRename`, `fieldsSnapshot`, `fieldsSummary`, `filter`, `filterOut`, `join`, `joinNested`, `limit`, `load`, `lookup`, `makeTimeseries`, `metrics`, `parse`, `search`, `smartscapeEdges`, `smartscapeNodes`, `sort`, `summarize`, `timeseries`, `traverse` | | [Functions — Aggregation](references/dql/dql-functions-aggregation.md) | `avg`, `collectArray`, `collectDistinct`, `correlation`, `count`, `countDistinct`, `countDistinctApprox`, `countDistinctExact`, `countIf`, `max`, `median`, `min`, `percentRank`, `percentile`, `percentileFromSamples`, `percentiles`, `stddev`, `sum`, `takeAny`, `takeFirst`, `takeLast`, `takeMax`, `takeMin`, `variance` | | [Functions — Array](references/dql/dql-functions-array.md) | `arrayAvg`, `arrayConcat`, `arrayCumulativeSum`, `arrayDelta`, `arrayDiff`, `arrayDistinct`, `arrayFirst`, `arrayFlatten`, `arrayIndexOf`, `arrayLast`, `arrayLastIndexOf`, `arrayMax`, `arrayMedian`, `arrayMin`, `arrayMovingAvg`, `arrayMovingMax`, `arrayMovingMin`, `arrayMovingSum`, `arrayPercentile`, `arrayRemoveNulls`, `arrayReverse`, `arraySize`, `arraySlice`, `arraySort`, `arraySum`, `arrayToString`, `vectorCosineDistance`, `vectorInnerProductDistance`, `vectorL1Distance`, `vectorL2Distance` | | [Functions — Bitwise](references/dql/dql-functions-bitwise.md) | `bitwiseAnd`, `bitwiseCountOnes`, `bitwiseNot`, `bitwiseOr`, `bitwiseShiftLeft`, `bitwiseShiftRight`, `bitwiseXor` | | [Functions — Boolean](references/dql/dql-functions-boolean.md) | `exists`, `in`, `isFalseOrNull`, `isNotNull`, `isNull`, `isTrueOrNull`, `isUid128`, `isUid64`, `isUuid` | | [Functions — Cast](references/dql/dql-functions-cast.md) | `asArray`, `asBinary`, `asBoolean`, `asDouble`, `asDuration`, `asIp`, `asLong`, `asNumber`, `asRecord`, `asSmartscapeId`, `asString`, `asTimeframe`, `asTimestamp`, `asUid` | | [Functions — Constant](references/dql/dql-functions-constant.md) | `e`, `pi` | | [Functions — Conversion](references/dql/dql-functions-conversion.md) | `toArray`, `toBoolean`, `toDouble`, `toDuration`, `toIp`, `toLong`, `toSmartscapeId`, `toString`, `toTimeframe`, `toTimestamp`, `toUid`, `toVariant` | | [Functions — Create](references/dql/dql-functions-create.md) | `array`, `duration`, `ip`, `record`, `smartscapeId`, `timeframe`, `timestamp`, `timestampFromUnixMillis`, `timestampFromUnixNanos`, `timestampFromUnixSeconds`, `uid128`, `uid64`, `uuid` | | [Functions — Cryptographic](references/dql/dql-functions-cryptographic.md) | `hashCrc32`, `hashMd5`, `hashSha1`, `hashSha256`, `hashSha512`, `hashXxHash32`, `hashXxHash64` | | [Functions — Entities](references/dql/dql-functions-entities.md) | `classicEntitySelector`, `entityAttr`, `entityName` | | [Functions — Time series aggregation for expressions](references/dql/dql-functions-expression-timeseries.md) | `avg`, `count`, `countDistinct`, `countDistinctApprox`, `countDistinctExact`, `countIf`, `end`, `max`, `median`, `min`, `percentRank`, `percentile`, `percentileFromSamples`, `start`, `sum` |