Comprehensive n8n 2.0 workflow development reference for Claude Code
This is a production-ready skill for Claude Code that provides complete n8n 2.0 workflow development expertise. Use this when building n8n workflows with Claude Code to get comprehensive guidance, working examples, and reusable code patterns.
n8n 2.0 introduced significant breaking changes from pre-2.0 versions:
- New node versioning system
- Redesigned Execute Workflow node (now "Execute Sub-Workflow")
- Updated expression syntax and variable access
- New Wait node capabilities for human-in-the-loop workflows
- Changed credential handling
This skill is specifically designed for n8n v2.0+ and includes solutions to v2.0-specific challenges.
- Node Library - Complete reference for all n8n v2.0 nodes with configuration examples
- Expression Syntax Guide - Master n8n's
{{ expression }}patterns and cross-node data access - Workflow Patterns - Proven architectures: orchestrator, sub-workflows, human-in-the-loop, data aggregation
- API Credentials Setup - LinkedIn OAuth2, Anthropic API, NewsAPI, and more
- Troubleshooting Guide - Solutions to common n8n v2.0 issues
- News Aggregation Workflow - Multi-source fetch, normalize, merge, deduplicate, rank
- AI Content Generation - Sub-workflow pattern with Anthropic Claude API integration
- LinkedIn Member ID Retrieval - Get your LinkedIn URN for API calls
- Multi-Source Deduplication - Merge and deduplicate data from multiple sources
JavaScript snippets for n8n Code nodes:
- Deduplication - By URL, title, ID, or multiple fields
- Ranking Algorithms - Multi-factor scoring (relevance, recency, engagement)
- Data Normalization - Unify data from different API sources
- Form Data Preparation - Format data for Wait node forms
- Cross-Node Data Access - Reference data from other nodes safely
- Execute Sub-Workflow "Out of Date" Error - Complete fix procedure
- Wait Nodes Not Pausing - Correct human-in-the-loop patterns
- MCP Server Limitations - What the n8n MCP server can/cannot do
- LinkedIn
unauthorized_scope_error- Credential configuration fixes
-
Install the skill:
# Clone this repository git clone https://github.com/splinesreticulating/n8n-v2-workflow-skill.git # Copy to your Claude skills directory cp -r n8n-v2-workflow-skill ~/.claude/skills/n8n-v2
-
Use the skill: The skill activates automatically when you ask Claude Code to help with n8n workflows. Trigger phrases include:
- "Create an n8n workflow that..."
- "Help me build an n8n workflow for..."
- "How do I use Wait nodes in n8n?"
- "Fix my Execute Sub-Workflow node error"
-
Browse the documentation: Start with
SKILL.mdfor the complete reference guide.
Before creating workflows, test endpoints:
curl -X GET "https://api.example.com/endpoint" \
-H "Authorization: Bearer $TOKEN"Use Claude Code to generate workflow JSON with proper n8n v2.0 node structures.
- Open n8n UI
- Settings > Import from File
- Select your workflow JSON
- Replace Execute Sub-Workflow nodes (known v2.0 issue)
- Configure credentials
- Test each node
Use the n8n MCP server or manual trigger to run your workflow.
node-library.md- All n8n v2.0 nodes documentedexpression-syntax.md- Complete expression guideworkflow-patterns.md- Common architectureswait-nodes-guide.md- Human-in-the-loop patternsapi-credentials.md- Authentication setupmcp-limitations.md- MCP server constraintsexecute-sub-workflow-issues.md- Sub-workflow troubleshootingtroubleshooting.md- Common issues and solutions
Reusable JavaScript for Code nodes:
deduplication.js- Remove duplicates by various fieldsranking-algorithms.js- Multi-factor rankingdata-normalization.js- Unify data from different sourcesform-data-preparation.js- Format data for Wait node formscross-node-data-access.js- Reference data from other nodes
Templates (/assets/templates) - Basic structures:
wait-node-approval-template.json- Human-in-the-loop starterorchestrator-template.json- Multi-workflow coordinatorsub-workflow-template.json- Reusable sub-workflow
Complete Examples (/assets/examples) - Production-ready:
news-aggregation-workflow.json- Multi-source aggregation with rankingcontent-generation-workflow.json- AI content generation sub-workflowlinkedin-member-id-workflow.json- Get LinkedIn member URNmulti-source-deduplication-workflow.json- Merge and deduplicate pattern
This skill specifically handles n8n v2.0 changes:
Problem: Imported Execute Sub-Workflow nodes show "out of date" errors in v2.0
Solution: Documented replacement procedure in references/execute-sub-workflow-issues.md
Problem: Pre-2.0 patterns (respondToWebhook, Set nodes) don't pause execution in v2.0
Solution: Complete Wait node form patterns in references/wait-nodes-guide.md
Problem: Some pre-2.0 expression patterns don't work in v2.0
Solution: Comprehensive v2.0 expression guide in references/expression-syntax.md
Problem: Node type versions changed in v2.0
Solution: All examples use correct v2.0 node versions (documented in references/node-library.md)
This skill excels at:
- Creating workflow JSON files for import into n8n v2.0
- Implementing human-in-the-loop workflows with Wait nodes and forms
- Troubleshooting Execute Sub-Workflow "out of date" errors
- Setting up API credentials (LinkedIn OAuth2, Anthropic, NewsAPI)
- Building orchestrator patterns with sub-workflows
- Writing expressions for dynamic node parameters
- Understanding MCP server limitations and workarounds
- Any n8n v2.0 workflow development task
If you have the n8n MCP server configured with Claude Code:
What it CAN do:
- ✅ Search workflows
- ✅ View workflow details
- ✅ Execute workflows
What it CANNOT do:
- ❌ Create workflows
- ❌ Modify workflows
- ❌ Manage credentials
Workaround: Generate JSON files with Claude Code, import via n8n UI.
See references/mcp-limitations.md for details.
// Wait node configuration (v2.0 pattern)
{
"type": "n8n-nodes-base.wait",
"parameters": {
"resume": "form",
"form": {
"formTitle": "Approve Content",
"formDescription": "Review the generated content",
"formFields": {
"values": [
{
"fieldLabel": "Approval",
"fieldType": "dropdown",
"fieldOptions": {
"values": [
{"option": "Approve"},
{"option": "Reject"}
]
},
"requiredField": true
}
]
}
}
}
}
// Access form data in next node
const approval = $json['Approval']; // "Approve" or "Reject"// Remove duplicates by normalized URL
const items = $input.all();
const seen = new Set();
const unique = [];
for (const item of items) {
const url = item.json.url
.toLowerCase()
.replace(/^https?:\/\/(www\.)?/, '')
.replace(/\/$/, '');
if (!seen.has(url)) {
seen.add(url);
unique.push(item);
}
}
return unique;Contributions are welcome! Please:
- Focus on n8n v2.0+ - This skill is specifically for v2.0 and later
- Test your workflows - Ensure examples work in current n8n versions
- Document thoroughly - Include clear explanations and comments
- Follow the structure - Keep the progressive disclosure pattern
- Additional workflow examples
- More code snippets for common operations
- Troubleshooting solutions for new issues
- Documentation improvements
- Support for newer n8n v2.x features
MIT License - see LICENSE file for details.
Start here: SKILL.md
Q: Will this work with n8n pre-2.0? A: No, this skill is specifically designed for n8n v2.0+. Pre-2.0 has different node structures and patterns.
Q: Do I need the n8n MCP server? A: No, the MCP server is optional. This skill helps generate workflow JSON files that you import via the n8n UI.
Q: Can Claude Code create workflows directly in my n8n instance? A: Not yet - the n8n MCP server can only view and execute workflows, not create or modify them. Claude Code generates JSON files that you import manually.
Q: What if my Execute Sub-Workflow nodes show errors after import?
A: This is a known v2.0 issue. See references/execute-sub-workflow-issues.md for the fix procedure.
Q: Are these workflow examples production-ready?
A: Yes! All examples in /assets/examples/ are complete, tested workflows that you can import and use immediately (after configuring credentials).
Made with Claude Code | n8n v2.0+ | MIT Licensed