mcpField
D
diagnose-flow

diagnose-flow

github.com/microsoft开发1.1k150 次安装今天更新
代码仓库

关于 diagnose-flow

用于分析 Power Automate 失败或超时运行的自主诊断技能。它结合运行轨迹与流程定义,定位根因并提出具体修复方案。

主要功能

  1. 01分类失败与超时操作
  2. 02获取运行和流程上下文
  3. 03追踪操作依赖与分支
  4. 04检查循环迭代和负载
  5. 05定位根因并给出修复建议
  6. 06定向修改流程定义

适用场景

  1. 01调查失败的流程运行
  2. 02查找循环中的失败迭代
  3. 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 技能。

工作流

  1. 使用 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 字节;超出上限的内容会被报告,而不会直接输出。仅获取必要的负载,并在报告中省略敏感值。
  2. 构建执行图:映射每个操作的 runAfter 依赖关系,并识别并行分支。

  3. 识别失败的操作:筛选状态 != Succeeded 的操作,并将每项分类为:

    • 根本故障:所有依赖项均为 Succeeded,但该操作失败
    • 级联跳过:由于某个依赖项失败而被跳过
  4. 根据常见模式分析每项根本故障:

    • 授权或连接错误
    • 表达式求值失败
    • 外部服务返回 HTTP 4xx/5xx 错误
    • 超时错误
    • 参数验证失败(必填字段为空、枚举值错误)
    • 操作类型不匹配(OpenApiConnection 与 OpenApiConnectionWebhook)
  5. 对照定义进行检查:检查操作的参数、连接引用或表达式是否存在定义中可见的问题。

  6. 撰写诊断报告,包括:

    • 执行时间线
    • 根本原因识别
    • 具体修复方案及代码更改
    • 置信度(高/中/低)
  7. 可选:生成修复后的定义:如果修复需要更改定义,请使用 edit_flow 进行精确修改(一个操作或参数);仅在需要大幅重写时才改用 update_flow。

评论

支持 Markdown