n8n について
n8nは、n8nのワークフロー構築、デバッグ、デプロイを支援するドキュメントベースのスキルです。ワークフローデータ、式、コード、AI機能、連携、デプロイを扱い、詳細なリファレンスも含みます。
主な機能
- 01ワークフローの設計とデバッグ
- 02JavaScript・Python Codeノードのガイド
- 03式とデータ変換
- 04AIエージェントとRAGワークフロー
- 05デプロイ、スケーリング、問題解決
活用シーン
- 01失敗したワークフロー実行のデバッグ
- 02式やコードによるアイテム変換
- 03ツールとメモリを使うAIワークフローの構築
- 04セルフホスト可能なn8n環境の設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rawveg/ skillsforge-marketplace --skill n8nインストール後、Claude Code で/n8nを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
plugin.jsonreferences/index.mdllms.md詳細
N8N スキル
公式ドキュメントに基づいて作成された、n8n 開発を包括的に支援するスキルです。n8n は、AI 機能とビジネスプロセスの自動化を組み合わせた、フェアコードライセンスのワークフロー自動化ツールです。
このスキルを使用するタイミング
次の場合に、このスキルを使用してください。
- n8n ワークフローの構築やデバッグ
- Code ノード(JavaScript または Python)の操作
- 式やデータ変換の使用
- AI エージェント、チェーン、RAG ワークフローの実装
- n8n のデプロイ(Docker、npm、セルフホスト)の設定
- Webhook、認証情報、インテグレーションのセットアップ
- ワークフローでのエラー処理
- キューモードによる n8n のスケーリング
- カスタムノードの作成や n8n のホワイトラベル化
- n8n API のプログラムからの使用
- n8n での LangChain の操作
- n8n v1.0 への移行
主なコンセプト
コアコンポーネント
- ワークフロー:ノードを相互に接続した、ビジュアルな自動化フロー
- ノード:ワークフロー内の個々の操作(トリガー、アクション、ロジックなど)
- 式:
{{ }}構文を使用してデータにアクセスし、変換するコードスニペット - 認証情報:API キーや認証情報を安全に保存する仕組み
- 実行:データとステータスを含む、個々のワークフローの実行
データ構造
- n8n はノード間で アイテム(JSON オブジェクトの配列)を受け渡します
- 各アイテムには、主要なデータを含む
jsonプロパティがあります - バイナリデータは
binaryプロパティに個別に保存されます - 式で現在のアイテムのデータにアクセスするには
$jsonを使用します
AI 機能
- エージェント:ツールを使用して判断を下せる AI
- チェーン:あらかじめ定義された AI 操作のシーケンス
- メモリ:コンテキスト用に会話履歴を保存します
- ツール:AI エージェントが呼び出せる関数
- ベクトルデータベース:RAG 用の埋め込みを保存し、取得します
クイックリファレンス
例 1:データにアクセスする基本的な式
// Access data from the current item
{{ $json.name }}
// Access data from a specific node
{{ $node["HTTP Request"].json.response }}
// Access all items from a node
{{ $("HTTP Request").all() }}
例 2:認証付き HTTP Request
HTTP Request ノードを使用する場合は、エラーとレート制限を処理します。
// In HTTP Request node settings:
// - Enable "Retry on Fail"
// - Set Max Tries to 3
// - Set Wait Between Tries (ms) to 1000
// For rate limiting, use Batching:
// - Items per Batch: 10
// - Batch Interval (ms): 1000
例 3:Code ノード - データ変換(JavaScript)
// Access input data
const items = $input.all();
// Transform each item
return items.map(item => {
return {
json: {
fullName: `${item.json.firstName} ${item.json.lastName}`,
email: item.json.email.toLowerCase(),
timestamp: new Date().toISOString()
}
};
});
例 4:Code ノード - データのフィルタリング(Python)
# Filter items based on a condition
output = []
for item in items:
if item['json']['status'] == 'active':
output.append({
'json': {
'id': item['json']['id'],
'name': item['json']['name']
}
})
return output
例 5:式 - Luxon による日付処理
// Current date
{{ $now }}
// Format date
{{ $now.toFormat('yyyy-MM-dd') }}
// Add 7 days
{{ $now.plus({ days: 7 }) }}
// Parse and format custom date
{{ DateTime.fromISO($json.dateString).toFormat('LLL dd, yyyy') }}
例 6:JWT 認証情報
JWT 認証が必要な API の場合:
// Use JWT credential with:
// - Key Type: Passphrase (for HMAC) or PEM Key (for RSA/ECDSA)
// - Secret: Your secret key
// - Algorithm: HS256, RS256, ES256, etc.
// The JWT credential automatically generates tokens
// Use it in HTTP Request node > Authentication > JWT
例 7:ワークフローでのエラー処理
// In Code node, use try-catch:
try {
const result = $json.data.someField.toUpperCase();
return [{ json: { result } }];
} catch (error) {
// Return error information
return [{
json: {
error: error.message,
originalData: $json
}
}];
}
// Or set up Error Workflow in Workflow Settings
// to catch all failures and send notifications
例 8:HTTP Request のページネーション
// Use pagination to fetch all pages
// In HTTP Request node > Pagination:
// Type: Generic Pagination
// Request URL: {{ $url }}&page={{ $pageNumber }}
// Complete When: {{ $response.body.hasMore === false }}
// Next Page URL: Automatic
例 9:ツールを使用する AI エージェント
// In AI Agent node:
// 1. Connect a Chat Model (OpenAI, etc.)
// 2. Add tools (Calculator, HTTP Request, etc.)
// 3. Configure memory if needed
// The agent can:
// - Analyze user input
// - Decide which tools to use
// - Execute tools and process results
// - Return final answer
例 10:環境変数と静的データ
// Access environment variables
{{ $env.MY_API_KEY }}
// Store workflow static data (persists across executions)
const staticData = getWorkflowStaticData('global');
staticData.lastRun = new Date().toISOString();
staticData.counter = (staticData.counter || 0) + 1;
// Retrieve static data
{{ $workflow.staticData.counter }}
参考ファイル
このスキルには、references/ に包括的なドキュメントが含まれています。
-
llms-txt.md - LLM 向けにフォーマットされた n8n ドキュメント一式
- インストールとセットアップのガイド
- ノードのリファレンスドキュメント
- API ドキュメント
- コード例とパターン
- 設定オプション
- トラブルシューティングガイド
-
llms-full.md - 詳細な技術情報を含む拡張ドキュメント
- 高度な設定
- スケーリングとパフォーマンス
- セキュリティと認証
- カスタムノードの開発
- ホワイトラベル化と埋め込みオプション
詳細な情報が必要な場合は、view を使用して特定の参考ファイルを読み取ってください。
このスキルの使い方
初心者向け
-
基本的なワークフローの作成から始めます。
- トリガーノード(Webhook、Schedule、Manual)
- アクションノード(HTTP Request、Set、Edit Fields)
- シンプルな
{{ $json.field }}アクセスを使って式の構文を学びます
-
データ構造を理解します。
- 各ノードはアイテムの配列を出力します
- データインスペクターを使ってアイテムの構造を確認します
- Edit Fields ノードでデータ変換を練習します
-
よくあるパターン:
- Webhook → HTTP Request → Set → Respond to Webhook
- Schedule → Code → HTTP Request → Conditional
- Manual → Loop Over Items → Process Each
中級ユーザー向け
-
Code ノードを使いこなす:
- 複雑な変換には JavaScript モードを使用する
- すべてのアイテムにアクセスするには
$input.all()を使用する jsonプロパティを含む適切な形式のアイテムを返す
-
式を使う:
- 組み込みメソッドを使用する:
.first()、.last()、.item - Luxon で日付を操作する
- 複雑な JSON クエリには JMESPath を使用する
- 組み込みメソッドを使用する:
-
エラー処理:
- Code ノードで Try-Catch を使用する
- エラーワークフローを設定する
- API 呼び出しで Retry on Fail を設定する
-
データ操作:
- 複数のソースからデータをマージする
- アイテムを分割してフィルタリングする
- バッチ処理のためにアイテムをループする
上級ユーザー向け
-
AI と LangChain:
- カスタムツールを使って AI エージェントを構築する
- ベクトルデータベースを使って RAG を実装する
- 会話型ワークフローにメモリを使用する
- 複数の AI 操作を連結する
-
スケーリングとパフォーマンス:
- 分散実行のためにキューモードを設定する
- データベース設定を最適化する
- 実行データのプルーニングを使用する
- タスクランナーを設定する
-
カスタム開発:
- カスタムノードを作成する
- 埋め込み用に n8n をホワイトラベル化する
- ワークフロー管理に n8n API を使用する
- AWS/Azure/GCP で外部シークレットを実装する
-
高度なパターン:
- 再利用性を高めるサブワークフロー
- Webhook の認証と検証
- JMESPath による複雑なデータ変換
- SSE/WebSockets によるリアルタイムデータ処理
よくある問題と解決策
HTTP リクエストエラー
- 400 Bad Request:クエリパラメーターと配列の形式を確認してください
- 403 Forbidden:認証情報と API の権限を確認してください
- 429 Rate Limit:Batching または Retry on Fail オプションを使用してください
- 404 Not Found:エンドポイント URL が正しいことを確認してください
式のエラー
- v1.0 以降では、式のエラーが発生するとワークフローは失敗します
- 失敗を捕捉するエラーワークフローを設定してください
- 式エディターで式をテストしてください
- プロパティにアクセスする前に、値が undefined でないことを確認してください
データ型の問題
- 型変換には
.toString()、.toNumber()を使用してください {{ $json.field || 'default' }}で null/undefined を処理してください- バイナリデータには、バッファーを使った特別な処理が必要です
v1.0 への移行
- 実行順序の変更(幅優先から深さ優先へ)
- Code ノードでの Python サポート(Pyodide)
- ユーザー管理が必須に(BasicAuth は廃止)
- WebSocket push バックエンドがデフォルトに
- Node 18.17.0 以降が必要
環境設定
Docker のセットアップ
# Basic n8n with Docker
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
# With environment variables
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=password \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
主な環境変数
N8N_HOST:ホスト名(デフォルト:localhost)N8N_PORT:ポート(デフォルト:5678)N8N_PROTOCOL:http または httpsWEBHOOK_URL:外部 Webhook URLN8N_ENCRYPTION_KEY:認証情報の暗号化キーDB_TYPE:データベースの種類(sqlite、postgres)EXECUTIONS_MODE:queue または main(スケーリングには queue)
リソース
公式リソース
学習パス
- レベル 1 コース:基本的なワークフローの構築
- レベル 2 コース:高度なデータ処理とエラー管理
- 動画コース:視覚的に学べるリソース
- AI チュートリアル:AI ワークフローをゼロから構築する
API と開発
注記
- このスキルは、n8n の公式ドキュメントから自動生成されました
- コード例では、構文ハイライトに適切な言語タグを使用しています
- 例は、ドキュメントにある実際のパターンから抽出されています
- すぐに活用できる、実用的で実行可能なパターンに重点を置いています
更新
更新されたドキュメントでこのスキルを再生成するには:
- 同じ設定でスクレーパーを再実行する
- 最新情報を使ってスキルが再構築されます
- 新しい例が追加されていないか、クイックリファレンスのセクションを確認する
コメント
Markdown 対応