Community寫作與編輯github.com

n8n 工作流程技能

可上線測試的 n8n 工作流程技能 — 放入 .claude/skills/ 即可使用。

n8n 工作流程技能 是什麼?

此技能讓您在 Claude Code 中直接透過 API 建立、部署與管理 n8n 工作流程。它提供預先建置的節點程式碼片段、戰場測試過的模式,以及明確的步驟,讓您能將 JSON 格式的工作流程直接部署到 n8n 實例。此技能支援 n8n Cloud 與自託管實例,涵蓋完整的開發生命週期:從讀取節點函式庫、組裝工作流程 JSON、透過 cURL 或腳本部署,到啟動/停用工作流程與擷取執行資料。其核心準則包括:更新前務必先 GET 以取得最新狀態、更新後務必驗證、使用節點名稱(而非 UUID)建立連線,並優先使用原生平台節點而非 HTTP Request 節點,以獲得更好的 UI 體驗。此技能還包含表達式語法的陷阱說明、憑證對應表,以及常見節點類型的參數參考文件。

相容平台✓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、專案轉移、驗證及索引更新。

連線格式

"來源名稱":{ "main":[[{"node":"目標", "type":"main", "index":0}]] }
  • 扇出(一個來源,多個目標):"main":[[{"node":"A", ...}, {"node":"B", ...}]]
  • 合併輸入:來源 A 以 "index":0 連線,來源 B 以 "index":1 連線
  • IF 分支:"main":[[true 目標], [false 目標]]
  • AI 子節點:"ai_languageModel":[[{"node":"模型名稱", "type":"ai_languageModel", "index":0}]]
  • AI 工具子節點:"ai_tool":[[{"node":"工具名稱", "type":"ai_tool", "index":0}]]

工作流程 JSON 結構

{
  "name":"工作流程名稱",
  "nodes":[...],
  "connections":{...},
  "settings":{ "executionOrder":"v1", "callerPolicy":"any" }
}
  • POST body 不得包含 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            — 列出所有憑證

規則

  • PUT 前先 GET — 絕不從快取修改,務必先取得目前版本
  • PUT 後驗證 — 重新擷取並確認變更已生效
  • 連線使用節點名稱,絕不使用 UUID
  • 優先使用原生平台節點而非 HTTP Request(可在 UI 中顯示平台標誌)
  • 包含 ! 字元的程式碼節點:先將 JS 寫入 /tmp/*.js,然後再讀取回來(Python 字串跳脫會將 ! 轉為 \!)
  • 在擷取執行資料時加上 includeData=true(否則 data.resultData.runData 會是 null)
  • callerPolicy 允許的值:any、none、workflowsFromAList、workflowsFromSameOwner

表達式語法(HTTP Request body)

  • 可運作:={{ ({ key:value }) }} — 物件加上括號,不進行 JSON.stringify
  • 不可運作:={{ JSON.stringify({...}) }} — 會導致「語法無效」
  • 不可運作:={{ }} 嵌入在靜態 JSON body 內部 — 不會被求值
  • 跨節點參考:$item(0).$node["節點名稱"].json.field

節點函式庫

預先建置的節點程式碼片段存放在 ./references/nodes/ 中。每個檔案都是一個可直接使用的 JSON 節點物件。

強制性工作流程:

  1. 建立任何節點前,先以 glob 方式讀取 ./references/nodes/*.json 來查看有哪些可用項目。
  2. 如果函式庫中存在該節點類型,請複製其 JSON 並自訂(名稱、位置、參數)。切勿從頭編寫。
  3. 如果函式庫中不存在該節點類型,則從頭建立。
  4. 工作流程部署完成後,將您建立的新節點類型儲存到函式庫中,檔案名稱為 ./references/nodes/<節點名稱>.json。

深度參考(僅在需要時載入)

  • ./references/patterns.md — 重試模式、持續狀態、表達式陷阱
  • ./references/rules.md — PUT/POST 規則、設定白名單、命名慣例
  • ./references/node-types.md — 常見節點類型的參數參考

相關技能