<< All versions

Skill v1.0.0

currentTrusted Publisher100/100
microsoft/power-platform-skills/analyze-performance
──Details
PublishedOctober 11, 2026 at 04:49 AM
Content Hashsha256:6ada2c8187e00293...
Git SHA
──Files
Files (1 file, 3.4 KB)
SKILL.md3.4 KBactive
SKILL.md · 55 lines · 3.4 KB

version: "1.0.0" name: analyze-performance description: Use when investigating slow activities, waiting, handoff duration, bottlenecks or cumulative activity workload. allowed-tools: Read, AskUserQuestion


Performance: averages are not total impact

Use the shared contract and units/filter semantics. Reuse S, baseline F and metadata; do not request a baseline overview for an exact top-bottleneck question.

Ordered recipe

Choose the smallest entry branch:

  1. Slow activities by mean:

get_bottleneck_analysis_v2 {S,itemsPerPage:5,itemsToSkip:0,mcpFilterOptions:F}. Omit absent F. Duration is average activity duration, already ranked descending. Do not pass attributeName, metrics, aggregation or limit.

  1. Cumulative activity duration: skip step 1 if this alone was requested.

From metadata take the exact Activity import attribute A; never assume its name is "Activity". If advertised, call get_attribute_statistics {S,attributeName:A,filterOptions:F,itemsPerPage:5,itemsToSkip:0,metricToSortBy:"TotalDuration",sortOrder:"Descending"}. There is no `_v2` suffix. For an event-level Activity, TotalDuration sums matching events; AvgDuration is their mean. Keep EventFrequency and CaseFrequency distinct. RelativeCaseFrequency is a ratio; overlapping activity groups' case counts are not additive.

  1. Only for unresolved evidence, choose a targeted drilldown:

get_edges_with_metrics_v2 {S,filterOptions:F,itemsPerPage:20,itemsToSkip:0} for handoffs, or get_cases_with_metrics_v2 {S,filterOptions:F,itemsPerPage:5,itemsToSkip:0,metricToSortBy:"WaitingTime",sortOrder:"Descending"}. Reuse earlier compatible results. Continue relevant drilldowns/pages without fixed call or total-row ceilings; each query must resolve missing evidence, not repeat an answered question.

Boundaries and stopping

Missing statistics: report the cumulative-measure gap, optionally average-only bottleneck evidence. Never derive population totals from top-five averages or call a hidden statistics tool. Edges expose no sort input: local ranking of one incomplete page is page-local, not global. Report the native edge Duration mean; do not relabel it as an independently established waiting metric. For a requested global edge ranking, retrieve necessary pages to complete coverage before ranking; if coverage is incomplete, explicitly leave the global result unresolved. Event/attribute filters retain whole cases, not just matching events. Check timestamp imports before interpreting utilization: zero-duration conventions with start-only data can produce nonzero ratios without measured active work. Keep raw values and use same-scope cohort evidence; see the unit reference.

Stop once answered or evidence/capability is exhausted. Show at most five headline rows with separate mean, total and frequency columns only when returned, scope/units and coverage. High duration is an investigation lead, not proof of cause or a guaranteed time saving. Mean activity duration times process case count is not total workload: cases are not activity occurrences. Even known workload is not an intervention's removable delay. Use the investigation method to label observations and tested findings, retain counterevidence and identify a discriminating next check.

All versions