Community写作与编辑github.com

n8n 工作流技能

通过 API 构建、部署和管理 n8n 工作流,使用预构建的节点代码段和经过实战检验的模式。

n8n 工作流技能 是什么?

此技能为 AI 编码助手提供了完整的 n8n 工作流管理能力。它允许助手通过 n8n REST API 创建、读取、更新、部署工作流,并附带了节点库、连接格式规范和部署脚本,从而大幅提升开发效率。主要支持 Claude Code,也适用于其他支持 .claude/skills 模式的 AI 编码工具。工作流程包括:助手从节点库中选择片段、构建 JSON、写入临时文件,然后执行部署脚本完成上传和项目转移。此外,该技能还提供了凭据映射表、表达式语法注意事项以及深度参考文档,以帮助处理复杂的编排场景。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add AIforOperations/claude-skills

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

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

文档

n8n 工作流技能 是做什么的?

通过 API 构建、部署和管理 n8n 工作流,使用预构建的节点代码段和经过实战检验的模式。

设置

首次使用前,请在下方填写您的实例详细信息。从 n8n 设置 > API 获取您的 API 密钥。

  • URL: https://YOUR_INSTANCE.app.n8n.cloud
  • API 密钥: YOUR_API_KEY
  • 项目 ID: YOUR_PROJECT_ID(可选,用于多项目实例)

凭据

在此处映射您的凭据别名。从 GET /api/v1/credentials 获取 ID。

别名凭据类型ID名称
gmailgmailOAuth2
sheetsgoogleSheetsOAuth2Api
slackslackOAuth2Api
openaiopenAiApi
anthropicanthropicApi
telegramtelegramApi
notionnotionApi

根据需要添加行。name 字段必须与您在 n8n 实例中(设置 > 凭据)命名的凭据名称完全一致。位于 ./references/nodes/ 中的节点代码段使用占位符凭据——Claude 在构建工作流时会从此表替换为您的 ID。


快速入门:新工作流

  1. 查看 ./references/nodes/ 获取预构建的节点代码段。复制、重命名、设置位置。
  2. 构建 JSON(节点数组 + 连接对象)。
  3. 写入到 /tmp/<name>.json。
  4. 运行:bash ./references/deploy.sh /tmp/<name>.json
  5. 完成。脚本处理 POST、项目转移、验证和索引更新。

连接格式

"Source Name": { "main": [[{"node": "Target", "type": "main", "index": 0}]] }
  • 扇出(一个来源,多个目标):"main": [[{"node": "A", ...}, {"node": "B", ...}]]
  • 合并输入:来源 A 使用 "index": 0 连接,来源 B 使用 "index": 1
  • IF 分支:"main": [ [true 目标], [false 目标] ]
  • AI 子节点:"ai_languageModel": [[{"node": "Model Name", "type": "ai_languageModel", "index": 0}]]
  • AI 工具子节点:"ai_tool": [[{"node": "Tool Name", "type": "ai_tool", "index": 0}]]

工作流 JSON 结构

{
  "name": "Workflow Name",
  "nodes": [...],
  "connections": {...},
  "settings": { "executionOrder": "v1", "callerPolicy": "any" }
}
  • POST 请求体不得包含 active 字段(只读,使用 PATCH 激活)
  • 仅保留以下 settings 键:executionOrder、callerPolicy、saveDataSuccessExecution、errorWorkflow(如果存在)
  • PUT 之前必须移除的键:binaryMode、availableInMCP、timeSavedMode

API 端点

POST   /api/v1/workflows              — 创建
GET    /api/v1/workflows/{id}         — 获取(PUT 之前务必调用)
PUT    /api/v1/workflows/{id}         — 更新
PATCH  /api/v1/workflows/{id}         — 激活/停用:{ "active": true }
PUT    /api/v1/workflows/{id}/transfer — 转移到项目
GET    /api/v1/executions/{id}?includeData=true — 获取执行数据
GET    /api/v1/credentials            — 列出所有凭据

规则

  • GET 之前务必 PUT — 切勿基于缓存修改,始终先获取当前版本
  • PUT 之后验证 — 再次获取并确认更改已生效
  • 连接使用节点 名称,绝不使用 UUID
  • 优先使用原生平台节点而非 HTTP 请求(可在 UI 中显示平台徽标)
  • 包含 ! 字符的代码节点:先将 JS 写入 /tmp/*.js,再读回(Python 字符串转义会将 ! 变为 \!)
  • 执行获取时使用 includeData=true(不带此参数,data.resultData.runData 将为 null)
  • callerPolicy 允许的值:any、none、workflowsFromAList、workflowsFromSameOwner

表达式语法(HTTP 请求体)

  • 可用:={{ ({ key: value }) }} — 括号内的对象,无需 JSON.stringify
  • 不可用:={{ JSON.stringify({...}) }} — 导致“无效语法”
  • 不可用:在静态 JSON 请求体内部嵌入 ={{ }} — 不会求值
  • 跨节点引用:$item(0).$node["NodeName"].json.field

节点库

预构建的节点代码段位于 ./references/nodes/。每个文件是一个立即可用的 JSON 节点对象。

强制性工作流程:

  1. 构建任何节点之前,全局搜索 ./references/nodes/*.json 以查看可用的内容。
  2. 如果库中存在该节点类型,请复制其 JSON 并根据需要自定义(名称、位置、参数)。请勿从头编写。
  3. 如果库中不存在该节点类型,则从头构建。
  4. 工作流部署后,将您构建的任何新节点类型保存到库中,命名为 ./references/nodes/<node-name>.json。

深度参考(仅在需要时加载)

  • ./references/patterns.md — 重试模式、持久状态、表达式陷阱
  • ./references/rules.md — PUT/POST 规则、设置白名单、命名约定
  • ./references/node-types.md — 常见节点类型的参数参考

相关技能