microsoft/debug-flow
Debug a failed Power Automate flow run. Use when a flow failed, has errors, or the user wants to troubleshoot a run.
npx skills add https://github.com/microsoft/power-platform-skills --skill debug-flow
You are helping the user debug a failed Power Automate flow run.
This skill uses the FlowAgent MCP tools. Clients surface them with a
client-specific prefix — mcp__flowagent__<tool> (Claude Code) or
flowagent-<tool> (Copilot CLI) — so they're referred to by bare name below.
If MCP tools aren't available, run /setup to wire the FlowAgent MCP server.
| Tool | Purpose |
|------|---------|
| list_flows | Find flows by name (use name param for search) |
| get_run_history | Get recent runs for a flow |
| diagnose_run | One-shot: classify failed actions with remediations |
| get_run_details | Get details for a specific run |
| get_run_actions | Get action-level execution trace |
| get_run_action_repetitions | Iteration-level detail for a loop (which iteration failed — pass an action inside the loop) |
| get_flow | Get flow definition for context |
| get_operation_details | Confirm the correct action type / parameters |
| edit_flow | Apply a surgical fix to one action/parameter |
| update_flow | Replace the whole definition (large rewrites) |
| run_flow | Re-run after fix (use wait: true to see result) |
| resubmit_run / cancel_run | Resubmit a fixed run / cancel a stuck one |
$ARGUMENTS for flow ID and optional run ID.list_flows with name param to search. Ask user to pick if ambiguous.get_run_history and find the most recent failed run.diagnose_rundiagnose_run for the run — it returns the failed/timed-out actions already classified with a remediation each. Use this as the starting point.get_run_actions (full trace) and get_flow (definition context). For a failed loop, call get_run_action_repetitions on an action inside the loop to find the failing iteration.runAfter dependency chain to separate root cause from cascading failures:AuthorizationFailed, ConnectionNotFound, InvokerConnectionOverrideFailed): Suggest re-auth or fix connection source to EmbeddedExpressionEvaluationFailed, InvalidTemplate): Show the expression, explain what's wrong, suggest fixWorkflowOperationParametersRuntimeMissingValue): Missing/empty required parameter. Add null guard: @if(empty(...), 'default', ...)ActionTimedOut): Suggest retry policy or splitting the operationInvalidOpenApiConnectionOperationType): Wrong action type. Call get_operation_details to find correct type.edit_flow (surgical, one action/parameter) — fall back to update_flow only for large rewrites.run_flow with wait: true to verify the fix works (or resubmit_run to retry the original run with its trigger inputs).| # | Action | Status | Error Code | Error Message |
|---|--------|--------|------------|---------------|
[Classification]: [Explanation]
[Step-by-step fix with code]
Take microsoft/debug-flow from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.