关于 n8n-workflow-automation
n8n-workflow-automation 是用于设计 n8n 工作流的技能,也可按需生成可导入的工作流 JSON 和运行手册。它注重幂等性、运行日志、安全重试、错误处理及人工审核。
主要功能
- 01工作流规格与 JSON
- 02幂等与去重设计
- 03运行及审计日志
- 04重试与失败通知
- 05人工审核队列
- 06生成运行手册
适用场景
- 01定时发送摘要邮件
- 02处理 Webhook 数据并记录状态
- 03审核并重新处理失败项目
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sundial-org/ awesome-openclaw-skills --skill n8n-workflow-automation安装后在 Claude Code 中输入/n8n-workflow-automation确认已加载。
附带文件assets/runbook-template.md
详细介绍
n8n 工作流自动化:重试、日志记录与审核队列
用途
设计并输出 n8n 工作流 JSON,包含可靠的触发器、幂等性、错误处理、日志记录、重试和人工参与审核队列。
适用场景
- 触发条件:
- 构建一个每周一运行并通过电子邮件发送合规摘要的 n8n 工作流。
- 为此工作流添加错误处理和重试,并为失败创建审核队列。
- 创建一个 Webhook 工作流,记录每次运行,并向跟踪表写入状态行。
- 让此 n8n 流程具备幂等性,避免重新运行时重复创建记录。
- 为此工作流添加审计日志和人工审批步骤。
- 不适用场景……
- 需要不依赖 n8n 的纯代码自动化(请使用脚本或 CI 技能)。
- 需要绕过安全控制或隐藏审计跟踪。
- 需要购买或推荐违禁物品/服务。
输入
- 必填:
- 工作流目标:触发类型 + 计划/时区 + 成功标准。
- 目标位置:结果写入位置(电子邮件/Drive/Sheet/DB)及必需字段。
- 可选:
- 要修改的现有 n8n 工作流 JSON。
- 示例负载/记录。
- 去重键定义(用于确定记录唯一性的依据)。
- 示例:
- Cron:周一 08:00 Europe/London;发送摘要电子邮件 + 上传到 Drive
- Webhook:接收 JSON;路由到文件夹
输出
- 默认(只读):工作流设计规范(节点、数据契约、故障模式)。
- 明确请求时:
workflow.json(可导入的 n8n JSON)+runbook.md(根据模板生成)。 成功 = 工作流具备幂等性、记录每次运行、安全地重试,并将失败路由到审核队列。
工作流
- 明确触发方式:
- Cron/Webhook/手动;计划/时区;并发预期。
- 定义数据契约:
- 输入架构、必需字段和验证规则。
- 设计幂等性:
- 选择去重键和存储位置(DB/Sheet),以防重试时产生重复记录。
- 添加可观测性:
- 生成
run_id,记录开始/结束时间,存储状态行和错误详情。
- 生成
- 实现错误处理:
- 为每个节点设置错误分支、使用退避策略重试,并在最终失败时发送通知。
- 添加人工参与(HITL)审核队列:
- 将失败的项目写入队列(Sheet/DB),并要求批准后才能重新处理。
- 设置“不可静默失败”关卡:
- 如果数量/阈值未达标,则停止工作流并发出警报。
- 输出:
- 如果用户要求 JSON:生成可导入的 n8n 工作流 JSON + runbook。
- 在以下情况下停止并询问用户:
- 未知目标系统,
- 不存在去重键,
- 未指定凭证策略(环境变量),
- 工作流需要尚未获批的特权访问。
输出格式
如果输出 n8n 工作流 JSON,请遵循:
{
"name": "<workflow name>",
"nodes": [ { "name": "Trigger", "type": "n8n-nodes-base.cron", "parameters": {}, "position": [0,0] } ],
"connections": {},
"settings": {},
"active": false
}
另请使用 assets/runbook-template.md 生成 runbook.md。
安全与边缘情况
- 默认只读;只有在明确请求时才输出工作流 JSON。
- JSON 中不得包含机密;仅引用环境变量/凭证名称。
- 必须包含审计日志和失败通知;避免可能静默丢弃数据的工作流。
- 优先遵循最小权限原则:仅调用必要的 API,并尽量缩小权限范围。
示例
-
输入:“每周一通过 Cron 发送合规摘要,失败时重试。”
输出:节点图 +workflow.json,包含 Cron → Fetch → Aggregate → Email,并设置指向审核队列的错误分支。 -
输入:“记录运行情况并写入状态行的 Webhook。”
输出:Webhook → Validate → Process → Append status row;发生错误时 → 记录日志 + 通知 + 加入队列。
评论
支持 Markdown