·
Last changedVersion:
This version passed the hardening gate. Hardening applied 6 targeted changes and preserved all other text. Classified findings before hardening: 1. Classified findings closed: 1. Classified findings remaining: 0. Unclassified scanner findings remaining: 0. Review findings closed: 7. Review findings remaining: 13.
1
None
Expand | File | Group | Subtype | Severity | Status |
|---|---|---|---|---|---|
SKILL.md | Prompt Injection | Third-party content as instructions | Low | Closed |
1 finding
This skill is the plumbing layer. It gives an AI agent a reliable way to talk to a FlowStudio MCP server, discover what tools are available, and handle the responses cleanly. The actual workflow narratives live in four specialized skills that all build on this one.
Skills are organized by use-case intent, not by which tools they call. Multiple skills reuse the same underlying tools — pick by what the user is trying to accomplish.
| The user wants to… | Load this skill |
|---|---|
Make or change a flow (build new, modify existing, fix a bug, deploy) |
|
Diagnose why a flow failed (root cause analysis on a failing run) |
|
See tenant-wide flow health, failure rates, asset inventory |
|
Tag, audit, classify, score, or offboard flows |
|
Just connect, set up auth, write the helper, parse responses | this skill (foundation) |
Same tools, different lenses. flowstudio-power-automate-build and flowstudio-power-automate-debug
both call update_live_flow, get_live_flow, and the run-error tools — they
differ in direction (forward vs backward) and intent (compose vs diagnose).
flowstudio-power-automate-monitoring and flowstudio-power-automate-governance both call the Store
tools — they differ in audience (ops vs compliance) and outcome (read
health vs write metadata). Don't try to memorize "which tools belong to which
skill"; pick the skill by what the user is doing.
| Priority | Source | Covers |
|---|---|---|
1 | Real API response | |
2 |
| Authoritative tool schemas, parameter names, types, required flags |
3 | SKILL docs & reference files | Workflow narrative, response shapes, non-obvious behaviors |
If documentation disagrees with a real API response, the API wins. Tool schemas
in this skill (or any other) may lag the server — call tool_search to confirm
the current shape before invoking a tool you haven't used recently.
The FlowStudio MCP server (v1.1.5+) exposes two non-billable meta-tools that
let an agent load only the tools relevant to the current task. Use these in
preference to tools/list (which loads all 30+ schemas at once) or guessing
tool names.
| Meta-tool | When to call |
|---|---|
| Cold start — see the available bundles ( |
| Load the full schema set for one bundle (e.g. |
| Load specific tools by name (e.g. when chaining across bundles) |
| Free-text search when the user request is ambiguous (e.g. |
The server's tool_search bundles are intentionally narrower than this
skill family — they're starter packs of the most-likely-needed tools per
intent. A workflow skill (e.g. flowstudio-power-automate-debug) may pull a bundle and
then call tool_search again for additional tools as the workflow progresses.
Current common bundles:
| Bundle | Use when |
|---|---|
| Creating a brand-new flow; includes environment/connection discovery, connector description, dynamic options, and |
| Reading or modifying an existing flow definition |
| Investigating failed runs and action-level inputs/outputs |
| Starting/stopping, triggering, cancelling, or resubmitting runs |
| Enumerating environments, flows, and connections |
| Pro+ cached-store tagging, maker audit, and metadata updates |
All examples in this skill family use Python with urllib.request
(stdlib — no pip install needed). Node.js is an equally valid choice:
fetch is built-in from Node 18+, JSON handling is native, and async/await
maps cleanly onto the request-response pattern of MCP tool calls — making it
a natural fit for teams already working in a JavaScript/TypeScript stack.
| Language | Verdict | Notes |
|---|---|---|
Python | Recommended | Clean JSON handling, no escaping issues, all skill examples use it |
Node.js (≥ 18) | Recommended | Native |
PowerShell | Avoid for flow operations |
|
cURL / Bash | Possible but fragile | Shell-escaping nested JSON is error-prone; no native JSON parser |
Use this helper throughout all subsequent operations:
Equivalent helper for Node.js 18+ (built-in fetch — no packages required):
A 3-line smoke test that confirms the token, endpoint, and helper all work:
Expected output:
If this fails, see the Common auth errors note above. If it succeeds, hand off to the workflow skill matching the user's intent.
Some MCP tool responses are large enough to overflow the agent's context window:
| Tool | Typical size | Cause |
|---|---|---|
| 100-600 KB | Full Swagger spec for a connector |
| 50-500 KB | Dynamic connector field schemas such as SharePoint list columns |
| 50 KB – several MB | Top-level action outputs; with an action in a foreach, every repetition can be returned |
| 50-500 KB | Deeply nested branches |
| 50-200 KB | Hundreds of flow records |
Agent harnesses (Claude Code, VS Code Copilot, etc.) save oversized responses
to a temp file (e.g. tool-results/mcp-flowstudio-describe_live_connector-NNNN.txt)
and return the path instead of the inline JSON. The file is double-wrapped —
the outer MCP envelope plus the inner JSON-escaped payload:
Two parses to reach a usable object:
operationId, one action's outputs) and discard the rest before reasoning about it.actionName to get_live_flow_run_action_outputs. Omitting it fetches all top-level actions. For actions inside a foreach, passing actionName without iterationIndex can return every repetition of that action.\"OperationId\":), so a plain grep for "OperationId": will not match. Parse first, then filter.name + state + trigger for flow lists and actionName + status + code for run errors — not raw JSON, unless asked.| Field | Value |
|---|---|
Auth header |
|
Token format | Plain JWT — do not strip, alter, or prefix it |
Timeout | Use ≥ 120 s for |
Environment name |
|
tool_search)Get started with chainctlchainctl skill install public/github/flowstudio-power-automate-mcp:latest
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
skills.cgr.dev/public/github.com/github/skills/flowstudio-power-automate-mcp:latest
MIT
HARDENING.md
LICENSE
SKILL.md
references/MCP-BOOTSTRAP.md
references/action-types.md
references/connection-references.md
references/tool-reference.md