agentleFS
MicrosoftKnown publishermicrosoft/power-platform-skills/plugins/power-automate/skills/debug-flow/SKILL.md

debug-flow

Skill1.1k starsChanged 6 days agoMITView on GitHub

Debug a failed Power Automate flow run. Use when a flow failed, has errors, or the user wants to troubleshoot a run. If the flow has no runs, says so plainly instead of guessing a cause.

3 other projects use a version of this.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Most recently taken up by

Who's talking about microsoft/power-platform-skills

The biggest 5 of 50 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 50

Talked about on GitHub (50 times).

On GitHub · 50

45 more on GitHub

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 0 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the user names an environment (or none is set), call resolve_environment first so the search runs in the right environment.

    line 42
  2. Very specific:

    If no flow ID, call list_flows with name param to search.

    line 43
  3. Very specific:

    If no run ID, call get_run_history and find the most recent failed run.

    line 44
  4. Very specific:

    Call diagnose_run for the run — it returns the failed/timed-out actions already classified with a remediation each.

    line 49
  5. Very specific:

    If the fix is a definition change, offer to apply it with edit_flow (surgical, one action/parameter) — fall back to update_flow only for …

    line 71

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Debug a Failed Flow Run

You are helping the user debug a failed Power Automate flow run.

Tools

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 (e.g. get_run_actions). Use CLI shell commands (local engine build only) for CLI-only operations or when no MCP tools are present.

ToolPurpose
list_flowsFind flows by name (use name param for search)
get_run_historyGet recent runs for a flow
diagnose_runOne-shot: classify failed actions with remediations
get_run_detailsGet details for a specific run
get_run_actionsGet action-level execution trace
get_run_action_contentRetrieve bounded recorded inputs or outputs for one action
get_run_action_repetitionsIteration-level detail for a loop (which iteration failed — pass an action inside the loop)
get_flowGet flow definition for context
get_operation_detailsConfirm the correct action type / parameters
edit_flowApply a surgical fix to one action/parameter
update_flowReplace the whole definition (large rewrites)
run_flowRe-run after fix (use wait: true to see result)
resubmit_run / cancel_runResubmit a fixed run / cancel a stuck one

Steps

  1. Identify the flow and run
    • Parse $ARGUMENTS for flow ID and optional run ID.
    • If the user names an environment (or none is set), call resolve_environment first so the search runs in the right environment.
    • If no flow ID, call list_flows with name param to search. Ask user to pick if ambiguous.
    • If no run ID, call get_run_history and find the most recent failed run.
    • If get_run_history returns no runs, stop and say so plainly ("this flow has no recorded runs in its history"). Do not invent a failure, do not diagnose from the definition as if it had failed; offer to check the trigger configuration or to run/test the flow instead.
    • Present recent runs in a table: Run ID | Status | Start Time | Error
  2. Fast triage with diagnose_run
    • Call diagnose_run for the run — it returns the failed/timed-out actions already classified with a remediation each. Use this as the starting point.
    • For deeper analysis, also fetch (in parallel): 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.
    • Repetition results are { action, count, truncated, repetitions }; count is the returned count, not the total. If truncated is true, do not infer absence from the returned subset.
    • When recorded payloads are needed, use get_run_actions with includeSizes: true, then get_run_action_content with the action name and which: "inputs" or "outputs". The default download cap is 256000 bytes; an oversized result is reported rather than dumped. Retrieve only what the diagnosis needs and avoid reproducing sensitive payloads in the report.
  3. Analyze failures
    • Identify actions with status != "Succeeded"
    • Trace the runAfter dependency chain to separate root cause from cascading failures:
      • Root cause: action whose dependencies all Succeeded but it failed
      • Cascading: actions skipped because a dependency failed
    • Report root cause actions with: name, type, error code, error message
  4. Root cause classification
    • Connection errors (AuthorizationFailed, ConnectionNotFound, InvokerConnectionOverrideFailed): Suggest re-auth or fix connection source to Embedded
    • Expression errors (ExpressionEvaluationFailed, InvalidTemplate): Show the expression, explain what's wrong, suggest fix
    • API/External errors (401/403/404/429/500+): Explain the HTTP error, check connector status
    • Parameter errors (WorkflowOperationParametersRuntimeMissingValue): Missing/empty required parameter. Add null guard: @if(empty(...), 'default', ...)
    • Timeout (ActionTimedOut): Suggest retry policy or splitting the operation
    • Type mismatch (InvalidOpenApiConnectionOperationType): Wrong action type. Call get_operation_details to find correct type.
  5. Suggest fix
    • Provide a specific fix with code/expression changes.
    • If the fix is a definition change, offer to apply it with edit_flow (surgical, one action/parameter) — fall back to update_flow only for large rewrites.
  6. Re-test
    • Offer to call run_flow with wait: true to verify the fix works (or resubmit_run to retry the original run with its trigger inputs).
    • Report the result: Succeeded/Failed with action details.

Output Format

Diagnosis Summary

  • Flow: [name] ([ID])
  • Run: [run ID] | [start time] | Status: [status]

Failed Actions

#ActionStatusError CodeError Message

Root Cause

Fix

[Step-by-step fix with code]

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.