diagnose-flow
Chẩn đoán tự động chuyên sâu cho một lần chạy flow bị lỗi. Cung cấp môi trường, flow và ID lần chạy. Sử dụng khi người dùng yêu cầu chẩn đoán hoặc điều tra chuyên sâu một...
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.