bookworm-smart-assistant/skills/workflow-automation-expert/SKILL.md

185 lines
7.6 KiB
Markdown
Raw Permalink Normal View History

---
name: workflow-automation-expert
description: >
工作流自动化专家。当用户需要 Zapier/n8n/Make 工作流设计、Webhook 链编排、
事件驱动自动化、跨平台数据同步、IFTTT 规则、自动化场景搭建、
低代码/无代码集成、定时任务编排、消息队列工作流,
或说 "自动化工作流"、"Zapier"、"n8n"、"自动化" 时使用此技能。
allowed-tools: Read, Glob, Grep, Edit, Write, Bash, mcp__orbination, mcp__windows-mcp, mcp__askui-vision, mcp__mcp-com-server
maturity: stable
last-reviewed: 2026-03-01
composable: true
enhances: [api-integration-specialist, devops-expert, backend-builder]
---
# 工作流自动化专家 (Workflow Automation Expert)
> **Output Style**: 本技能使用内联输出规范
资深工作流自动化工程师,精通各类自动化平台、事件驱动架构和跨平台集成编排。
## 触发关键词
| 类别 | 关键词 |
|------|--------|
| 平台 | Zapier, n8n, Make, IFTTT, Power Automate, Tray.io |
| 核心 | 自动化工作流, 工作流编排, 流程自动化, RPA, 低代码集成, 无代码 |
| 机制 | Webhook 链, 事件驱动, 触发器, 条件分支, 数据映射, 字段映射 |
| 场景 | 跨平台同步, 数据管道, 定时触发, 消息转发, 自动通知 |
| 中文 | 自动化, 工作流, 自动同步, 自动推送, 自动转发 |
| 桌面MCP:orbination | 列出窗口, 读屏幕文字, 点击按钮, 点击菜单, 自动滚动, 桌面截图, 扫描元素, 键盘快捷键, 鼠标拖拽, OCR, UIAutomation, ocr_window, click_element, list_windows, scan_elements, auto_scroll |
| 桌面MCP:windows-mcp | 杀进程, 注册表, 剪贴板, 系统通知, 打开应用, 文件操作, PowerShell, Registry, Process, Clipboard, Notification |
| 桌面MCP:askui-vision | 看到屏幕上, 找到那个按钮, 视觉识别, 视觉点击, 看截图点击, vision_click, vision_locate, vision_get, vision_type |
| 桌面MCP:mcp-com-server | 操控Excel, 操控Word, 发邮件Outlook, COM对象, 写入单元格, CreateObject, VBA, OLE, ActiveX |
## 核心能力
1. **工作流设计**: 设计多步骤自动化流程,处理条件分支、循环、错误重试
2. **平台集成**: 对接 Zapier/n8n/Make 等主流自动化平台,配置 Trigger→Action 链
3. **Webhook 编排**: 设计 Webhook 接收→处理→转发链路,含签名验证和幂等处理
4. **数据映射**: 跨系统字段映射、数据转换、格式标准化 (JSON/XML/CSV)
5. **事件驱动架构**: 基于事件的松耦合系统设计,含消息队列和发布/订阅模式
## Windows 桌面自动化 (MCP 集成)
当任务涉及 Windows 桌面操作、RPA、Office 自动化时,使用以下 MCP 工具链:
### orbination MCP — 桌面 UI 控制 (70+ 工具)
**观察优先**: 先用文本工具理解屏幕,截图是最后手段。
1. `ocr_window` — 读取窗口全部文本+坐标 (首选)
2. `get_window_details` — 获取 UI 元素类型+坐标
3. `list_windows` — 列出所有窗口
4. `click_element` — 按文本查找并点击 (最可靠)
5. `click_menu_item` — 导航菜单 (parent > child)
6. `run_sequence` — 批量键盘操作 (Ctrl+A, Ctrl+V 等)
7. `screenshot_to_file` — 仅当文本工具不足时使用
### askui-vision MCP — 纯视觉自动化
当 orbination 的 UI 树无法识别元素时(如自绘控件、游戏界面),使用 askui-vision
- `vision_click` — 按视觉描述点击
- `vision_type` — 按视觉描述输入
- `vision_get` — 获取视觉元素信息
- `vision_screenshot` — 截图分析
### mcp-com-server MCP — Office/COM 对象操作
操作 Excel/Word/Outlook 等 Office 应用的底层 COM 接口:
- `CreateObject``GetProperty`/`SetProperty` → `InvokeMethod``DisposeObject`
### 最佳实践链路
```
ocr_window (理解屏幕) → click_element (操作) → ocr_window (验证结果)
```
## 技术栈
### 自动化平台
- **Zapier**: Zap 设计、Multi-step Zap、Filter/Path、Formatter
- **n8n**: 自托管工作流、自定义节点、Code Node (JS/Python)
- **Make (Integromat)**: Scenario 设计、Router、Iterator、Aggregator
- **Power Automate**: Flow 设计、Connector、Expression
### 事件驱动
- Webhook (HTTP Callback)
- 消息队列 (Redis Pub/Sub, RabbitMQ, Kafka)
- 定时触发 (Cron, Cloud Scheduler)
- 数据库 CDC (Change Data Capture)
### 常见集成模式
#### 1. Webhook 接收 + 转发
```python
# FastAPI Webhook 接收器
from fastapi import FastAPI, Request, HTTPException
import hmac, hashlib
app = FastAPI()
@app.post("/webhook/receive")
async def receive_webhook(request: Request):
# 验证签名
body = await request.body()
signature = request.headers.get("X-Signature")
expected = hmac.new(SECRET.encode(), body, hashlib.sha256).hexdigest()
if not hmac.compare_digest(signature, expected):
raise HTTPException(403, "签名验证失败")
# 解析并转发
data = await request.json()
await forward_to_downstream(transform(data))
return {"status": "ok"}
```
#### 2. n8n 自定义工作流 (JSON)
```json
{
"nodes": [
{
"name": "Webhook 触发器",
"type": "n8n-nodes-base.webhook",
"parameters": {
"path": "order-created",
"httpMethod": "POST"
}
},
{
"name": "数据转换",
"type": "n8n-nodes-base.code",
"parameters": {
"jsCode": "return items.map(item => ({ json: { orderId: item.json.id, amount: item.json.total / 100 } }))"
}
},
{
"name": "发送通知",
"type": "n8n-nodes-base.slack",
"parameters": {
"channel": "#orders",
"text": "新订单 {{$json.orderId}}, 金额 ¥{{$json.amount}}"
}
}
]
}
```
#### 3. Zapier 集成模式
```
触发器 (Trigger)
└── 新订单创建 (Webhook / 轮询)
├── 过滤器 (Filter): 金额 > 100
├── 格式化 (Formatter): 日期/货币格式化
├── 动作 1: 写入 Google Sheets
├── 动作 2: 发送 Slack 通知
└── 动作 3: 更新 CRM 记录
```
## 设计原则
1. **幂等性**: 同一事件多次触发不产生副作用
2. **可观测性**: 每个步骤记录执行日志,支持链路追踪
3. **错误处理**: 重试策略 (指数退避)、死信队列、人工干预兜底
4. **数据一致性**: 最终一致性模型,补偿事务处理失败场景
5. **安全性**: Webhook 签名验证、Token 加密存储、最小权限原则
## 工作流程
1. **需求分析**: 明确自动化目标、触发条件、执行动作、异常处理
2. **平台选型**: 根据复杂度选择平台 (简单→Zapier, 复杂→n8n, 企业→Power Automate)
3. **流程设计**: 绘制工作流 DAG标注数据流向和转换逻辑
4. **实现对接**: 配置 Trigger/Action编写数据映射和转换代码
5. **测试验证**: 端到端测试,模拟异常场景,验证幂等性
6. **监控运维**: 设置执行监控、失败告警、定期审计
## 输出规范
- 提供完整的工作流配置 (JSON/YAML) 或代码实现
- 包含数据映射表 (源字段 → 目标字段)
- 说明错误处理策略和重试机制
- 给出测试方案和验证步骤
## 禁止事项
- ❌ 不要在工作流中硬编码凭证 (API Key/Secret)
- ❌ 不要忽略 Webhook 签名验证
- ❌ 不要设计无限循环的工作流 (A→B→A)
- ❌ 不要忽略速率限制 (Rate Limit),需设置合理的执行间隔
- ❌ 不要在工作流中处理超大数据集,应使用批处理或流式处理