CtrlK
BlogDocsLog inGet started
Tessl Logo

dt-obs-frontends

Real User Monitoring (RUM) on Dynatrace — web and mobile frontends. Core Web Vitals, user sessions, page performance, mobile crashes, frontend errors, and frontend-backend linking. Query via `user.events`, `user.sessions`, and `dt.frontend.*` metrics. Does NOT cover synthetic monitoring (HTTP/browser/network checks) — that's a separate domain.

65

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/dt-obs-frontends/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

86%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-structured, token-efficient overview with excellent progressive disclosure: a lean body, real one-level-deep references mapped to workflows, and a concrete drill-down pattern. The main improvement would be an executable starter DQL query and an explicit zero-results/permissions checkpoint wired into the drill-down flow.

Suggestions

Include one complete starter query in the body, e.g. `timeseries avg:dt.frontend.web.page.largest_contentful_paint, by: {frontend.name} | filter dt.rum.user_type == "real_user"`, so users get copy-paste-ready DQL without opening a reference.

Add an explicit validation step to the Drill-Down Pattern: "If a query returns zero rows, check sensitive-field permissions and see [references/troubleshooting.md](references/troubleshooting.md)" — the Field Permissions section notes filters on hidden fields silently return no results, but the workflow never loops back to it.

DimensionReasoningScore

Conciseness

The body is lean and dense: compact tables for data sources, filters, and narrowing dimensions; a one-line "Rule of thumb"; thresholds as a terse quick-reference. It explains nothing Claude already knows and every token carries Dynatrace-specific information (field names, the permissions policy, metric names), matching the 5 anchor (lean and efficient; every token earns its place) rather than the 4 anchor, which reserves room for trimmable over-explanation — none is evident.

5 / 5

Actionability

Concrete, specific guidance throughout: exact filter fields ("frontend.name", "characteristics.has_page_summary"), a copy-paste-ready policy statement, named metrics, and numeric thresholds. It falls short of the 5 anchor because the body contains no executable DQL example query — for a query-centric skill, a starter `timeseries`/`fetch` snippet would make the guidance fully copy-paste ready, leaving it at the 4 anchor (concrete with minor gaps) rather than below it, since the concrete field/policy specifics are unambiguous.

4 / 5

Workflow Clarity

The Drill-Down Pattern gives a clearly sequenced layered approach ("1. Identify the frontend" → "2. Find the affected page or view" → narrowing-dimension table), plus a source-selection rule of thumb and a workflow-to-reference map. It sits at the 4 anchor (clear sequence, minor gaps) rather than 5 because there are no explicit validation/error-recovery checkpoints in the main flow — e.g., "if zero results, check field permissions / see troubleshooting.md" is only implicit via the workflow table. The destructive/batch cap does not apply since these are read-only queries.

4 / 5

Progressive Disclosure

Verified against the actual bundle: all 12 reference files referenced in the body (characteristics.md, web-vitals.md, user-sessions.md, user-actions.md, error-tracking.md, frontend-backend-linking.md, csp-violations.md, mobile-monitoring.md, web-performance-analysis.md, visibility-changes.md, slow-page-load-playbook.md, troubleshooting.md) exist in ./references/, one level deep, each mapped to a named workflow in a table with explicit on-demand loading guidance ("Load the reference when you start the workflow, not upfront"). The body is a concise overview with the bulk appropriately split — a clear match to the 5 anchor.

5 / 5

Total

18

/

20

Passed

Description

70%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 specific, well-scoped description with excellent natural keywords and an explicit boundary against the nearest competing domain. Its one real weakness is the absence of an explicit "Use when..." trigger clause, which caps completeness.

Suggestions

Add an explicit trigger clause, e.g. "Use when investigating real-user page performance, Core Web Vitals regressions, frontend errors, mobile crashes, or user session behavior on Dynatrace."

Convert a couple of the topic nouns into action verbs (e.g., "Diagnose slow page loads and frontend errors, analyze Core Web Vitals and user sessions") to strengthen the action framing.

Add one or two common user phrasings as triggers, such as "page speed" or "app start/crash rate", to broaden natural-term coverage.

DimensionReasoningScore

Specificity

The description names the domain and lists several concrete capabilities — "Core Web Vitals, user sessions, page performance, mobile crashes, frontend errors, and frontend-backend linking" plus the concrete query surfaces "`user.events`, `user.sessions`, and `dt.frontend.*` metrics". It falls just short of the 5 anchor because capabilities are stated as topic nouns rather than explicit actions (the only verb is "Query via"), whereas the 5-anchor example is fully action-verb driven.

4 / 5

Completeness

The "what" is clear and detailed, but there is no "Use when..." clause or equivalent explicit trigger guidance — the rubric guideline caps completeness at 3 in that case. The "Does NOT cover synthetic monitoring" exclusion is a boundary, not a trigger, so this sits at the 3 anchor (clear what, when missing) and not the 4 anchor (both present).

3 / 5

Trigger Term Quality

Strong natural keywords users would actually say: "Real User Monitoring (RUM)", "Core Web Vitals", "user sessions", "mobile crashes", "frontend errors", "page performance". A few common variations are missing (e.g., "page speed", "app performance", "session duration"), so it matches the 4 anchor (good coverage, a few natural terms missing) rather than the 5 anchor's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: Dynatrace-specific tables and metrics ("`user.events`, `user.sessions`, and `dt.frontend.*`") plus an explicit exclusion — "Does NOT cover synthetic monitoring (HTTP/browser/network checks) — that's a separate domain" — that preempts the most likely mis-trigger. This matches the 5 anchor (clear niche, distinct triggers, minimal conflict risk) rather than the 4 anchor, which implies unresolved overlap with closely related skills.

5 / 5

Total

16

/

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.