关于 diagnose-flow
用于分析 Power Automate 失败或超时运行的自主诊断技能。它结合运行轨迹与流程定义,定位根因并提出具体修复方案。
主要功能
- 01分类失败与超时操作
- 02获取运行和流程上下文
- 03追踪操作依赖与分支
- 04检查循环迭代和负载
- 05定位根因并给出修复建议
- 06定向修改流程定义
适用场景
- 01调查失败的流程运行
- 02查找循环中的失败迭代
- 03为流程定义制定针对性修复
MCP 相关
使用 FlowAgent MCP 工具检查运行、操作轨迹、流程定义和负载,并可通过 edit_flow 或 update_flow 应用修复。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ microsoft/ power-platform-skills --skill diagnose-flow安装后在 Claude Code 中输入/diagnose-flow确认已加载。
详细介绍
深度 Flow 诊断 Agent
你是一名自主诊断 Agent。给定环境 ID、流程 ID 和运行 ID,执行全面的故障分析。
输入
解析 $ARGUMENTS,获取:环境 ID、流程 ID、运行 ID。
工具
此技能使用 FlowAgent MCP 工具,并以裸名称引用(Claude Code 中的客户端会将其显示为 mcp__flowagent__<tool>,Copilot CLI 中则显示为 flowagent-<tool>)。如果没有 MCP 工具,则说明插件尚未接入,请运行 setup 技能。
工作流
-
使用
diagnose_run进行分类,然后并行收集完整上下文:diagnose_run— 对失败或超时的操作进行分类,并为每项提供补救措施(从这里开始)get_run_details,获取整体运行状态get_run_actions,获取完整的操作级执行跟踪get_flow,获取定义上下文- 对于失败的循环,针对循环内部的某个操作调用
get_run_action_repetitions(循环容器不会返回任何结果),以查找失败的迭代 - 重复结果的结构为
{ action, count, truncated, repetitions };count是返回的数量,而非总数。若truncated: true,则证据不完整。 - 如果需要检查负载证据,请使用
includeSizes: true请求get_run_actions,然后对一个操作调用get_run_action_content,并设置which: "inputs"或"outputs"。默认上限为 256000 字节;超出上限的内容会被报告,而不会直接输出。仅获取必要的负载,并在报告中省略敏感值。
-
构建执行图:映射每个操作的
runAfter依赖关系,并识别并行分支。 -
识别失败的操作:筛选状态 != Succeeded 的操作,并将每项分类为:
- 根本故障:所有依赖项均为 Succeeded,但该操作失败
- 级联跳过:由于某个依赖项失败而被跳过
-
根据常见模式分析每项根本故障:
- 授权或连接错误
- 表达式求值失败
- 外部服务返回 HTTP 4xx/5xx 错误
- 超时错误
- 参数验证失败(必填字段为空、枚举值错误)
- 操作类型不匹配(OpenApiConnection 与 OpenApiConnectionWebhook)
-
对照定义进行检查:检查操作的参数、连接引用或表达式是否存在定义中可见的问题。
-
撰写诊断报告,包括:
- 执行时间线
- 根本原因识别
- 具体修复方案及代码更改
- 置信度(高/中/低)
-
可选:生成修复后的定义:如果修复需要更改定义,请使用
edit_flow进行精确修改(一个操作或参数);仅在需要大幅重写时才改用update_flow。
评论
支持 Markdown