Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

flowstudio-power-automate-mcp

FlowStudio MCP を通じて Power Automate に接続するための基盤スキルで、認証設定・Python/Node.js 製の再利用可能な MCP ヘルパー・`list_skills`/`tool_search` によるツール探索・大容量レスポンス処理を提供します。Power Automate にエージェントを接続する際は、最初にこのスキルを読み込んでください。専門的なワークフロー用途には `flowstudio-power-automate-build`・`flowstudio-power-automate-debug`・`flowstudio-power-automate-monitoring`(Pro+)・`flowstudio-power-automate-governance`(Pro+)を追加で読み込むことができ、それらすべての基盤として本スキルが機能します。利用には FlowStudio MCP サブスクリプションまたは互換サーバーが必要です(詳細: https://mcp.flowstudio.app)。

description の原文を見る

>- Foundation skill for Power Automate via FlowStudio MCP — auth setup, the reusable MCP helper (Python + Node.js), tool discovery via `list_skills` / `tool_search`, and oversized-response handling. Load this skill first when connecting an agent to Power Automate. For specialized workflows, load `flowstudio-power-automate-build`, `flowstudio-power-automate-debug`, `flowstudio-power-automate-monitoring` (Pro+), or `flowstudio-power-automate-governance` (Pro+) — each contains the workflow narrative, this skill provides the plumbing they all rely on. Requires a FlowStudio MCP subscription or compatible server — see https://mcp.flowstudio.app

SKILL.md 本文

Power Automate via FlowStudio MCP — Foundation

このスキルは基盤層です。AI エージェントが FlowStudio MCP サーバーと確実に通信でき、利用可能なツールを発見でき、レスポンスをクリーンに処理する方法を提供します。実際のワークフロー構成は、すべてこのスキルの上に構築される 4 つの特化したスキルに含まれています。

実際のデバッグ例: 子フローの式エラー | データ入力、フローのバグではない | Null 値が子フローをクラッシュさせる

必須: FlowStudio MCP サブスクリプション (または互換性のある Power Automate MCP サーバー)。以下が必要です:

  • MCP エンドポイント: https://mcp.flowstudio.app/mcp (すべてのサブスクライバーで共通)
  • API キー / JWT トークン (x-api-key ヘッダー — Bearer ではない)
  • Power Platform 環境名 (例: Default-<tenant-guid>)

どのスキルをいつ使うか

スキルは、呼び出すツールではなく、ユースケースの意図で整理されています。 複数のスキルが同じ基になるツールを再利用します — ユーザーが何を達成しようとしているかで選択してください。

ユーザーが望むことこのスキルを読み込む
フローを作成または変更 (新規作成、既存を修正、バグ修正、デプロイ)flowstudio-power-automate-build
フローが失敗した理由を診断 (失敗した実行の根本原因分析)flowstudio-power-automate-debug
テナント全体のフロー健全性、失敗率、資産インベントリを確認flowstudio-power-automate-monitoring (Pro+)
フローにタグ付け、監査、分類、スコアリング、またはオフボーディングflowstudio-power-automate-governance (Pro+)
接続、認証設定、ヘルパー作成、レスポンス解析を行うこのスキル (基盤)

同じツール、異なる視点。 flowstudio-power-automate-buildflowstudio-power-automate-debug は 両方とも update_live_flowget_live_flow、実行エラーツールを呼び出します — 異なるのは方向 (前進 vs 後進) と意図 (作成 vs 診断) です。 flowstudio-power-automate-monitoringflowstudio-power-automate-governance は両方とも Store ツールを呼び出します — 異なるのは対象者 (運用 vs コンプライアンス) と結果 (健全性読み取り vs メタデータ書き込み) です。「どのツールがどのスキルに属するか」を暗記しようとしないでください; ユーザーが何をしているかでスキルを選択してください。


信頼できる情報源

優先度ソース対象
1実際の API レスポンスサーバーが実際に返すものを常に信頼する
2tool_search / list_skills信頼できるツール スキーマ、パラメータ名、型、必須フラグ
3SKILL ドキュメント & リファレンス ファイルワークフロー構成、レスポンス形状、明白でない動作

ドキュメントが実際の API レスポンスと矛盾する場合、API が優先です。このスキル (または他のスキル) のツール スキーマはサーバーより遅れる可能性があります — 最近使用していないツールを呼び出す前に tool_search で現在の形状を確認してください。


エージェントがツールを発見する方法

FlowStudio MCP サーバー (v1.1.5+) は、エージェントが現在のタスクに関連するツールのみをロードできるようにする 2 つの非課金メタツールを公開します。tools/list (一度に 30+ のスキーマをすべてロード) またはツール名の推測の代わりにこれを使用してください。

メタツールいつ呼び出すか
list_skillsコールドスタート — 利用可能なバンドル (build-flowcreate-flowdebug-flowmonitor-flowdiscovergovernance) を確認して 1 つ選択
tool_search with query: "skill:<name>"1 つのバンドルの完全スキーマセットをロード (例: skill:debug-flow)
tool_search with query: "select:tool1,tool2"特定のツールを名前で指定してロード (バンドル全体でチェーンするとき)
tool_search with query: "<keywords>"ユーザーリクエストが曖昧なときにフリーテキスト検索 (例: "cancel run")

サーバーの tool_search バンドルは意図的にこのスキル ファミリーより狭くなっています — 意図ごとに最も必要な可能性が高いツールのスターターパックです。ワークフロー スキル (例: flowstudio-power-automate-debug) はバンドルをプルしてから、ワークフローが進むにつれて追加ツールについて tool_search を再度呼び出す場合があります。

# コールドスタート — 意図でバンドルを選択
skills = mcp("list_skills", {})
# [{"name": "debug-flow", "description": "Investigate why a flow is failing...",
#   "tools": ["get_live_flow_runs", "get_live_flow_run_error", ...]}, ...]

# バンドルのスキーマをロード
debug_tools = mcp("tool_search", {"query": "skill:debug-flow"})

現在の一般的なバンドル:

バンドル使用時期
create-flow新規フローを作成するとき; 環境/接続検出、コネクタ説明、動的オプション、update_live_flow を含む
build-flow既存のフロー定義を読み取りまたは変更するとき
debug-flow失敗した実行とアクション レベルの入出力を調査するとき
monitor-flow実行を開始/停止、トリガー、キャンセル、または再送信するとき
discover環境、フロー、接続を列挙するとき
governancePro+ キャッシュストア タグ付け、メーカー監査、メタデータ更新

推奨言語: Python または Node.js

このスキル ファミリーのすべての例は、Python with urllib.request を使用しています (stdlib — pip install は不要)。Node.js も同等の選択肢です: Node 18+ では fetch が組み込まれており、JSON 処理はネイティブで、async/await は MCP ツール呼び出しのリクエスト-レスポンス パターンにきれいにマップされます — JavaScript/TypeScript スタックで既に作業しているチームにとって自然な適合です。

言語判定注記
Python推奨クリーンな JSON 処理、エスケープの問題なし、すべてのスキル例で使用
Node.js (≥ 18)推奨ネイティブ fetch + JSON.stringify/JSON.parse; 追加パッケージなし
PowerShellフロー操作では避けるConvertTo-Json -Depth はネストされた定義をサイレントに切り詰めます; クォートとエスケープは複雑なペイロードを壊します。簡単な接続スモークテストには許容できますがフロー構築または更新には適していません。
cURL / Bash可能だが脆弱シェル エスケープ ネスト JSON はエラーが発生しやすい; ネイティブ JSON パーサーなし

TL;DR — 以下の Core MCP Helper (Python または Node.js) を使用してください。 両方とも JSON-RPC フレーミング、認証、レスポンス解析を単一の再利用可能な関数で処理します。


Core MCP Helper (Python)

以下の後続のすべての操作でこのヘルパーを使用します:

import json, urllib.request

TOKEN = "<YOUR_JWT_TOKEN>"
MCP   = "https://mcp.flowstudio.app/mcp"

def mcp(tool, args, cid=1):
    payload = {"jsonrpc": "2.0", "method": "tools/call", "id": cid,
               "params": {"name": tool, "arguments": args}}
    req = urllib.request.Request(MCP, data=json.dumps(payload).encode(),
        headers={"x-api-key": TOKEN, "Content-Type": "application/json",
                 "User-Agent": "FlowStudio-MCP/1.0"})
    try:
        resp = urllib.request.urlopen(req, timeout=120)
    except urllib.error.HTTPError as e:
        body = e.read().decode("utf-8", errors="replace")
        raise RuntimeError(f"MCP HTTP {e.code}: {body[:200]}") from e
    raw = json.loads(resp.read())
    if "error" in raw:
        raise RuntimeError(f"MCP error: {json.dumps(raw['error'])}")
    text = raw["result"]["content"][0]["text"]
    return json.loads(text)

一般的な認証エラー:

  • HTTP 401/403 → トークンが欠落、期限切れ、または不正な形式。mcp.flowstudio.app から新しい JWT を取得してください。
  • HTTP 400 → 不正な形式の JSON-RPC ペイロード。Content-Type: application/json と本文構造を確認してください。
  • MCP error: {"code": -32602, ...} → 間違っているか欠落しているツール引数。tool_searchselect:<toolname> で呼び出してスキーマを確認してください。

Core MCP Helper (Node.js)

Node.js 18+ 用の同等のヘルパー (組み込み fetch — パッケージは不要):

const TOKEN = "<YOUR_JWT_TOKEN>";
const MCP   = "https://mcp.flowstudio.app/mcp";

async function mcp(tool, args, cid = 1) {
  const payload = {
    jsonrpc: "2.0",
    method: "tools/call",
    id: cid,
    params: { name: tool, arguments: args },
  };
  const res = await fetch(MCP, {
    method: "POST",
    headers: {
      "x-api-key": TOKEN,
      "Content-Type": "application/json",
      "User-Agent": "FlowStudio-MCP/1.0",
    },
    body: JSON.stringify(payload),
  });
  if (!res.ok) {
    const body = await res.text();
    throw new Error(`MCP HTTP ${res.status}: ${body.slice(0, 200)}`);
  }
  const raw = await res.json();
  if (raw.error) throw new Error(`MCP error: ${JSON.stringify(raw.error)}`);
  return JSON.parse(raw.result.content[0].text);
}

Node.js 18+ が必要です。より古い Node の場合、fetch を stdlib の https.request に置き換えるか、node-fetch をインストールしてください。


接続を確認する

トークン、エンドポイント、ヘルパーがすべて機能することを確認する 3 行のスモークテスト:

skills = mcp("list_skills", {})
print(f"Connected — {len(skills)} skill bundles available:",
      [s["name"] for s in skills])

予想される出力:

Connected — 6 skill bundles available: ['build-flow', 'create-flow', 'debug-flow', 'monitor-flow', 'discover', 'governance']

これが失敗する場合は、上の一般的な認証エラーの注記を参照してください。成功した場合、ユーザーの意図に一致するワークフロー スキルに引き継いでください。


超大型レスポンスの処理

一部の MCP ツール レスポンスはエージェントのコンテキスト ウィンドウをオーバーフローするのに十分な大きさです:

ツール典型的なサイズ原因
describe_live_connector100-600 KBコネクタの完全 Swagger スペック
get_live_dynamic_properties50-500 KBSharePoint リスト列などの動的コネクタ フィールド スキーマ
get_live_flow_run_action_outputs (actionName なし)50 KB – 数 MB最上位のアクション出力; アクションが foreach 内にある場合、すべての反復を返すことができます
get_live_flow (大きなフロー)50-500 KB深くネストされたブランチ
list_live_flows (大きなテナント)50-200 KB数百のフロー レコード

ハーネスがファイルにこぼれる場合

エージェント ハーネス (Claude Code、VS Code Copilot など) は超大型レスポンスを一時ファイルに保存します (例: tool-results/mcp-flowstudio-describe_live_connector-NNNN.txt) パスを返し、インライン JSON ではなく。ファイルは二重ラップされています — 外側の MCP エンベロープと内側の JSON エスケープ ペイロード:

[{"type":"text","text":"<JSON-escaped payload>"}]

使用可能なオブジェクトに到達するには 2 つのパース:

import json
with open(path) as f:
    raw = json.loads(f.read())
payload = json.loads(raw[0]["text"])
$payload = ((Get-Content $path -Raw | ConvertFrom-Json)[0].text) | ConvertFrom-Json

経験則

  1. エコーしないで抽出する。 必要な特定のフィールド (1 つの operationId、1 つのアクションの出力) をプルして、それ以前の部分を破棄してください。
  2. 常に get_live_flow_run_action_outputsactionName を渡す。 省略するとすべての最上位アクションを取得します。foreach 内のアクション場合、iterationIndex なしで actionName を渡すと、そのアクションのすべての反復を返すことができます。
  3. セッション内でスピル ファイルを再利用する。 同じコネクタ swagger を再取得すると 30+ 秒かかり、別のスピルが生成されます — パスをキャッシュしてください。
  4. スピル ファイルで JSON キーを直接 grep しない。 文字列はファイル内で JSON エスケープされています (\"OperationId\":), したがってプレーン grep は "OperationId": にマッチしません。最初に解析してからフィルター処理してください。
  5. ツール出力をユーザーに要約する。 フロー リストの name + state + trigger と実行エラーの actionName + status + code をエコーしてください — 要求されない限り、raw JSON ではなく。
# 良い — コネクタ swagger の 1 つの操作にドリル ダウン
conn = mcp("describe_live_connector", {"environmentName": ENV, "connectorName": "shared_sharepointonline"})
op = conn["properties"]["swagger"]["paths"]["/datasets/{dataset}/tables/{table}/items"]["get"]
print(op["operationId"], "—", op.get("summary"))

# 悪い — 全体の 500 KB swagger をコンテキストに保つ
print(json.dumps(conn, indent=2))   # これをしないでください

認証と接続の注記

フィールド
認証ヘッダーx-api-key: <JWT>Authorization: Bearer ではない
トークン形式プレーン JWT — 削除、変更、プレフィックスを付けないでください
タイムアウトget_live_flow_run_action_outputs (大きな出力) には ≥ 120 秒を使用
環境名Default-<tenant-guid> (list_live_environments または list_live_flows レスポンスで検出)

リファレンス ファイル

  • MCP-BOOTSTRAP.md — エンドポイント、認証、リクエスト/レスポンス形式 (最初にこれを読んでください)
  • tool-reference.md — レスポンス形状と動作の注記 (パラメータは tool_search にあります)
  • action-types.md — Power Automate アクション型パターン
  • connection-references.md — コネクタ リファレンス ガイド

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT