MCPInstall

powerplatform

Generate Power Automate flows from natural language. Reads connector schemas from work repo, outputs deployable solution files. USE WHEN user says 'create flow', 'power automate', 'automate workflow', or describes a business process to automate.

Installs
50
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/robdtaylor/personal-ai-infrastructure --skill powerplatform
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads powerplatform automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

PowerPlatform - Flow Generation Skill

Generate Power Automate flows from natural language descriptions using connector schemas exported from your work environment.

Workflow Routing

Power Platform has no Workflows/ directory — each request routes to a starting template in templates/ (customized against the connector schemas), then packages via tools/package-solution.sh. Reference examples in examples/ show finished flows.

Trigger phraseStarting templateReference
"notify", "send a message when", "alert on new email/item"templates/notification-flow.jsonexamples/urgent-email-teams-notification.json
"approval", "route for sign-off", "approve/reject"templates/approval-flow.jsonexamples/sharepoint-item-approval.json
"scheduled report", "every week/day send", "recurring summary"templates/scheduled-report.jsonexamples/weekly-report.json
"save attachments", "process incoming email files"templates/email-attachment-handler.jsonreference/actions.md
Anything else / build from scratchbuild inline from schemareference/expressions.md, reference/triggers.md, reference/actions.md

Always start by reading ~/Projects/work/scripts/power-platform/manifest.json to confirm the needed connectors are available before generating.


Examples

Example 1: Teams notification on urgent email

User: "When an urgent email arrives in my work inbox, post it to the Ops Teams channel"
-> Reads manifest.json → confirms shared_office365 + shared_teams available
-> Starts from templates/notification-flow.json
-> Trigger: When_a_new_email_arrives (Office365), condition on importance = high
-> Action: Post_message_in_a_chat_or_channel (Teams)
-> Packages via tools/package-solution.sh
-> Saves to ~/Projects/work/scripts/power-platform/generated/urgent-email-notify.zip

Example 2: Document approval workflow

User: "Make a flow for document approval - when a file is added to SharePoint, start an approval, then move to approved/rejected folder"
-> Starts from templates/approval-flow.json
-> Trigger: When_a_file_is_created (SharePoint)
-> Action: Start_and_wait_for_an_approval (Approvals)
-> Condition branches on outcome → Update_item to move to approved/rejected library
-> Outputs deployable solution ZIP for import at work

Example 3: Scheduled weekly report

User: "Every Monday at 8am, pull last week's list items and email me a summary"
-> Starts from templates/scheduled-report.json
-> Trigger: Recurrence (Schedule), weekly on Monday 08:00
-> Action: Get_items (SharePoint) + Apply_to_each to build HTML table
-> Action: Send_an_email (Office365) with @{length(body('Get_items')?['value'])} count
-> Saves to generated/ as weekly-report.zip

Architecture

Work Repo (schemas)                    PAI (this skill)
~/Projects/work/scripts/               ~/.claude/skills/PowerPlatform/
power-platform/
├── connectors/          ──reads──>    ├── SKILL.md
│   ├── shared_teams.json              ├── templates/
│   ├── shared_outlook.json            ├── reference/
│   └── ...                            └── examples/
├── manifest.json
└── generated/           <──writes──   [Solution ZIPs]

Workflow

1. Check Available Connectors

Before generating, read the manifest to see what connectors are available:

cat ~/Projects/work/scripts/power-platform/manifest.json

If manifest.json doesn't exist or is stale, inform user to run the export script at work.

2. Parse User Request

Extract from natural language:

  • Trigger: What starts the flow (email arrives, file created, scheduled, manual)
  • Actions: What the flow does (send message, create item, update record)
  • Conditions: Any branching logic (if/then, switch)
  • Data flow: What data passes between steps

3. Generate Flow Definition

Create the flow JSON following Power Automate schema. Key structure:

{
  "properties": {
    "definition": {
      "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
      "triggers": { ... },
      "actions": { ... }
    },
    "connectionReferences": { ... }
  }
}

4. Package as Solution

Wrap in solution structure for import:

solution/
├── [Content_Types].xml
├── customizations.xml
├── solution.xml
└── Workflows/
    └── {flow-guid}-{flow-name}.json

5. Output

Save to: ~/Projects/work/scripts/power-platform/generated/


Connection References

Flows use connection references that map to actual connections in the target environment. Use placeholder IDs that will be resolved on import:

"connectionReferences": {
  "shared_teams": {
    "connectionName": "shared_teams",
    "source": "Embedded",
    "id": "/providers/Microsoft.PowerApps/apis/shared_teams",
    "tier": "NotSpecified"
  }
}

On import, Power Platform prompts user to map these to their actual connections.


Expression Syntax

Power Automate uses a specific expression language. Common patterns:

Dynamic Content References

@{triggerOutputs()?['body/subject']}           # Email subject from trigger
@{body('Get_item')?['Title']}                  # Field from previous action
@{items('Apply_to_each')?['name']}             # Current item in loop

Functions

@{utcNow()}                                    # Current timestamp
@{concat('Hello ', triggerBody()?['name'])}   # String concatenation
@{if(equals(1,1),'yes','no')}                 # Conditional
@{length(body('Get_items')?['value'])}        # Array length
@{formatDateTime(utcNow(),'yyyy-MM-dd')}      # Date formatting

Conditions

"expression": {
  "and": [
    { "contains": ["@triggerOutputs()?['body/subject']", "urgent"] },
    { "equals": ["@triggerOutputs()?['body/importance']", "high"] }
  ]
}

See reference/expressions.md for full syntax guide.


Common Triggers

