スキル一覧に戻る
dvorkinguy

n8n-workflow-builder

by dvorkinguy

Claude Code skills, agents, commands, MCP configs, plugins, and settings

0🍴 0📅 2025年12月17日
GitHubで見るManusで実行

SKILL.md


name: n8n-workflow-builder description: Build n8n automation workflows using MCP tools. Use when creating workflows, configuring nodes, validating configurations, deploying templates, or integrating n8n with Rails apps. Supports Israeli market (Hebrew, WhatsApp Business, NIS payments).

n8n Workflow Builder

Build production-ready n8n workflows using the available MCP tools.

MCP Tool Decision Tree

Discovery Phase

NeedToolExample
Find a nodesearch_nodessearch_nodes({query: "slack"})
Find workflow templatessearch_templatessearch_templates({searchMode: "by_task", task: "ai_automation"})
Find templates using specific nodessearch_templatessearch_templates({searchMode: "by_nodes", nodeTypes: ["n8n-nodes-base.slack"]})
Get a specific templateget_templateget_template({templateId: 123, mode: "full"})

Configuration Phase

NeedToolExample
How to configure a nodeget_nodeget_node({nodeType: "nodes-base.httpRequest", detail: "standard"})
Node documentationget_nodeget_node({nodeType: "nodes-base.slack", mode: "docs"})
Find specific propertyget_nodeget_node({nodeType: "...", mode: "search_properties", propertyQuery: "auth"})
Real-world examplesget_nodeget_node({..., detail: "standard", includeExamples: true})

Validation Phase

NeedToolExample
Validate node configvalidate_nodevalidate_node({nodeType: "...", config: {...}, mode: "full"})
Validate full workflowvalidate_workflowvalidate_workflow({workflow: {...}})

Deployment Phase (requires API)

NeedTool
Create workflown8n_create_workflow
Update workflown8n_update_partial_workflow
Deploy templaten8n_deploy_template
Test workflown8n_test_workflow
Get execution resultsn8n_executions

Common Workflow Patterns

Pattern 1: Webhook -> Process -> Respond

Webhook -> Code (validate) -> HTTP Request -> Respond

Template: assets/templates/workflows/webhook-processor.json

Pattern 2: Lead Capture -> CRM -> Notify

Webhook -> IF (validate) -> CRM -> Slack -> Rails callback

Template: assets/templates/workflows/lead-capture-crm.json

Pattern 3: AI Agent with Tools

Chat Trigger -> AI Agent <- OpenAI Model
                   ^
                   |- HTTP Request Tool
                   |- Code Tool

Template: assets/templates/workflows/ai-agent-basic.json

Pattern 4: WhatsApp Bot (Israeli Market)

Webhook -> Code (parse) -> Switch (msg type) -> HTTP Request (WhatsApp API)

Template: assets/templates/workflows/whatsapp-bot.json

Pattern 5: Scheduled Reports

Schedule Trigger -> HTTP (fetch data) -> Code (format) -> Email/Slack

Template: assets/templates/workflows/scheduled-report.json

Pattern 6: Rails Integration

Rails App -> Webhook -> Process -> HTTP (callback to Rails)

Template: assets/templates/workflows/rails-webhook-handler.json

MCP Tool Usage Examples

search_nodes - Finding Nodes

// Find database nodes
search_nodes({query: "database"})

// Fuzzy search (typo-tolerant)
search_nodes({query: "slak", mode: "FUZZY"})

// With real examples
search_nodes({query: "webhook", includeExamples: true})

get_node - Node Configuration

// Standard detail (recommended starting point)
get_node({nodeType: "nodes-base.httpRequest", detail: "standard"})

// With real-world examples
get_node({nodeType: "nodes-base.slack", detail: "standard", includeExamples: true})

// Documentation mode
get_node({nodeType: "nodes-base.webhook", mode: "docs"})

// Search specific properties
get_node({nodeType: "nodes-base.httpRequest", mode: "search_properties", propertyQuery: "header"})

// Version comparison
get_node({nodeType: "nodes-base.httpRequest", mode: "compare", fromVersion: "1.0", toVersion: "2.0"})

validate_node - Pre-build Validation

// Full validation with suggestions
validate_node({
  nodeType: "nodes-base.slack",
  config: {resource: "channel", operation: "create"},
  mode: "full",
  profile: "strict"
})

// Quick check
validate_node({
  nodeType: "nodes-base.httpRequest",
  config: {method: "POST", url: "https://api.example.com"},
  mode: "minimal"
})

validate_workflow - Full Workflow Validation

validate_workflow({
  workflow: myWorkflowJson,
  options: {
    validateNodes: true,
    validateConnections: true,
    validateExpressions: true,
    profile: "strict"
  }
})

search_templates - Finding Templates

// By task type
search_templates({searchMode: "by_task", task: "ai_automation"})
search_templates({searchMode: "by_task", task: "webhook_processing"})

// By nodes used
search_templates({searchMode: "by_nodes", nodeTypes: ["n8n-nodes-base.openAi", "n8n-nodes-langchain.agent"]})

// By complexity
search_templates({searchMode: "by_metadata", complexity: "simple", maxSetupMinutes: 15})

// Keyword search
search_templates({query: "slack notification"})

AI Agent Workflows

Connection Types (CRITICAL)

AI connections flow TO the consumer node:

