Agent skill

Dt Setup Flutter

by Dynatrace in Dynatrace/dynatrace-for-ai

Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification.

Apache-2.0Auto-check passedMobile

Install Dt Setup Flutter

skills CLI
$ npx skills add Dynatrace/dynatrace-for-ai --skill dt-setup-flutter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Dynatrace/dynatrace-for-ai dt-setup-flutter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Dynatrace/dynatrace-for-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dt-setup-flutter .claude/skills/dt-setup-flutter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dt-setup-flutter
GitHub stars
162
Token cost
~2k tokens
SKILL.md length
849 words
Files
4 (incl. references)
Skills in repo
33
Repo updated
First seen
Licence
Apache-2.0

At a glance

Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification.

  • Works in 10 steps: Check for existing dynatrace.config.yaml → Obtain dynatrace.config.yaml (only if… → Add the dependency → …
  • : querying Flutter RUM data (use dt-obs-frontends)
  • SKILL.md covers Prerequisites, Step 1 — Check for existing…, Step 2 — Obtain… and Step 3 — Add the dependency, plus 10 more sections
  • Calls flutter and dart

What it does

Dt Setup Flutter is an agent skill from Dynatrace/dynatrace-for-ai. 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", "dynatraceflutterplugin". Do NOT use for: querying Flutter RUM data (use dt-obs-frontends), non-Flutter mobile setups, or Dynatrace server-side configuration.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/config-yaml.md`, `references/user-opt-in.md` and `references/verification.md`).

It sits in Mobile, covering Cross-platform mobile apps. It works with Flutter. The repository describes itself as: Skills, prompts, and instructions for building AI agents on top of Dynatrace production context. The licence is Apache-2.0.

When your agent uses it

  • : querying Flutter RUM data (use dt-obs-frontends)
  • Non-Flutter mobile setups
  • Dynatrace server-side configuration

Example prompts

  • “add Dynatrace to Flutter”
  • “Flutter plugin setup”
  • “instrument Flutter app”
  • “/dt-setup-flutter”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Check for existing dynatrace.config.yaml
  2. Obtain dynatrace.config.yaml (only if Step 1 found no file)
  3. Add the dependency
  4. Fetch dependencies
  5. Run the Dynatrace configuration script
  6. Bootstrap the SDK in main.dart
  7. Add navigation tracking
  8. HTTP instrumentation (if applicable)
  9. Post-setup summary
  10. Verification

What it can do on your machine

Read from SKILL.md and the folder at commit 4f9aa71. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • flutter
    • dart

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • pub.dev
    • docs.dynatrace.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dt Setup Flutter loads about 2k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 849 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Dynatrace/dynatrace-for-ai at commit 4f9aa71, republished under its Apache-2.0 licence (© Dynatrace). 849 words, ~1,966 tokens.

Download SKILL.mdSave it as .claude/skills/dt-setup-flutter/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
dt-setup-flutter
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.
license
Apache-2.0

Dynatrace Flutter Plugin Integration Skill

Prerequisites

  • Flutter SDK installed and flutter available on PATH
  • An existing Flutter project with a pubspec.yaml at the project root
  • A Dynatrace environment with access to Experience Vitals (to obtain applicationId and beaconUrl, or to download dynatrace.config.yaml)
  • Console access to Experience Vitals → Mobile to configure app settings (Data Privacy, Enablement and Cost Control)
  • dart CLI available (comes with Flutter SDK; used to run the plugin configuration script)

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.

Step 1 — Check for existing dynatrace.config.yaml

Before asking the user anything, check whether dynatrace.config.yaml exists at the project root.

  • File exists: Read it, show the applicationId and beaconUrl, and confirm they match the target environment. If correct, run the userOptIn check below and skip to Step 3.
  • File does not exist: Proceed to Step 2.

userOptIn check:

Inspect the file for userOptIn (Android) and DTXUserOptIn (iOS).

  • Present on both platforms: Trust the value as-is. If true, flag Step 7a. If false, skip Step 7a.
  • Absent from either platform: Ask the user: "Do you have User Opt-In mode enabled or disabled?" (If unsure: Experience Vitals → Mobile → [Your App] → Settings → Data Privacy.) Add the missing value to the relevant platform(s), then flag Step 7a if the final value is true.

Step 2 — Obtain dynatrace.config.yaml (only if Step 1 found no file)

Ask the user which approach they prefer:

Option A — Download from console (recommended):

  1. Open their Dynatrace environment
  2. Navigate to: Experience Vitals → New Frontend → Mobile
  3. Enter app name and choose Flutter as the platform
  4. 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.
  5. 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.

Step 3 — Add the dependency

Read pubspec.yaml first.

  • Not present: Run:
    bash
    flutter pub add dynatrace_flutter_plugin
  • Already under dependencies: No change — proceed to Step 4.
  • Under dev_dependencies: Remove it from dev_dependencies, then run flutter pub add dynatrace_flutter_plugin. The plugin is required at runtime, including in release builds.

Step 4 — Fetch dependencies

If Step 3 ran flutter pub add, dependencies are already fetched — skip this step.

Otherwise run:

bash
flutter pub get

Confirm success before continuing.

Step 5 — Run the Dynatrace configuration script

bash
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:

  • flutter pub run dynatrace_flutter_plugin — wrong, use dart run dynatrace_flutter_plugin
  • Manual edits to build.gradle / build.gradle.kts or Info.plist — not needed
Show full SKILL.md (358 more words)Show less

Step 6 — Bootstrap the SDK in main.dart

Read lib/main.dart. Replace runApp(...) with Dynatrace().start(...):

dart
import 'package:dynatrace_flutter_plugin/dynatrace_flutter_plugin.dart';
import 'package:flutter/material.dart';

void main() {
  Dynatrace().start(const MyApp());
}
  • Dynatrace().start() calls runApp internally — remove any separate runApp call
  • WidgetsFlutterBinding.ensureInitialized() is not required by Dynatrace before start(), but keep it if your app needs it for other pre-start initialization (for example, plugin or platform setup)
  • Do not await Dynatrace().start() itself; only use await for other app initialization that must complete before calling start()

Step 7 — Add navigation tracking

In the root MaterialApp or CupertinoApp, add DynatraceNavigationObserver() to navigatorObservers:

dart
MaterialApp(
  navigatorObservers: [DynatraceNavigationObserver()],
  ...
)
dart
CupertinoApp(
  navigatorObservers: [DynatraceNavigationObserver()],
  ...
)

Step 7a — Privacy options call (only if userOptIn: true)

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.

Step 8 — HTTP instrumentation (if applicable)

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:

PackageInstrumentation
httpDynatrace().createHttpClient() — replace http.Client() at the construction site
dart:io HttpClientManual timing via Dynatrace().createWebRequestTiming(...) — no drop-in wrapper exists

createHttpClient() accepts an optional client: parameter to wrap an existing client instance. Find every http.Client() construction site in the project and replace it with Dynatrace().createHttpClient().

If none are present, note it for when network calls are added.

Step 9 — Post-setup summary

Confirm to the user what is active:

Enabled by default (when userOptIn is false or absent):

  • ✅ Crash reporting
  • ✅ User action tracking
  • ✅ Network monitoring
  • ✅ Lifecycle monitoring
  • ✅ Auto-start

When userOptIn: true, all data collection — including crash reporting — is gated on the applyUserPrivacyOptions(...) call.

Configured during this setup:

  • Privacy mode: [userOptIn: true — consent call added / opt-out (SDK default)]
  • Navigation tracking: [DynatraceNavigationObserver added]
  • HTTP instrumentation: [applied / not applicable yet]

Step 10 — Verification

Read references/verification.md and show the user the verification checklist. If no data appears after 5 minutes, work through the troubleshooting steps in that file.

Reference Files

  • references/config-yaml.md — Full dynatrace.config.yaml template with Grail and userOptIn conditional blocks
  • references/user-opt-in.md — applyUserPrivacyOptions guidance, DataCollectionLevel options, placement options
  • references/verification.md — Post-setup verification checklist and troubleshooting

External References

© Dynatrace, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/dt-setup-flutter of Dynatrace/dynatrace-for-ai.

  • SKILL.md
  • references/config-yaml.md
  • references/user-opt-in.md
  • references/verification.md

Open the folder on GitHubat commit 4f9aa71

Compare with similar skills

Dt Setup Flutter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dt Setup Flutter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dt Setup Flutter this skillDynatrace/dynatrace-for-ai162—~2kAutomated safety check: PassApache-2.0
Add Flutter Docusaurus Localematthiasn/lotti1.2k—~1.2kAutomated safety check: PassGPL-3.0
Tm Launcher DesignFar-Se/tabame372—~3.1kAutomated safety check: PassMIT
Flutter Initbear2u/my-skills933—~2.5kAutomated safety check: PassNone
Mobile App UI Designceorkm/mobile-app-ui-design403—~2kAutomated safety check: PassNone
Marionette Flutter Drive Appleancodepl/marionette_mcp482—~11kAutomated safety check: PassApache-2.0

Similar skills

  • Add, complete, or audit a locale across a Flutter application's ARB catalogs and a localized Docusaurus manual, including generated localization code, locale selectors, native platform declarations…

    1.2k GitHub stars~1.2k tokensUpdated today
    MobileAuto-check passed
  • Tm Launcher Design

    Far-Se/tabame

    Create or revise Tabame's Flutter launcher designs: frames, search bars, result rows, palettes, typography, and action dialogs.

    372 GitHub stars~3.1k tokensUpdated yesterday
    MobileAuto-check passed
  • Flutter Init

    bear2u/my-skills

    A skill your agent uses when user wants to create a new Flutter project (Todo/Habit/Note/Expense/Custom domain) with Clean Architecture, Riverpod 3.0, Drift, and modern Flutter stack

    933 GitHub stars~2.5k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Mobile App UI Design

    ceorkm/mobile-app-ui-design

    Design high-quality mobile app UI/UX screens, flows, and components.

    403 GitHub stars~2k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Marionette Flutter Drive App

    leancodepl/marionette_mcp

    Set up and drive a running Flutter app (debug or profile) with Marionette — an AI agent's hands and eyes for the app.

    482 GitHub stars~11k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Flutter Screenshot

    JustLookAtNow/pt_mate

    Capture and show two Flutter UI screenshots for this project: one landscape/large-screen preview and one portrait/mobile preview, without using Flutter Web.

    503 GitHub stars~511 tokensUpdated 3 days ago
    MobileAuto-check passed

More from Dynatrace/dynatrace-for-ai

All 33 skills in this repo
  • Dt Obs Analytics

    Dynatrace/dynatrace-for-ai

    Analyze dashboards and notebooks using Davis analyzers — anomaly detection, novelty scoring, and correlation.

    162 GitHub stars~3.9k tokensUpdated 7 days ago
    Auto-check passed
  • Dt Setup iOS

    Dynatrace/dynatrace-for-ai

    Set up the Dynatrace iOS SDK (OneAgent) in an iOS project using Swift Package Manager.

    162 GitHub stars~3.3k tokensUpdated 7 days ago
    Auto-check passed
  • Dt Alerting

    Dynatrace/dynatrace-for-ai

    End-to-end Dynatrace alerting lifecycle — anomaly detector setup and model selection (static threshold, adaptive baseline, seasonal baseline), alert event storage in Grail, problem grouping and…

    162 GitHub stars~3.3k tokensUpdated 7 days ago
    Auto-check passed
  • Dt Obs AWS

    Dynatrace/dynatrace-for-ai

    AWS cloud resource monitoring including EC2, RDS, Lambda, ECS/EKS, VPC networking, load balancers, S3, DynamoDB, SQS/SNS, and cost optimization.

    162 GitHub stars~4.2k tokensUpdated 7 days ago
    Auto-check passed
  • Dt Obs Ext Monitors

    Dynatrace/dynatrace-for-ai

    3rd-party test and monitor result ingestion into Dynatrace Grail via the platform events ingest API (platform/ingest/custom/events/).

    162 GitHub stars~1.5k tokensUpdated 7 days ago
    Auto-check passed
  • Dt Obs Problems

    Dynatrace/dynatrace-for-ai

    DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry.

    162 GitHub stars~4.6k tokensUpdated 7 days ago
    Auto-check passed

Works with

Categories

Questions about Dt Setup Flutter

What does Dt Setup Flutter do?

Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification. Dt Setup Flutter is an agent skill from Dynatrace/dynatrace-for-ai. Integrate the Dynatrace Flutter Plugin into a Flutter project — dependency setup, config, SDK bootstrap, navigation tracking, and verification.

When should I use Dt Setup Flutter?

Dt Setup Flutter fits situations like: : querying Flutter RUM data (use dt-obs-frontends); non-Flutter mobile setups; dynatrace server-side configuration.

How do I install Dt Setup Flutter in Claude Code?

Run `npx skills add Dynatrace/dynatrace-for-ai --skill dt-setup-flutter -a claude-code`. Or copy the skill folder (skills/dt-setup-flutter in Dynatrace/dynatrace-for-ai) into .claude/skills/dt-setup-flutter in your project. Claude Code loads it when a task matches its description.

How do I install Dt Setup Flutter in Codex?

Run `npx skills add Dynatrace/dynatrace-for-ai --skill dt-setup-flutter -a codex`. Or copy the skill folder (skills/dt-setup-flutter in Dynatrace/dynatrace-for-ai) into .agents/skills/dt-setup-flutter in your project. Codex loads it when a task matches its description.

Can I use Dt Setup Flutter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Dynatrace/dynatrace-for-ai --skill dt-setup-flutter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dt-setup-flutter, .gemini/skills/dt-setup-flutter, .github/skills/dt-setup-flutter and .opencode/skills/dt-setup-flutter in your project.

What does Dt Setup Flutter need to run?

Going by SKILL.md and its folder, Dt Setup Flutter needs the command-line tools its instructions call (flutter and dart).

Does Dt Setup Flutter access the network?

SKILL.md names 2 domains. As links in the text: pub.dev and docs.dynatrace.com. This is read from the text; nothing was executed.

Is Dt Setup Flutter safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Dt Setup Flutter use?

Dt Setup Flutter is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dt Setup Flutter use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.

What are the alternatives to Dt Setup Flutter?

Skills that share tags, products or a category with Dt Setup Flutter: Add Flutter Docusaurus Locale (matthiasn/lotti, 1.2k stars), Tm Launcher Design (Far-Se/tabame, 372 stars), Flutter Init (bear2u/my-skills, 933 stars) and Mobile App UI Design (ceorkm/mobile-app-ui-design, 403 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dt Setup Flutter?

Dynatrace (a GitHub organization) maintains it in Dynatrace/dynatrace-for-ai, which has 162 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 1, 2026.

Source: Dynatrace/dynatrace-for-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.