TriggerConnectorUse Case
When_a_new_email_arrivesOffice365Email automation
When_a_file_is_createdSharePointDocument workflows
When_an_item_is_createdSharePointList automation
When_a_row_is_addedDataverseDatabase triggers
RecurrenceScheduleScheduled jobs
manualManualButton-triggered
When_a_HTTP_request_is_receivedHTTPWebhook/API trigger

Common Actions

ActionConnectorUse Case
Send_an_emailOffice365Email notifications
Post_message_in_a_chat_or_channelTeamsTeam notifications
Create_itemSharePointAdd list items
Update_itemSharePointModify list items
Start_and_wait_for_an_approvalApprovalsApproval workflows
Create_a_rowDataverseDatabase writes
HTTPHTTPExternal API calls

Templates

Pre-built patterns in templates/:

  • approval-flow.json - Standard approval workflow
  • notification-flow.json - Event-triggered notifications
  • scheduled-report.json - Scheduled data collection
  • form-processing.json - Forms response handling
  • file-sync.json - Cross-system file operations

Generation Process

When asked to create a flow:

  1. Read available schemas:

    ls ~/Projects/work/scripts/power-platform/connectors/
    cat ~/Projects/work/scripts/power-platform/manifest.json
    
  2. Load relevant connector schemas for the requested functionality

  3. Select appropriate template or build from scratch

  4. Generate flow JSON with:

    • Unique GUID for flow
    • Proper trigger configuration
    • Action sequence with correct operation IDs
    • Connection references for all connectors used
    • Expression syntax for dynamic content
  5. Create solution package using tools/package-solution.sh

  6. Save to generated folder and inform user


Limitations

  • Cannot deploy directly - User must import at work
  • Connection mapping required - User maps connections on import
  • Premium connectors - Some require premium licenses
  • Custom connectors - Not supported without schema export
  • Schema freshness - Depends on export frequency at work

Files Reference

FilePurpose
templates/*.jsonPre-built flow patterns
reference/expressions.mdExpression syntax guide
reference/triggers.mdTrigger configurations
reference/actions.mdAction configurations
examples/*.jsonWorking example flows
tools/package-solution.shSolution packager script

FAQ

What does the powerplatform skill do?

Generate Power Automate flows from natural language. Reads connector schemas from work repo, outputs deployable solution files. USE WHEN user says 'create flow', 'power automate', 'automate workflow', or describes a business process to automate.

How do I install powerplatform?

Run npx skills add https://github.com/robdtaylor/personal-ai-infrastructure --skill powerplatform in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/powerplatform/ (personal) or .claude/skills/powerplatform/ (project).

Which AI agents can use powerplatform?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is powerplatform safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains powerplatform?

It is published by robdtaylor in robdtaylor/personal-ai-infrastructure. It has 50 recorded installs.

More from robdtaylor/personal-ai-infrastructure

View all →

businessstrategy

robdtaylor/personal-ai-infrastructure

MBA-trained business strategist with full commercial awareness. USE WHEN user says 'business plan', 'financial analysis', 'P&L', 'cash flow', 'valuation', 'market analysis', 'competitive analysis', 'SWOT', 'business model', 'unit economics', 'fundraising', 'pitch deck', or needs strategic business guidance.

Business & Finance489 installs

structuralfea

robdtaylor/personal-ai-infrastructure

Open source FEA structural analysis for damper and mechanical components. Generates CalculiX input files, guides mesh setup, provides material databases, interprets results. USE WHEN user says 'FEA', 'structural analysis', 'stress analysis', 'buckling', 'modal analysis', 'finite element', 'CalculiX', 'mesh', or needs to validate damper component designs.

Frontend & Design118 installs

shippinglogistics

robdtaylor/personal-ai-infrastructure

UK, US, and Canadian shipping, logistics, customs, duties, and tariff expert with automotive commodity code expertise. Covers import/export documentation, HS/HTS codes, rules of origin, FTAs, and landed cost calculations. USE WHEN user says 'shipping', 'customs', 'tariff', 'duty', 'import', 'export', 'HS code', 'HTS code', 'commodity code', 'landed cost', 'incoterms', 'customs broker', 'freight', 'logistics', 'rules of origin', 'CUSMA', 'USMCA', 'TCA', or needs help with international trade compliance.

DevOps & Cloud101 installs

supplychain

robdtaylor/personal-ai-infrastructure

Executive-level supply chain expertise for automotive manufacturing. Strategic purchasing, materials management, supplier development, and cost optimization aligned with IATF 16949 requirements. USE WHEN user says 'supply chain', 'purchasing', 'procurement', 'supplier', 'materials management', 'inventory', 'sourcing', 'vendor', 'BOM cost', 'PPV', 'should cost', 'make vs buy', 'RFQ', 'category management', or needs strategic guidance on automotive supply chain decisions. Integrates with AutomotiveManufacturing, A3CriticalThinking, and HoshinKanri skills.

DevOps & Cloud89 installs

automotivemanufacturing

robdtaylor/personal-ai-infrastructure

Expert guidance for writing automotive manufacturing business processes, work instructions, and standard operating procedures. Follows IATF 16949, ISO 9001, and APQP/PPAP standards. Covers assembly, machining, quality/inspection, and material handling. USE WHEN user says 'write work instruction', 'create business process', 'automotive SOP', 'manufacturing procedure', 'APQP documentation', 'process flow', or 'quality procedure'. Integrates with A3CriticalThinking for problem solving and SupplyChain for supplier requirements.

Docs & Writing80 installs

quoteestimator

robdtaylor/personal-ai-infrastructure

Rough cycle time and cost estimation for CNC machined parts. Uses MNMUK plant capabilities and standard estimating factors. USE WHEN user says 'quote', 'estimate', 'cycle time', 'how long', 'cost estimate', 'pricing', 'how much to make', or describes a part needing a rough quote.

DevOps & Cloud56 installs

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。