dt-alerting
End-to-end Dynatrace alerting lifecycle — anomaly detector setup and model selection (static threshold, adaptive baseline,…
Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification. Trigger: "add Dynatrace to Flutter", "Flutter plugin setup", "instrument Flutter app", "integrate Dynatrace Flutter", "mobile
$ npx -y skills add Dynatrace/dynatrace-for-ai --skill dt-setup-flutter --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dt-setup-flutterContext preview
The summary Claude sees to decide when to auto-load this skill.
Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification. Trigger: "add Dynatrace to Flutter", "Flutter plugin setup", "instrument Flutter app", "integrate Dynatrace Flutter", "mobile
name: dt-setup-flutter license: Apache-2.0 description: >- Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification. Trigger: "add Dynatrace to Flutter", "Flutter plugin setup", "instrument Flutter app", "integrate Dynatrace Flutter", "mobile observability Flutter", "dynatrace_flutter_plugin". Do NOT use for: querying Flutter RUM data (use dt-obs-frontends), non-Flutter mobile setups, or Dynatrace server-side configuration.
Work through the steps below in order, interacting with the user at each decision point. Read actual project files before suggesting changes — do not assume the current state.
Before asking the user anything, check whether `dynatrace.config.yaml` exists at the project root.
**`userOptIn` check:**
Inspect the file for `userOptIn` (Android) and `DTXUserOptIn` (iOS).
Ask the user which approach they prefer:
**Option A — Download from console (recommended):**
1. Open their Dynatrace environment 1. Navigate to: Experience Vitals → New Frontend → Mobile 1. Enter app name and choose **Flutter** as the platform 1. On the **Select capability and settings** screen, configure monitoring features (Crash reporting, user action monitoring, etc.). User action monitoring can be changed later via Experience Vitals → [App] → Settings → Enablement and Cost Control. 1. Download `dynatrace.config.yaml` and place it at the project root (same level as `pubspec.yaml`)
Once the file is in place, apply the `userOptIn` check from Step 1 and flag Step 7a if needed.
**Option B — Provide credentials manually:** Read `references/config-yaml.md` for the full template and conditional blocks. Collect all required values from the user before creating any files, then apply the `userOptIn` check and flag Step 7a if needed.
Read `pubspec.yaml` first.
flutter pub add dynatrace_flutter_plugin
If Step 3 ran `flutter pub add`, dependencies are already fetched — skip this step.
Otherwise run:
flutter pub get
Confirm success before continuing.
dart run dynatrace_flutter_plugin
This reads `dynatrace.config.yaml` and automatically configures Android Gradle and `ios/Runner/Info.plist`. No manual native file edits are needed.
Common mistakes to flag and correct:
Read `lib/main.dart`. Replace `runApp(...)` with `Dynatrace().start(...)`:
import 'package:dynatrace_flutter_plugin/dynatrace_flutter_plugin.dart';
import 'package:flutter/material.dart';
void main() {
Dynatrace().start(const MyApp());
}In the root `MaterialApp` or `CupertinoApp`, add `DynatraceNavigationObserver()` to `navigatorObservers`:
MaterialApp( navigatorObservers: [DynatraceNavigationObserver()], ... )
CupertinoApp( navigatorObservers: [DynatraceNavigationObserver()], ... )
**Skip this step if `userOptIn` was not set to `true` during Steps 1 or 2.**
Read `references/user-opt-in.md` for the full guidance on `DataCollectionLevel`, `crashReportingOptedIn`, and placement options. Ask the user the questions defined there, then apply the call to the relevant file.
Check `pubspec.yaml` for the `http` package dependency. Separately, search the codebase for `import 'dart:io'` and `HttpClient` usages. If either is present, apply instrumentation:
| Package | Instrumentation | |---|---| | `http` | `Dynatrace().createHttpClient()` — replace `http.Client()` at the construction site | | `dart:io HttpClie
Everything AI agents need to work with Dynatrace, starting with skills. Skills are portable knowledge packages following the Agent Skills open format. They give AI coding agents the domain-specific context to query, analyze, and interpret Dynatrace data.
End-to-end Dynatrace alerting lifecycle — anomaly detector setup and model selection (static threshold, adaptive baseline,…
Work with Dynatrace dashboards - create, modify, query, and analyze dashboard JSON including tiles, layouts, DQL queries,…
Work with Dynatrace notebooks - create, modify, query, and analyze notebook JSON including sections, DQL queries, and…
Core DQL syntax, pitfalls, query patterns, and query optimization. Load to write, build, fix, or OPTIMIZE a DQL query — prevents…
Dynatrace server-side JS runtime — function contract, runtime limits, Web APIs, Node.js modules, fetch with credential vault, and…
Migrate Dynatrace classic and Gen2 entity-based DQL to Smartscape equivalents. Covers three scenarios. (1) mass data queries…