Agent skill

Dt Obs Problems

by Dynatrace in Dynatrace/dynatrace-for-ai

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

Apache-2.0Auto-check passedDevelopment

Install Dt Obs Problems

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

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

GitHub CLI
$ gh skill install Dynatrace/dynatrace-for-ai dt-obs-problems --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-obs-problems .claude/skills/dt-obs-problems && 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-obs-problems
GitHub stars
161
Token cost
~4.6k tokens
SKILL.md length
1,317 words
Files
5 (incl. references)
Skills in repo
33
Repo updated
First seen
Licence
Apache-2.0

At a glance

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

  • Works in 3 steps: Active Problem Triage → Root Cause Investigation → Problem Trending
  • Investigating detected problems
  • SKILL.md covers Use Cases, Overview, Problem Categories and Problem Lifecycle, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Dt Obs Problems is an agent skill from Dynatrace/dynatrace-for-ai. DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry. Use when querying or investigating detected problems. Trigger: "active problems", "root cause analysis", "problem impact", "affected users", "list problems", "P-12345 details", "recurring problems", "problem history", "problem trending", "blast radius", "which entity caused the problem", "problems affecting Kubernetes", "problems by service". Do NOT use for explaining existing queries, product…

Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/impact-analysis.md`, `references/problem-correlation.md` and `references/problem-merging.md`).

It sits in Development, covering Root cause analysis, Observability and Technical writing. It works with Kubernetes. 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

  • Investigating detected problems
  • Explaining existing queries
  • Product documentation questions
  • Generic log searching

Example prompts

  • “active problems”
  • “root cause analysis”
  • “problem impact”
  • “/dt-obs-problems”

Workflow steps

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

  1. Active Problem Triage
  2. Root Cause Investigation
  3. Problem Trending

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are dql).

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

  • Network

    No URLs in SKILL.md.

    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 Obs Problems loads about 4.6k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 158 tokens; SKILL.md has 1,317 words of instructions outside code blocks.

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

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). 1,317 words, ~4,602 tokens.

Download SKILL.mdSave it as .claude/skills/dt-obs-problems/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
dt-obs-problems
description
DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry. Use when querying or investigating detected problems. Trigger: "active problems", "root cause analysis", "problem impact", "affected users", "list problems", "P-12345 details", "recurring problems", "problem history", "problem trending", "blast radius", "which entity caused the problem", "problems affecting Kubernetes", "problems by service". Do NOT use for explaining existing queries, product documentation questions, generic log searching, distributed tracing, or host-level resource monitoring.
license
Apache-2.0

Problem Analysis Skill

Analyze Dynatrace AI-detected problems including root cause identification, impact assessment, and correlation with logs and metrics.


Use Cases

1. Active Problem Triage
  • Goal: List and prioritize currently active problems
  • Trigger: "active problems", "what problems are open", "current issues", "availability issues"
  • Done: Prioritized list of active problems with category, user impact, and display IDs
2. Root Cause Investigation
  • Goal: Identify the root cause entity for a specific problem
  • Trigger: "root cause of P-12345", "what caused this problem", "which entity is the root cause"
  • Done: Root cause entity identified with affected entity list and blast radius
  • Goal: Analyze problem patterns over time to identify recurring issues
  • Trigger: "recurring problems", "problem history", "problem trends last 30 days"
  • Done: Trend data showing problem frequency, recurring root causes, and resolution times

Overview

Dynatrace automatically detects anomalies, performance degradations, and failures across your environment, creating problems that aggregate related alert, warning and info-level events and provide root cause and impact insights.

What are Problems?

Problems are automatically detected, software and infrastructure health and resilience issues that:

  • Automatically correlate related alert, warning, and info-level events across services, infrastructure, frontend applications, and user sessions
  • Identify root causes using causal analysis of Smartscape dependencies
  • Assess business impact by tracking affected users and services
  • Reduce alert noise by grouping related symptoms into single problems that share the same root cause and impact
  • Track problem lifecycle from early detection through resolution
Event Kinds

The event.kind field (stable, permission) identifies the high-level event type:

event.kind valueDescription
DAVIS_EVENTDavis-detected infrastructure/application events
BIZ_EVENTBusiness events (ingested via API or captured from spans)
RUM_EVENTReal User Monitoring events
AUDIT_EVENTAdministrative/security audit events

event.provider (stable, permission) identifies the event source.

Problem Categories

Common event.category values:

CategoryDescriptionExample
AVAILABILITYInfrastructure or service unavailableWeb service returns no data, synthetic test actively fails, database connection lost
ERRORIncreased error rates beyond baselineAPI error rate jumped from 0.1% to 15%
SLOWDOWNPerformance degradationResponse time increased from 200ms to 5000ms
RESOURCEResource saturationContainer memory at 95%, causing OOM kills
CUSTOMCustom anomaly detectionsBusiness KPI (orders/minute) dropped below threshold

Problem Lifecycle

text
Detection → ACTIVE → Under Investigation → CLOSED
  • ACTIVE: Currently occurring issues requiring attention
  • CLOSED: Resolved issues used for historical analysis

Essential Fields

Common Field Name Mistakes
❌ WRONG✅ CORRECTDescription
titleevent.nameProblem title/description
statusevent.statusProblem lifecycle status
severityevent.categoryProblem type/category
startevent.startProblem start time
Correct Status Values
dql
// ✅ CORRECT: Use these status values
fetch dt.davis.problems
| filter event.status == "ACTIVE"   // Currently occurring problems
//     or event.status == "CLOSED"  // Resolved problems
// ❌ INCORRECT: event.status == "OPEN" does not exist!
| limit 1
Key Fields Reference
dql
fetch dt.davis.problems, from:now() - 1h
| filter not(dt.davis.is_duplicate)
| fields
    event.start,                          // Problem start timestamp
    event.end,                            // Problem end timestamp (if closed)
    display_id,                           // Human-readable problem ID (P-XXXXX)
    event.name,                           // Problem title
    event.description,                    // Detailed description
    event.category,                       // Problem type
    event.status,                         // ACTIVE or CLOSED
    dt.smartscape_source.id,              // The smartscape ID for the affected resource
    dt.davis.affected_users_count,        // Number of affected users
    affected_entity_ids = smartscape.affected_entities[][id],  // Array of affected entity IDs
    dt.smartscape.service,                // Affected services (may be array)
    dt.davis.root_cause_entity,           // Entity identified as root cause
    root_cause_entity_id,                 // Root cause entity ID
    root_cause_entity_name,               // Human-readable root cause name
    dt.davis.is_duplicate,                // Whether duplicate detection
    dt.davis.is_rootcause                 // Root cause vs. symptom
| limit 10

Standard Query Pattern

Always start problem queries with this foundation:

dql
fetch dt.davis.problems, from:now() - 2h
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| fields event.start, display_id, event.name, event.category
| sort event.start desc
| limit 20

Key components:

  • fetch dt.davis.problems - The problems data source
  • not(dt.davis.is_duplicate) - Filter out duplicate detections
  • event.status == "ACTIVE" - Show only active problems
  • Time range - Always specify a reasonable window

Common Query Patterns

Active Problems by Category
dql
fetch dt.davis.problems
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| summarize problem_count = count(), by: {event.category}
| sort problem_count desc
High-Impact Active Problems (affecting many users)
dql
fetch dt.davis.problems
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter dt.davis.affected_users_count > 100
| fields event.start, display_id, event.name, dt.davis.affected_users_count, event.category
| sort dt.davis.affected_users_count desc
High-Impact Active Problems (affecting many smartscape entities)
dql
fetch dt.davis.problems
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter arraySize(affected_entity_ids) > 5
| fields event.start, display_id, event.name, affected_entity_ids, event.category, impacted_entity_count = arraySize(affected_entity_ids)
| sort impacted_entity_count desc
Specific Problem Details
dql
fetch dt.davis.problems
| filter display_id == "P-XXXXXXXXXX"
| fields event.start, event.end, event.name, event.description, affected_entity_ids, dt.davis.affected_users_count, root_cause_entity_id, root_cause_entity_name
Service-Specific Problem History
dql
fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter in(dt.smartscape.service, toSmartscapeId("SERVICE-XXXXXXXXX"))
| summarize problems = count(), by: {event.category, event.status}

Root Cause Analysis Patterns

Basic Root Cause Query
dql
fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| fields
    display_id,
    event.name,
    event.description,
    root_cause_entity_id,
    root_cause_entity_name,
    affected_entity_ids = smartscape.affected_entities[][id]
Root Cause by Entity Type

Identify which entity types most frequently cause problems:

dql
fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter isNotNull(root_cause_entity_id)
| summarize problem_count = count(), by:{root_cause_entity_name}
| sort problem_count desc
| limit 20
Affected entity is an AWS resource
dql
fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter iAny(startsWith(smartscape.affected_entities[][type], "AWS_"))
Infrastructure Root Cause with Service Impact
dql
fetch dt.davis.problems, from:now() - 30m
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter matchesPhrase(root_cause_entity_id, "HOST-")
| filter isNotNull(dt.smartscape.service)
| fields display_id, event.name, root_cause_entity_name, dt.smartscape.service
Problem Blast Radius

Calculate entity impact per root cause:

dql
fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter isNotNull(root_cause_entity_id)
| fieldsAdd affected_count = arraySize(smartscape.affected_entities)
| summarize
    avg_affected = avg(affected_count),
    max_affected = max(affected_count),
    problem_count = count(),
    by:{root_cause_entity_name}
| sort avg_affected desc
Recurring Root Causes

Identify entities repeatedly causing problems:

dql
fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate)
| filter isNotNull(root_cause_entity_id)
| summarize
    problem_count = count(),
    first_occurrence = min(event.start),
    last_occurrence = max(event.start),
    by:{root_cause_entity_id, root_cause_entity_name}
| filter problem_count > 3
| sort problem_count desc
Cause Category vs. Root Cause Entity

These are different questions — pick the right approach:

  • "What causes problems?" / "most common cause" → Summarize by event.category (SLOWDOWN, ERROR, RESOURCE, AVAILABILITY, CUSTOM). Explain what triggers each category.
  • "Which entity causes problems?" / "root cause entity" → Group by root_cause_entity_name. Lists specific services, hosts, or apps.

Cause category breakdown (use when asked about common causes, patterns, or types):

dql
fetch dt.davis.problems, from:now() - 30d
| filter not(dt.davis.is_duplicate)
| summarize problem_count = count(), by: {event.category}
| sort problem_count desc

Then for each category, explain what triggers it using the Problem Categories table and cite specific entities from the tenant data as examples.

Track problem trends over time, identify recurring issues, and analyze resolution performance.

Primary Files:

  • references/problem-trending.md - Timeseries analysis and pattern detection

Common Use Cases:

  • Active problems over time with makeTimeseries
  • Problem creation rate by category
  • Recurring problem detection by schedule
  • Resolution time trends and P95 duration analysis

Key Techniques:

  • makeTimeseries vs bin(): Choose the right approach for lifecycle spans vs discrete events
  • NULL handling: Use coalesce(event.end, now()) for active problems
  • Peak hours analysis: Identify when problems occur most frequently
  • Impact trending: Track user impact changes over time

See references/problem-trending.md for complete query patterns and best practices.

Cross-Domain Problem Queries

Problems Associated with Kubernetes Clusters

Use affected_entity_ids or dt.smartscape_source.id to find problems related to Kubernetes:

dql
fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter matchesPhrase(dt.smartscape_source.id, "KUBERNETES_CLUSTER")
    OR matchesPhrase(dt.smartscape_source.id, "K8S_")
| fields event.start, display_id, event.name, event.category, event.status,
    dt.smartscape_source.id, affected_entity_ids
| sort event.start desc

Alternative: expand affected entities and filter for K8s entity types:

dql
fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| expand entity_id = affected_entity_ids
| filter matchesPhrase(entity_id, "KUBERNETES_CLUSTER")
    OR matchesPhrase(entity_id, "K8S_")
| fields event.start, display_id, event.name, event.category, entity_id
| sort event.start desc
Simple Problem Listing

List all problems from the last 24 hours (common request):

dql
fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate)
| fields event.start, event.end, display_id, event.name, event.category, event.status
| sort event.start desc

Response Construction

Problem Cause Summaries

When summarizing problem causes, categories, or patterns, provide a comprehensive breakdown across all standard categories present in the data: AVAILABILITY, ERROR, SLOWDOWN, RESOURCE, and CUSTOM. For each category found:

  1. Category name and count of problems
  2. What triggers it — brief explanation (e.g., RESOURCE = CPU/memory/disk threshold exceeded; AVAILABILITY = service or entity became unreachable)
  3. Specific examples from the tenant's data (affected entity names, problem IDs)

Do not stop after the first two categories — users expect the full picture. Reference the Problem Categories table above for trigger descriptions.

Show full SKILL.md (490 more words)Show less
Analysis Results

When presenting query results:

  • Include entity names (not just IDs) — but choose the efficient method:
    • Few entities (< 5): get-entity-name calls are fine
    • Many entities: Use query-problems tool which returns names directly, or include root_cause_entity_name / entityName() in the DQL query to resolve names inline. Avoid calling get-entity-name in a loop for 10+ entities — this can exhaust the tool call limit and return no answer at all.
  • Provide actionable recommendations aligned to the identified causes
  • Organize by frequency or impact for easy prioritization

Best Practices

Essential Rules
  1. Always filter duplicates: Use not(dt.davis.is_duplicate) to avoid counting the same problem multiple times
  2. Use correct status values: "ACTIVE" or "CLOSED", never "OPEN"
  3. Specify time ranges: Always include time bounds to optimize performance
  4. Include display_id: Essential for problem identification and linking
  5. Test incrementally: Add one filter or field at a time when building queries
  6. Filter early: Apply not(dt.davis.is_duplicate) immediately after fetch
Query Development
  • Start simple: Begin with basic filtering, then add complexity
  • Test fields first: Run with | limit 1 to verify field names exist
  • Use meaningful time ranges: Too broad wastes resources, too narrow misses data
  • Document problem IDs: Always capture and store display_id for reference
Root Cause Verification
  • Always filter isNotNull(root_cause_entity_id) when required
  • Cross-reference events using dt.davis.event_ids
  • Consider time delays: root cause may appear in logs minutes before problem
Time Range Guidelines
dql
// ✅ GOOD - Specific time range
fetch dt.davis.problems, from:now() - 4h
dql
// ❌ BAD - Scans all historical data
fetch dt.davis.problems
Absolute Timeframes Require Double Quotes

When using absolute ISO 8601 timestamps for from and to in DQL queries, always wrap them in double quotes. Unquoted timestamps are a syntax error.

dql
// ✅ CORRECT - absolute timestamps quoted
fetch dt.davis.problems, from: "2026-05-18T22:50:00Z", to: "2026-05-18T23:35:00Z"
| filter not(dt.davis.is_duplicate)
| fields event.start, display_id, event.name, event.category, event.status
| sort event.start desc

Troubleshooting

ProblemCauseSolution
No problems returnedUsing event.status == "OPEN"Use "ACTIVE" or "CLOSED" — "OPEN" does not exist
Duplicate problems in resultsMissing deduplication filterAdd filter not(dt.davis.is_duplicate) immediately after fetch
Wrong field name (title, status, severity)SQL-like namingUse event.name, event.status, event.category — see field name table above
root_cause_entity_id is nullNot all problems have identified root causesAdd filter isNotNull(root_cause_entity_id) when querying root causes
Query scans too much data / times outMissing time rangeAlways specify from:now() - <duration> on the fetch command
affected_entity_ids is empty arrayProblem has no mapped affected entitiesCheck dt.smartscape.service or dt.smartscape_source.id as alternatives

When to Load References

  • Analyzing problem frequency over time
  • Detecting recurring problems on a schedule
  • Calculating resolution time trends and P95 durations
  • Comparing problem creation rates by category
Load problem-correlation.md when:
  • Correlating problems with logs or other telemetry
  • Investigating events that preceded a problem
  • Linking problems to deployment or config changes
Load impact-analysis.md when:
  • Assessing business impact (affected users, services)
  • Calculating blast radius for a root cause entity
  • Prioritizing problems by technical and user impact

References

  • dt-dql-essentials - Core DQL syntax and query structure for problem queries
  • dt-obs-logs - Correlate problems with application and infrastructure logs
  • dt-obs-tracing - Investigate problems through distributed trace analysis

© 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 4 other files (references) in skills/dt-obs-problems of Dynatrace/dynatrace-for-ai.

  • SKILL.md
  • references/impact-analysis.md
  • references/problem-correlation.md
  • references/problem-merging.md
  • references/problem-trending.md

Open the folder on GitHubat commit 4f9aa71

Compare with similar skills

Dt Obs Problems 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 Obs Problems compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dt Obs Problems this skillDynatrace/dynatrace-for-ai161—~4.6kAutomated safety check: PassApache-2.0
Kubernetes Network Root Cause Analysiskubeshark/kubeshark12k—~5.3kAutomated safety check: PassApache-2.0
Kubernetes Troubleshooting with Inspektor Gadgetinspektor-gadget/inspektor-gadget2.9k—~2.3kAutomated safety check: PassApache-2.0
Production Error Huntdifferent-ai/openwork24k—~803Automated safety check: PassCustom licence
Debug MasteryxenitV1/claude-code-maestro229—~2.5kAutomated safety check: NotesMIT
Debugging Techniquesancoleman/ai-design-components526—~3.3kAutomated safety check: PassMIT

Similar skills

  • Investigates past Kubernetes incidents from Kubeshark traffic snapshots: takes captures, dissects API calls, extracts PCAPs and compares traffic over time.

    12k GitHub stars~5.3k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Kubernetes Troubleshooting with Inspektor Gadget

    inspektor-gadget/inspektor-gadget

    Traces what the kernel is doing for a misbehaving pod using Inspektor Gadget's eBPF tools, tagged with namespace, pod, container and node, without changing workloads.

    2.9k GitHub stars~2.3k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Production Error Hunt

    different-ai/openwork

    Traces an opaque production error in an OpenWork build to its cause using local server logs and Sentry, names the regressing PR and files a report.

    24k GitHub stars~803 tokensUpdated today
    DevelopmentAuto-check passed
  • Debug Mastery

    xenitV1/claude-code-maestro

    Systematic debugging methodology with 4-phase process, root cause tracing, and elite observability standards.

    229 GitHub stars~2.5k tokensUpdated 8 mo ago
    DevelopmentAuto-check: notes
  • Debugging Techniques

    ancoleman/ai-design-components

    Debugging workflows for Python (pdb, debugpy), Go (delve), Rust (lldb), and Node.js, including container debugging (kubectl debug, ephemeral containers) and production-safe debugging techniques with…

    526 GitHub stars~3.3k tokensUpdated 10 mo ago
    DevelopmentAuto-check passed
  • Agent Observability Trace Rca

    datadog-labs/agent-skills

    Root cause analysis on production LLM traces. An agent skill from datadog-labs/agent-skills.

    177 GitHub stars~10k tokensUpdated today
    DevelopmentAuto-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.

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

    161 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…

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

    161 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/).

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

    Dynatrace/dynatrace-for-ai

    Service performance monitoring with RED metrics (Rate, Errors, Duration) and runtime-specific telemetry for Java, .NET, Node.js, Python, PHP, and Go.

    161 GitHub stars~3.3k tokensUpdated 7 days ago
    Auto-check passed

Works with

Questions about Dt Obs Problems

What does Dt Obs Problems do?

DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry. Dt Obs Problems is an agent skill from Dynatrace/dynatrace-for-ai. DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry.

When should I use Dt Obs Problems?

Dt Obs Problems fits situations like: investigating detected problems; explaining existing queries; product documentation questions; generic log searching.

How do I install Dt Obs Problems in Claude Code?

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

How do I install Dt Obs Problems in Codex?

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

Can I use Dt Obs Problems 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-obs-problems -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-obs-problems, .gemini/skills/dt-obs-problems, .github/skills/dt-obs-problems and .opencode/skills/dt-obs-problems in your project.

What does Dt Obs Problems need to run?

SKILL.md names no scripts, command-line tools or credentials: Dt Obs Problems is instructions for the agent only.

Does Dt Obs Problems access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Dt Obs Problems 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 Obs Problems use?

Dt Obs Problems 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 Obs Problems use?

About 4.6k tokens (SKILL.md is roughly 18k 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 8.8k tokens, read only when the agent opens those files.

What are the alternatives to Dt Obs Problems?

Skills that share tags, products or a category with Dt Obs Problems: Kubernetes Network Root Cause Analysis (kubeshark/kubeshark, 12k stars), Kubernetes Troubleshooting with Inspektor Gadget (inspektor-gadget/inspektor-gadget, 2.9k stars), Production Error Hunt (different-ai/openwork, 24k stars) and Debug Mastery (xenitV1/claude-code-maestro, 229 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dt Obs Problems?

Dynatrace (a GitHub organization) maintains it in Dynatrace/dynatrace-for-ai, which has 161 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.