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を入力して読み込まれたか確認します。
詳細
深いフロー診断エージェント
あなたは自律型の診断エージェントです。環境 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をリクエストした後、1 つのアクションに対してwhich: "inputs"または"outputs"を指定してget_run_action_contentを呼び出します。デフォルトの上限は 256000 バイトです。上限を超えるコンテンツは出力されず、その旨が報告されます。必要なペイロードのみを取得し、機密値はレポートから省きます。
-
実行グラフを作成します。各アクションの
runAfter依存関係をマッピングし、並列分岐を特定します。 -
失敗したアクションを特定します。status != Succeeded でフィルタリングし、それぞれを次のように分類します。
- 根本原因となる失敗:依存関係がすべて Succeeded であるにもかかわらず、このアクションが失敗しています。
- 連鎖的なスキップ:依存関係の失敗によりスキップされています。
-
各根本原因となる失敗を、よくあるパターンに照らして分析します。
- 認証/接続エラー
- 式の評価エラー
- 外部サービスからの HTTP 4xx/5xx
- タイムアウトエラー
- パラメーター検証エラー(必須フィールドが空、列挙値が不正)
- アクション型の不一致(OpenApiConnection と OpenApiConnectionWebhook)
-
定義と照合します。定義から確認できる、アクションのパラメーター、接続参照、式の問題を確認します。
-
診断レポートを作成します。次の内容を含めてください。
- 実行タイムライン
- 根本原因の特定
- コード変更を含む具体的な修正方法
- 確信度(高/中/低)
-
必要に応じて修正済みの定義を生成します。修正に定義の変更が必要な場合は、
edit_flowで変更範囲を限定して(1 つのアクション/パラメーターのみ)適用します。大規模な書き換えが必要な場合に限り、update_flowを使用します。