$npx -y skills add microsoft/power-platform-skills --skill create-flowGuided flow creation wizard. Use when the user wants to create a new flow interactively.
| 1 | # Guided Flow Creation Wizard |
| 2 | |
| 3 | Walk the user through creating a Power Automate flow step by step. |
| 4 | |
| 5 | ## Tools |
| 6 | |
| 7 | This skill uses the **FlowAgent MCP tools**. Clients surface them with a |
| 8 | client-specific prefix — `mcp__flowagent__<tool>` (Claude Code) or |
| 9 | `flowagent-<tool>` (Copilot CLI) — so they're referred to by bare name below. |
| 10 | If MCP tools aren't available, run `/setup` to wire the FlowAgent MCP server. |
| 11 | |
| 12 | ## Steps |
| 13 | |
| 14 | 1. **Gather requirements**: Ask what the flow should do. Identify triggers, actions, connectors. |
| 15 | |
| 16 | 2. **Select environment**: Call `list_environments` (use `query` to filter). Let user pick or auto-select. |
| 17 | |
| 18 | 3. **Check for templates**: Call `list_templates`. If a template matches (approval, digest, webhook, etc.), offer to use `scaffold_flow` as a starting point. |
| 19 | |
| 20 | 4. **Discover connectors**: For each connector, call `get_connector` with `query` to find the operation, then `get_operation_details` for exact parameters. **Never guess parameter names or types.** |
| 21 | |
| 22 | 5. **Verify connections**: Call `list_connections` filtered by each connector. Confirm Connected status. |
| 23 | |
| 24 | 6. **Resolve dynamic values**: For params with `dynamicValues`/`dynamicTree` annotations, call `invoke_operation` to get actual values (Teams channels, SharePoint sites, etc.). |
| 25 | |
| 26 | 7. **Review with user**: Present the flow design. Use AskUserQuestion to confirm trigger, actions, and connections before creating. |
| 27 | |
| 28 | 8. **Generate definition**: Build following all rules: |
| 29 | - Always declare `$authentication` (SecureObject) and `$connections` (Object) parameters |
| 30 | - Use correct action type: `OpenApiConnection` or `OpenApiConnectionWebhook` (from `get_operation_details`) |
| 31 | - Do NOT include `authentication` in action inputs |
| 32 | - Use `Embedded` source in connection references |
| 33 | - HTTP Request triggers require Premium; prefer `Button` kind |
| 34 | |
| 35 | 9. **Validate**: Call `validate_flow` (and optionally `preflight_flow`) to pre-check. For expressions, look up syntax with `get_expression_help`. |
| 36 | |
| 37 | 10. **Create**: Call `create_flow` in Stopped state. Report ID and name. |
| 38 | |
| 39 | 11. **Optionally publish**: Ask if user wants to enable. If yes, call `publish_flow`. For later one-off tweaks, use `edit_flow` (surgical) rather than resending the whole definition. |