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):
search_templates- Find by keyword, nodes, task, metadataget_template- Get template JSON for deployment
Web Template Discovery (for recent/community templates):
- Load
n8n-template-searchskill for comprehensive web search - Combines n8n.io, GitHub, forum sources
MCP Tools Available
Always Available (no n8n API needed):
search_nodes- Find nodes among 1,084+ availableget_node- Get node documentation and configvalidate_node- Check node configurationvalidate_workflow- Validate complete workflowsearch_templates- Search 2,709 templatesget_template- Get workflow template JSON
Requires n8n API Key:
n8n_create_workflow- Deploy workflown8n_update_partial_workflow- Update workflown8n_validate_workflow- Validate by IDn8n_deploy_template- Deploy template directly
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 | n8n-nodes-base.webhook |
HTTP trigger |
| HTTP Request | n8n-nodes-base.httpRequest |
API calls |
| Code | n8n-nodes-base.code |
JS/Python scripts |
| IF | n8n-nodes-base.if |
Conditional routing |
| Set | n8n-nodes-base.set |
Data transformation |
| Slack | n8n-nodes-base.slack |
Slack messaging |
| Gmail | n8n-nodes-base.gmail |
Email automation |
| Google Sheets | n8n-nodes-base.googleSheets |
Spreadsheet ops |
| AI Agent | @n8n/n8n-nodes-langchain.agent |
AI automation |
| OpenAI Chat | @n8n/n8n-nodes-langchain.lmChatOpenAi |
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 $json |
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
Converted and distributed by TomeVault — claim your Tome and manage your conversions.