Connection TypeFromToPurpose
ai_languageModelLanguage ModelAI AgentREQUIRED - provides LLM
ai_toolTool NodeAI AgentGives agent capabilities
ai_memoryMemory NodeAI AgentConversation history
ai_outputParserParserChainStructured output

Minimal AI Agent Setup

  1. Add Chat Trigger (or Manual Trigger)
  2. Add Language Model (OpenAI Chat Model / Anthropic)
  3. Add AI Agent
  4. Connect: Chat Trigger -> AI Agent (main connection)
  5. Connect: Language Model -> AI Agent (ai_languageModel type)

Adding Tools to Agent

// HTTP Request Tool - for API calls
{
  "name": "Call API Tool",
  "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
  "parameters": {
    "description": "Calls external API to fetch data"  // REQUIRED: 15+ chars
  }
}
// Connect: HTTP Tool -> AI Agent (ai_tool type)

Tool Description Requirements

  • Minimum 15 characters
  • Must clearly describe what the tool does
  • Agent uses this to decide when to use the tool

See references/ai-agents-guide.md for advanced patterns.

Israeli Market Integration

WhatsApp Business API

// Send text message
{
  "method": "POST",
  "url": "https://graph.facebook.com/v18.0/{{PHONE_ID}}/messages",
  "headers": {"Authorization": "Bearer {{ACCESS_TOKEN}}"},
  "body": {
    "messaging_product": "whatsapp",
    "to": "972501234567",
    "type": "text",
    "text": {"body": "\u200F" + hebrewText}  // RTL marker for Hebrew
  }
}

Hebrew RTL Handling

// Add RTL marker for Hebrew text
const rtlText = "\u200F" + hebrewContent;  // Right-to-Left Mark

// Mixed content
const mixed = `\u200F${hebrewPart}\u200E${englishPart}`;  // LTR mark for English

Rate Limits by Tier

TierMessages/dayMessages/sec
Unverified25080
Verified1,00080
Business10,000+80

See references/israeli-market-integrations.md for WhatsApp templates and payment patterns.

Rails Integration

Triggering n8n from Rails

# app/services/n8n_service.rb
def trigger_webhook(webhook_url, payload)
  HTTParty.post(webhook_url, {
    body: payload.to_json,
    headers: {'Content-Type' => 'application/json', 'X-Webhook-Secret' => ENV['N8N_SECRET']}
  })
end

Receiving n8n Callbacks

# Verify signature
signature = request.headers['X-N8N-Signature']
expected = OpenSSL::HMAC.hexdigest('sha256', ENV['N8N_SECRET'], request.raw_post)
unless ActiveSupport::SecurityUtils.secure_compare(signature.to_s, expected)
  render json: {error: 'Unauthorized'}, status: 401
end

Selling Automations

  • Automation model with workflow_json, price, demo_webhook_url
  • Purchase model with Stripe integration
  • Delivery: JSON download, hosted deploy, or embedded viewer

See references/rails-integration-patterns.md for full implementation.

Validation Checklist

Before Building

  • Run search_nodes to find correct node type
  • Run get_node with detail: "standard" to understand config
  • Check for required credentials

Node Level

  • validate_node({..., mode: "full"}) passes
  • All required fields populated
  • Credentials configured (not hardcoded)
  • Error handling configured

Workflow Level

  • validate_workflow({...}) passes
  • All nodes connected (no orphans)
  • Error Trigger node present
  • Webhook paths unique

AI Workflows

  • Language model connected BEFORE AI Agent
  • All tools have descriptions (15+ chars)
  • Memory node if conversation history needed
  • Streaming: no main outputs from AI Agent

Pre-Deployment

  • Test with sample data
  • Environment variables for sensitive data
  • Rate limiting considered

Workflow JSON Structure

{
  "name": "Workflow Name",
  "nodes": [
    {
      "id": "uuid",
      "name": "Node Name",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [250, 300],
      "parameters": {}
    }
  ],
  "connections": {
    "Node Name": {
      "main": [[{"node": "Next Node", "type": "main", "index": 0}]]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

Scripts

Validate Before Deploy

python scripts/validate_before_deploy.py workflow.json

Generate Workflow Skeleton

python scripts/generate_workflow_skeleton.py --type webhook --name "My Workflow"
python scripts/generate_workflow_skeleton.py --type ai-agent --name "Support Bot"

References

TopicFile
MCP Tools (all 19)references/mcp-tools-guide.md
AI Agent Patternsreferences/ai-agents-guide.md
Rails Integrationreferences/rails-integration-patterns.md
Israeli Marketreferences/israeli-market-integrations.md
Node Configsreferences/node-configuration-patterns.md
Code Patternsreferences/code-node-patterns.md
Validationreferences/validation-checklist.md

Templates

Workflows

  • assets/templates/workflows/webhook-processor.json
  • assets/templates/workflows/lead-capture-crm.json
  • assets/templates/workflows/whatsapp-bot.json
  • assets/templates/workflows/ai-agent-basic.json
  • assets/templates/workflows/scheduled-report.json
  • assets/templates/workflows/rails-webhook-handler.json

Nodes

  • assets/templates/nodes/webhook-trigger.json
  • assets/templates/nodes/http-request-auth.json
  • assets/templates/nodes/code-transform.json
  • assets/templates/nodes/if-conditions.json
  • assets/templates/nodes/error-handler.json

Israeli Market

  • assets/templates/israel/whatsapp-message-types.json
  • assets/templates/israel/hebrew-templates.json
  • assets/templates/israel/payment-webhook.json

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です