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.md
source content

n8n Automation Master Skill

Unified skill that orchestrates 8 specialized n8n skills to build production-ready workflows.


🔧 Sub-Skills Included

SkillPurposeWhen Activated
n8n-template-searchTemplate discoveryFinding workflow templates, examples
n8n-mcp-tools-expertMCP tool usageSearching nodes, templates, validating
n8n-workflow-patternsArchitectural patternsCreating new workflows
n8n-expression-syntaxExpression syntax$json, $node references
n8n-validation-expertError handlingValidation failures, debugging
n8n-node-configurationNode parametersConfiguring complex nodes
n8n-code-javascriptJavaScript codeCode node JS scripting
n8n-code-pythonPython codeCode node Python scripting

🎯 Quick Reference

Template Search (ALWAYS START HERE!)

MCP Template Library (2,709+ templates):

  • search_templates
    - Find by keyword, nodes, task, metadata
  • get_template
    - Get template JSON for deployment

Web Template Discovery (for recent/community templates):

  • Load
    n8n-template-search
    skill 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+ available
  • get_node
    - Get node documentation and config
  • validate_node
    - Check node configuration
  • validate_workflow
    - Validate complete workflow
  • search_templates
    - Search 2,709 templates
  • get_template
    - Get workflow template JSON

Requires n8n API Key:

  • n8n_create_workflow
    - Deploy workflow
  • n8n_update_partial_workflow
    - Update workflow
  • n8n_validate_workflow
    - Validate by ID
  • n8n_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

NodeTypePurpose
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:

SituationLoad
Finding workflow templates/examplesn8n-template-search
Writing expressions with
$json
n8n-expression-syntax
Using MCP toolsn8n-mcp-tools-expert
Designing workflow architecturen8n-workflow-patterns
Validation errorsn8n-validation-expert
Configuring complex nodesn8n-node-configuration
Writing JavaScript in Code noden8n-code-javascript
Writing Python in Code noden8n-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