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

185 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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),需设置合理的执行间隔
- ❌ 不要在工作流中处理超大数据集,应使用批处理或流式处理