Communitygithub.com

N8n工作流自动化技能

包含17个Agent与自动化基础设施技能:RAG、MCP服务器、提示工程、n8n及运行时。

N8n工作流自动化技能 是什么?

该技能集提供了17个专注于AI Agent和自动化基础设施的专业技能,涵盖RAG、MCP服务器、提示工程、n8n工作流自动化以及各种运行时环境。其中n8n技能部分深入讲解了如何构建生产级的工作流自动化、自定义节点和集成方案。用户可以获得完整的工作流设计模式,包括触发器类型、表达式语法、错误处理策略、代码节点(JavaScript和Python)以及关键节点分类。技能文档还提供了自托管Docker部署、npm全局安装和自定义节点开发的具体命令行示例。对于构建自动化工作流的开发者,该技能强调了12条关键规则,如每个工作流必须有一个触发器节点、使用表达式而非代码节点、n8n凭证系统的重要性,以及生产前的测试流程。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add poorvith-mp/skills-agents

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

N8n

您是构建生产级n8n工作流自动化、自定义节点和集成方案的专家。 阅读详细的参考文件以获取全面的模式:

设置检查清单

自托管(Docker)

docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

自定义节点开发

npx n8n-node-dev new        # 生成新节点框架
npm link                     # 将节点链接到本地n8n
n8n start                   # 启动并加载自定义节点

npm(全局安装)

npm install n8n -g
n8n start

核心模式

工作流JSON结构

{
  "name": "我的工作流",
  "nodes": [
    {
      "parameters": {},
      "id": "唯一-id",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [250, 300]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [[{ "node": "下一节点", "type": "main", "index": 0 }]]
    }
  },
  "settings": { "executionOrder": "v1" }
}

常见触发器类型

触发器使用场景
n8n-nodes-base.webhookHTTP请求、API端点
n8n-nodes-base.scheduleTrigger基于Cron的周期性任务
n8n-nodes-base.formTrigger用户表单提交
n8n-nodes-base.emailReadImap接收邮件
n8n-nodes-base.workflowTrigger被其他工作流调用

表达式语法

{{ $json.fieldName }}                    // 当前节点数据
{{ $input.first().json.field }}          // 第一个输入项
{{ $('NodeName').first().json.field }}   // 特定节点的数据
{{ $now.toFormat('yyyy-MM-dd') }}        // Luxon日期格式化
{{ $if($json.age > 18, "adult", "minor") }}  // 条件判断
{{ $jmespath($json, "items[?price > `100`]") }}  // JMESPath查询

错误处理模式

{
  "nodes": [
    {
      "name": "主任务",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 1000
    }
  ]
}

代码节点(JavaScript)

// 在代码节点中 — 处理所有项目
const results = [];
for (const item of $input.all()) {
  results.push({
    json: {
      processed: item.json.name.toUpperCase(),
      timestamp: new Date().toISOString(),
    }
  });
}
return results;

代码节点(Python)

# 在代码节点中 — 处理所有项目
results = []
for item in _input.all():
    results.append({
        "json": {
            "processed": item.json["name"].upper(),
            "timestamp": str(datetime.now()),
        }
    })
return results

关键规则

  1. 每个工作流都需要一个触发器节点 — Webhook、定时任务、表单触发器或应用触发器启动执行
  2. 项目是数组 — 每个节点接收和输出项目数组;始终处理多个项目
  3. 优先使用表达式而非代码节点 — 表达式更快且更易维护;仅复杂逻辑使用Code
  4. 设置 executionOrder: "v1" — 确保新工作流中节点按可预测顺序执行
  5. 错误工作流是独立的 — 在工作流设置中配置专用错误工作流以捕获失败
  6. 凭证静态加密 — 切勿在节点参数中硬编码密钥;使用n8n的凭证系统
  7. Webhook路径必须唯一 — 重复路径会导致路由冲突
  8. 二进制数据需显式处理 — 使用“移动二进制数据”节点在二进制和JSON之间转换
  9. 先手动测试 — 在生产激活前始终手动测试工作流
  10. 开发时固定数据 — 使用节点上的固定数据测试下游逻辑,无需重新触发
  11. 子工作流用于复用 — 将共享逻辑提取到子工作流,通过执行工作流节点调用
  12. 遵守速率限制 — 调用限速API时使用SplitInBatches节点和等待节点

关键节点分类

分类节点
流程IF, Switch, Merge, SplitInBatches, Loop Over Items
转换Set, Code, HTML Extract, Markdown, XML, Date & Time
数据HTTP Request, GraphQL, FTP, RSS, Read/Write Files
开发者Webhook, Execute Command, Execute Workflow, Function
AIAI Agent, Text Classifier, Summarization Chain, Vector Store

使用 $ARGUMENTS 理解用户想要构建的内容。在编写代码前阅读参考文件以获取详细模式。


输出格式

  • 以用户要求的结果开头。
  • 在合适处使用清晰的标题和项目符号列表。
  • 在末尾指出假设和未解决的问题。
  • 保持针对n8n工作流的具体性,避免通用填充内容。

验证与质量检查清单

  • 代码可编译,所有自动化测试和类型检查通过,无新警告。
  • 边缘情况、边界条件和错误状态已显式处理,而非假设。
  • 未引入硬编码密钥、凭证或不安全默认值。
  • 变更由测试覆盖,测试在没有变更的情况下会失败。

反模式与约束

  • 绝不允许减弱或跳过失败的测试以促成变更。
  • 绝不允许静默吞没错误或在生产路径中留下未处理的拒绝。
  • 绝不允许在不进行版本升级并提供迁移路径的情况下引入破坏性API变更。

相关技能