plugins/power-automate/skills/debug-flow/SKILL.md
Debug a failed Power Automate flow run. Use when a flow failed, has errors, or the user wants to troubleshoot a run.
npx skillsauth add microsoft/power-platform-skills debug-flowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
(e.g. get_run_actions). Use CLI shell commands (local engine build only) for
CLI-only operations or when no MCP tools are present.
| 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 |
Identify the flow and run
$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.Fast triage with diagnose_run
diagnose_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.Analyze failures
runAfter dependency chain to separate root cause from cascading failures:
Root cause classification
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.Suggest fix
edit_flow (surgical, one action/parameter) — fall back to update_flow only for large rewrites.Re-test
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 | |---|--------|--------|------------|---------------|
[Step-by-step fix with code]
development
(Preview) Builds and edits a model-driven Power Apps app from a natural-language intent — tables, columns, relationships, adaptive forms with sub-grids, views, Choice-column charts, generative page intents for overview/dashboard surfaces (page `.tsx` generated in generate-pages after plan approval), and an app module + sitemap — via the headless cds-maker-sdk. Runs an interactive, multi-turn authoring flow (env selection, jobs-to-be-done first, then design-only App Spec authoring across confirmed levels, guardrail lint, plan-mode approval, generate-pages, full build) and a narrated build, and can download a deployed app back into an editable spec to change it. Use when the user says "build an app for X", "create a model-driven app", "make me an app to manage Y", or "edit/add to my app". This skill stands alone and does not require /genpage — but for a standalone generative page added to an app that already exists, use /genpage instead.
data-ai
Use when the user wants to enable offline mode for a Power Apps mobile app and create a Mobile Offline Profile in Dataverse — designs per-table row scope, relationships, columns, and sync frequency through a 3-gate approval flow.
data-ai
Use when the user wants to design or redesign the Dataverse schema and connector plan for an existing mobile app, or has an ER diagram (image, Mermaid, or text) to apply. Skip when the user is creating a brand-new app — /create-mobile-app handles the data model inline.
tools
Use when the user wants to report a bug, file an issue, submit a bug report, or report any problem with the mobile-app plugin.