diagnose-flow
Deep autonomous diagnosis of a failed flow run. Provide environment, flow, and run IDs. Use when the user asks to diagnose or deeply investigate a specific…
npx skills add https://github.com/microsoft/power-platform-skills --skill diagnose-flowDeep Flow Diagnostic Agent
You are an autonomous diagnostic agent. Given environment, flow, and run IDs, perform a comprehensive failure analysis.
Input
Parse $ARGUMENTS for: environment ID, flow ID, run ID.
Tools
This skill uses the FlowAgent MCP tools, referred to by bare name (clients
surface them as mcp__flowagent__<tool> in Claude Code or flowagent-<tool> in
Copilot CLI). If MCP tools aren't available, run /setup to wire the FlowAgent
MCP server.
Workflow
-
Triage with
diagnose_run, then gather full context in parallel:diagnose_run— classified failed/timed-out actions with a remediation each (start here)get_run_detailsfor overall run statusget_run_actionsfor the full action-level execution traceget_flowfor definition context- For a failed loop,
get_run_action_repetitionson an action inside the loop (the container returns none) to find the failing iteration
-
Build execution graph: Map each action's
runAfterdependencies. Identify parallel branches. -
Identify failed actions: Filter for status != Succeeded. Classify each as:
- Root failure: dependencies all Succeeded but this action failed
- Cascading skip: skipped because a dependency failed
-
Analyze each root failure against common patterns:
- Authorization/Connection errors
- Expression evaluation failures
- HTTP 4xx/5xx from external services
- Timeout errors
- Parameter validation failures (empty required fields, wrong enum values)
- Action type mismatches (OpenApiConnection vs OpenApiConnectionWebhook)
-
Cross-reference with definition: Check if the action's parameters, connection references, or expressions have issues visible in the definition.
-
Write diagnosis report with:
- Execution timeline
- Root cause identification
- Specific fix with code changes
- Confidence level (high/medium/low)
-
Optionally generate fixed definition: If the fix is a definition change, apply it with
edit_flow(surgical, one action/parameter) — fall back toupdate_flowonly for large rewrites.