Awesome-omni-skill n8n-automation
Master skill for building production-ready n8n workflows. Combines 8 specialized skills for template search, expressions, MCP tools, patterns, validation, node configuration, JavaScript and Python code. Use when creating, validating, or debugging n8n workflows.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/n8n-automation" ~/.claude/skills/diegosouzapw-awesome-omni-skill-n8n-automation-4be3fb && rm -rf "$T"
manifest:
skills/development/n8n-automation/SKILL.mdsource content
n8n Automation Master Skill
Unified skill that orchestrates 8 specialized n8n skills to build production-ready workflows.
🔧 Sub-Skills Included
| Skill | Purpose | When Activated |
|---|---|---|
| n8n-template-search | Template discovery | Finding workflow templates, examples |
| n8n-mcp-tools-expert | MCP tool usage | Searching nodes, templates, validating |
| n8n-workflow-patterns | Architectural patterns | Creating new workflows |
| n8n-expression-syntax | Expression syntax | $json, $node references |
| n8n-validation-expert | Error handling | Validation failures, debugging |
| n8n-node-configuration | Node parameters | Configuring complex nodes |
| n8n-code-javascript | JavaScript code | Code node JS scripting |
| n8n-code-python | Python code | Code node Python scripting |
🎯 Quick Reference
Template Search (ALWAYS START HERE!)
MCP Template Library (2,709+ templates):
- Find by keyword, nodes, task, metadatasearch_templates
- Get template JSON for deploymentget_template
Web Template Discovery (for recent/community templates):
- Load
skill for comprehensive web searchn8n-template-search - Combines n8n.io, GitHub, forum sources
MCP Tools Available
Always Available (no n8n API needed):
- Find nodes among 1,084+ availablesearch_nodes
- Get node documentation and configget_node
- Check node configurationvalidate_node
- Validate complete workflowvalidate_workflow
- Search 2,709 templatessearch_templates
- Get workflow template JSONget_template
Requires n8n API Key:
- Deploy workflown8n_create_workflow
- Update workflown8n_update_partial_workflow
- Validate by IDn8n_validate_workflow
- Deploy template directlyn8n_deploy_template
nodeType Format (CRITICAL!)
// For search/validate tools: SHORT prefix "nodes-base.slack" "nodes-base.httpRequest" "nodes-langchain.agent" // For workflow tools: FULL prefix "n8n-nodes-base.slack" "n8n-nodes-base.httpRequest" "@n8n/n8n-nodes-langchain.agent"
📋 Workflow Creation Process
Step 0: Template Discovery (ALWAYS FIRST!) 🔍
CRITICAL: Before building anything, search for existing templates!
// Quick keyword search (MCP - fastest) search_templates({query: "slack notification"}) // Search by specific nodes search_templates({ searchMode: "by_nodes", nodeTypes: ["n8n-nodes-base.webhook", "n8n-nodes-base.slack"] }) // Search by workflow pattern search_templates({searchMode: "by_task", task: "webhook_processing"}) // Search by complexity/time search_templates({ searchMode: "by_metadata", complexity: "simple", maxSetupMinutes: 15 }) // If MCP insufficient: Web search (load n8n-template-search skill) WebFetch({ url: "https://n8n.io/workflows/?search=slack", prompt: "Find Slack notification templates with descriptions" })
Found suitable template?
- ✅ YES → Deploy with
n8n_deploy_template({templateId: XXX, autoFix: true}) - ❌ NO → Continue to Step 1 (Node Discovery)
Step 1: Node Discovery (if no template fits)
// Search for nodes search_nodes({query: "slack", includeExamples: true}) // Get node details get_node({nodeType: "nodes-base.slack", detail: "standard"})
Step 3: Configuration & Validation
// Quick validation validate_node({nodeType: "nodes-base.slack", config: {...}, mode: "minimal"}) // Full validation validate_node({nodeType: "nodes-base.slack", config: {...}, profile: "runtime"})
Step 4: Build & Deploy
// Create workflow n8n_create_workflow({name: "...", nodes: [...], connections: {...}}) // Or deploy template directly n8n_deploy_template({templateId: 2947, autoFix: true})
Step 5: Validate Complete Workflow
validate_workflow(workflowJson) n8n_validate_workflow({id: "workflow-id"})
⚠️ Critical Warnings
Never Trust Defaults
// ❌ FAILS at runtime - missing required params {resource: "message", operation: "post", text: "Hello"} // ✅ WORKS - all parameters explicit {resource: "message", operation: "post", select: "channel", channelId: "C123", text: "Hello"}
IF Node Multi-Output Routing
// Use branch parameter for IF nodes { type: "addConnection", source: "If Node", target: "True Handler", sourcePort: "main", targetPort: "main", branch: "true" // ← CRITICAL! }
addConnection Syntax
// ❌ WRONG - object format {type: "addConnection", connection: {source: {...}}} // ✅ CORRECT - four separate strings { type: "addConnection", source: "node-id", target: "target-id", sourcePort: "main", targetPort: "main" }
🔗 Expression Syntax Quick Reference
// Access current item data {{ $json.fieldName }} // Access previous node {{ $node["NodeName"].json.field }} // Webhook data (CRITICAL: under .body) {{ $json.body.fieldName }} // Built-in variables {{ $now }} // Current datetime {{ $env.KEY }} // Environment variable {{ $runIndex }} // Current run index
📊 Popular Nodes Reference
| Node | Type | Purpose |
|---|---|---|
| Webhook | | HTTP trigger |
| HTTP Request | | API calls |
| Code | | JS/Python scripts |
| IF | | Conditional routing |
| Set | | Data transformation |
| Slack | | Slack messaging |
| Gmail | | Email automation |
| Google Sheets | | Spreadsheet ops |
| AI Agent | | AI automation |
| OpenAI Chat | | ChatGPT calls |
🔍 When to Load Sub-Skills
Read the specific sub-skill when:
| Situation | Load |
|---|---|
| Finding workflow templates/examples | n8n-template-search |
Writing expressions with | n8n-expression-syntax |
| Using MCP tools | n8n-mcp-tools-expert |
| Designing workflow architecture | n8n-workflow-patterns |
| Validation errors | n8n-validation-expert |
| Configuring complex nodes | n8n-node-configuration |
| Writing JavaScript in Code node | n8n-code-javascript |
| Writing Python in Code node | n8n-code-python |
✅ Validation Checklist
Before deploying any workflow:
- All nodes have unique IDs
- All required parameters configured
- Connections properly mapped
- Expressions use correct syntax
- Error handling implemented
- validate_workflow passed
- Tested in development first