Communityライティング&編集github.com

n8nワークフロースキル

Claude Code用の本番環境でテスト済みのスキル - .claude/skills/に配置してすぐに使用可能

n8nワークフロースキル とは?

このスキルは、n8nワークフローの構築、デプロイ、管理をAPI経由で完全に行うためのClaude Codeスキルです。事前に用意されたノードスニペットと実戦で検証されたパターンを活用することで、ワークフローの作成からデプロイまでのプロセスを効率化します。ユーザーはインスタンスのURLやAPIキー、資格情報のマッピングを設定するだけで、Claudeがn8n APIを直接操作してワークフローを構築・更新・有効化できます。ワークフローはJSON形式で定義され、専用のデプロイスクリプトを用いて簡単に展開でき、Claude Codeや他のAIエージェントプラットフォームで利用可能です。

対応✓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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

n8nワークフロースキル は何をしますか?

事前に構築されたノードスニペットと実戦で検証されたパターンを使用して、n8nワークフローをAPI経由で構築、デプロイ、管理します。

セットアップ

最初の使用前に、以下にインスタンスの詳細を入力してください。APIキーはn8nの設定 > APIから取得できます。

  • URL: https://YOUR_INSTANCE.app.n8n.cloud
  • APIキー: YOUR_API_KEY
  • プロジェクトID: YOUR_PROJECT_ID(オプション、マルチプロジェクトインスタンス用)

資格情報

ここに資格情報のエイリアスをマッピングします。IDは GET /api/v1/credentials から取得してください。

エイリアス資格情報タイプID名前
gmailgmailOAuth2
sheetsgoogleSheetsOAuth2Api
slackslackOAuth2Api
openaiopenAiApi
anthropicanthropicApi
telegramtelegramApi
notionnotionApi

必要に応じて行を追加してください。nameフィールドは、n8nインスタンス(設定 > 資格情報)で付けた名前と完全に一致する必要があります。./references/nodes/内のノードスニペットはプレースホルダーの資格情報を使用しています。Claudeはワークフロー構築時にこのテーブルからIDを置き換えます。


クイックスタート: 新規ワークフロー

  1. ./references/nodes/ で事前構築済みノードスニペットを確認します。コピー、リネーム、位置を設定します。
  2. JSON(nodes配列 + connectionsオブジェクト)を構築します。
  3. /tmp/<name>.json に書き込みます。
  4. 実行: bash ./references/deploy.sh /tmp/<name>.json
  5. 完了。スクリプトがPOST、プロジェクト転送、確認、インデックス更新を処理します。

接続フォーマット

"送信元名": { "main": [[{"node": "ターゲット", "type": "main", "index": 0}]] }
  • 分岐(1つの送信元、複数のターゲット): "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ボディに active フィールドを含めないでください(読み取り専用、有効化にはPATCHを使用)
  • 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リクエストノードよりもプラットフォームネイティブノードを優先する(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["ノード名"].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 — 一般的なノードタイプのパラメータリファレンス

関連スキル