Turn Claude into an n8n automation expert. Build, validate, and deploy production-ready workflows through conversation.
Building n8n workflows typically requires:
- Learning n8n's node configurations and quirks
- Understanding which nodes exist and how to configure them
- Knowing the right patterns for webhooks, APIs, databases
- Debugging expression syntax errors
- Figuring out why your workflow isn't validating
What if Claude just knew all of this?
n8n Powerhouse is a skills framework that gives Claude deep expertise in n8n automation. It combines:
- 8 specialized skills - Deep knowledge about n8n patterns, syntax, and best practices
- n8n MCP integration - Direct connection to your n8n instance to create/edit/validate workflows
- Production guidance - Built-in knowledge about idempotency, error handling, and operational concerns
You: Build me a workflow that syncs Shopify orders to my CRM
Claude: I can help you design a workflow. You would need:
1. A Shopify trigger node
2. Some transformation
3. A CRM node
You'll need to configure these in n8n...
[Generic advice, no actual implementation]
You: Build me a workflow that syncs Shopify orders to my CRM
Claude: I'll build this for you. Let me:
1. Analyze your stack → Recommending pure n8n (both have OAuth nodes)
2. Apply webhook processing pattern with idempotency
3. Create the workflow in your n8n instance...
✅ Workflow created: "Shopify Order → Zoho CRM + Slack"
ID: BbRLnEFYH9f4T6Jr
URL: https://your-instance.app.n8n.cloud/workflow/BbRLnEFYH9f4T6Jr
Next steps:
1. Add your Shopify and Zoho credentials
2. Activate the workflow
Claude actually builds and deploys the workflow.
Claude Code is Anthropic's CLI tool for working with Claude in your terminal. Skills are collections of markdown files that give Claude specialized knowledge.
When you put skills in .claude/skills/, Claude reads them and gains that expertise. n8n Powerhouse provides 8 skills (~25,000 words of n8n knowledge) covering:
- Architecture decisions
- Workflow patterns
- Node configuration
- Code syntax
- Expression debugging
- Validation
MCP (Model Context Protocol) allows Claude to use external tools. The n8n MCP gives Claude tools to:
- Search for nodes and templates
- Create workflows in your n8n instance
- Update existing workflows
- Validate configurations
- Trigger webhook workflows
- List executions and debug
Together, skills + MCP = Claude can know n8n AND do n8n.
claude mcp add n8n-mcp-api \
-e MCP_MODE=stdio \
-e LOG_LEVEL=error \
-e DISABLE_CONSOLE_OUTPUT=true \
-e N8N_API_URL=https://YOUR-INSTANCE.app.n8n.cloud \
-e N8N_API_KEY=your-api-key-here \
-- npx -y n8n-mcpGet your API key: n8n Dashboard → Settings → API → Create API Key
git clone https://github.com/promptadvisers/n8n-powerhouse.git
cd n8n-powerhouseclaudeThat's it. Claude now has full n8n expertise.
You: I run a Shopify store and use Zoho CRM. When someone places an order,
I want to sync the customer to Zoho and notify my team on Slack.
Claude: I'll analyze your stack and build this...
[Claude uses n8n-workflow-architect to analyze]
→ Shopify: OAuth, native trigger node ✓
→ Zoho CRM: OAuth, native node ✓
→ Slack: OAuth, native node ✓
→ Recommendation: Pure n8n (all services supported)
→ Pattern: Webhook Processing with idempotency
[Claude uses n8n MCP to create workflow]
→ Created: Shopify Order → Zoho CRM + Slack
→ Includes: Duplicate prevention (check email before create)
→ Includes: Error handling
→ Includes: Slack notification with order details
Here's your workflow: [link]
You: Should I use n8n or Python to process 50,000 customer records daily?
Claude: [Uses n8n-workflow-architect/tool-selection-matrix.md]
For 50,000 records, I recommend a **hybrid approach**:
Use n8n for:
- Triggering (schedule trigger)
- Authentication (if APIs need OAuth)
- Notifications (Slack alerts)
Use Python for:
- The actual data processing (>5,000 record threshold)
- Memory-efficient streaming
- Complex transformations
Architecture:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ n8n │ │ Python │ │ n8n │
│ (Schedule) │ ──► │ (Process) │ ──► │ (Notify) │
└─────────────┘ └─────────────┘ └─────────────┘
Why not pure n8n?
- n8n runs on Node.js with memory limits
- 50k records would likely crash or timeout
- Python can stream/chunk efficiently
You: My expression isn't working: {{ $json.email }}
The webhook sends {"body": {"email": "test@example.com"}}
Claude: [Uses n8n-expression-syntax/COMMON_MISTAKES.md]
Found the issue! Webhook data is nested under `body`.
❌ Wrong: {{ $json.email }}
✅ Correct: {{ $json.body.email }}
The webhook node wraps the payload:
{
"headers": {...},
"body": { ← Your data is here
"email": "test@example.com"
}
}
You: I'm about to deploy my Stripe webhook workflow. What should I check?
Claude: [Uses n8n-workflow-architect/production-readiness.md]
Pre-deployment checklist for payment webhooks:
□ Security
- Verify Stripe webhook signatures (Code node)
- Reject invalid signatures immediately
□ Idempotency
- Store processed event IDs
- Check before processing: SELECT 1 FROM processed_events WHERE event_id = $1
- Skip if already processed
□ Error Handling
- Error Trigger workflow → Slack #alerts
- Log all failures with context
□ Response Time
- Use responseMode: "onReceived" (acknowledge Stripe immediately)
- Process async (Stripe retries on slow responses)
□ Testing
- Use Stripe test mode
- Verify with Stripe CLI: stripe trigger payment_intent.succeeded
Want me to add these patterns to your workflow?
┌─────────────────────────────────────────────────────────────────────────┐
│ USER REQUEST │
│ "I need to automate X with Shopify, HubSpot, and AI" │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ PLANNING LAYER │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ n8n-workflow-architect │ │
│ │ • Analyze business stack (Shopify, Zoho, HubSpot, etc.) │ │
│ │ • Decide: n8n vs Python vs Hybrid │ │
│ │ • Evaluate production readiness requirements │ │
│ └───────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ IMPLEMENTATION LAYER │
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌───────────────────┐ │
│ │ n8n-workflow- │ │ n8n-node- │ │ n8n-mcp-tools- │ │
│ │ patterns │ │ configuration │ │ expert │ │
│ │ │ │ │ │ │ │
│ │ • Webhook processing│ │ • Node setup │ │ • Tool selection │ │
│ │ • API integration │ │ • Property deps │ │ • Parameter help │ │
│ │ • Database ops │ │ • Auth config │ │ • MCP patterns │ │
│ │ • AI agent workflows│ │ • Operation config │ │ │ │
│ │ • Scheduled tasks │ │ │ │ │ │
│ └─────────────────────┘ └─────────────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ CODE & SYNTAX LAYER │
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌───────────────────┐ │
│ │ n8n-code- │ │ n8n-code- │ │ n8n-expression- │ │
│ │ javascript │ │ python │ │ syntax │ │
│ │ │ │ │ │ │ │
│ │ • $input/$json │ │ • _input/_json │ │ • {{ }} syntax │ │
│ │ • $helpers usage │ │ • Standard library │ │ • $json access │ │
│ │ • DateTime handling │ │ • Python limits │ │ • $node refs │ │
│ └─────────────────────┘ └─────────────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ VALIDATION LAYER │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ n8n-validation-expert │ │
│ │ • Interpret validation errors • Fix common issues │ │
│ │ • Validation profiles • Pre-deployment checklist │ │
│ └───────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ n8n MCP TOOLS │
│ │
│ Discovery Workflow Mgmt Validation │
│ ───────────────── ────────────────── ──────────────────── │
│ • search_nodes • n8n_create_workflow • validate_workflow │
│ • get_node_info • n8n_update_workflow • validate_node_operation │
│ • list_nodes • n8n_get_workflow • validate_expressions │
│ • list_ai_tools • n8n_list_workflows • validate_connections │
└─────────────────────────────────────────────────────────────────────────┘
| Skill | Purpose | Key Decision |
|---|---|---|
| n8n-workflow-architect | Strategic planning | "Should I use n8n or Python?" |
| n8n-workflow-patterns | Implementation patterns | "What's the right pattern for webhooks?" |
| n8n-node-configuration | Node setup | "What fields does this node need?" |
| n8n-mcp-tools-expert | MCP guidance | "Which MCP tool should I use?" |
| n8n-code-javascript | JS Code nodes | "How do I access $json in Code?" |
| n8n-code-python | Python Code nodes | "What Python modules are available?" |
| n8n-expression-syntax | Expression debugging | "Why isn't my expression working?" |
| n8n-validation-expert | Error fixing | "What does this validation error mean?" |
n8n-workflow-architect - Strategic planning
When Claude uses this:
- Starting a new automation project
- Deciding between n8n, Python, or hybrid
- Evaluating production readiness
Key files:
SKILL.md- Decision frameworktool-selection-matrix.md- n8n vs Python criteria (OAuth, volume, complexity)business-stack-analysis.md- SaaS compatibility guidesproduction-readiness.md- Pre-launch checklist
Decision criteria:
| Use n8n when | Use Python when |
|---|---|
| OAuth required | >5,000 records |
| Non-tech maintainers | >20MB files |
| Multi-day waits | Complex algorithms |
| Standard integrations | Cutting-edge AI |
n8n-workflow-patterns - Implementation patterns
The 5 core patterns:
-
Webhook Processing - Receive HTTP → Process → Respond
- Stripe webhooks, form submissions, chat integrations
-
HTTP API Integration - Fetch APIs → Transform → Store
- Data sync, API aggregation, enrichment
-
Database Operations - Read/Write/Sync databases
- ETL, migrations, backups
-
AI Agent Workflow - AI with tools and memory
- Chatbots, content generation, analysis
-
Scheduled Tasks - Recurring automation
- Daily reports, cleanup, monitoring
n8n-node-configuration - Node setup
Key concepts:
- Operation-aware: Different operations need different fields
- Property dependencies: Fields show/hide based on other values
- Progressive discovery: Start with essentials, add complexity
Example: Slack node
// For operation='post' (send message)
{ resource: "message", operation: "post", channel: "#general", text: "Hello!" }
// For operation='update' (edit message) - different fields!
{ resource: "message", operation: "update", messageId: "123", text: "Updated!" }n8n-code-javascript - JS Code nodes
Key syntax:
// Access input data
const items = $input.all();
const firstItem = $json;
// Reference other nodes
const prevData = $node["Previous Node"].json;
// HTTP requests (built-in)
const response = await $helpers.httpRequest({
method: 'GET',
url: 'https://api.example.com/data'
});
// DateTime (Luxon)
const now = DateTime.now();
const formatted = now.toFormat('yyyy-MM-dd');n8n-expression-syntax - Expression debugging
Common mistakes:
| Wrong | Correct | Why |
|---|---|---|
{{ $json.email }} |
{{ $json.body.email }} |
Webhook data is under .body |
{{ json.field }} |
{{ $json.field }} |
Missing $ prefix |
$json.field |
{{ $json.field }} |
Missing {{ }} wrapper |
Useful patterns:
// Conditional
{{ $json.status === 'active' ? 'Yes' : 'No' }}
// Default value
{{ $json.name || 'Unknown' }}
// Reference other nodes
{{ $node["Extract Data"].json.email }}n8n-powerhouse/
├── README.md # This file
├── INSTALL.md # Detailed setup guide
├── examples/
│ └── README.md # Example prompts
└── .claude/
├── CLAUDE.md # Main configuration
└── skills/
├── n8n-workflow-architect/ # 4 files - Planning
├── n8n-workflow-patterns/ # 6 files - Patterns
├── n8n-node-configuration/ # 4 files - Node setup
├── n8n-mcp-tools-expert/ # 5 files - MCP guidance
├── n8n-code-javascript/ # 6 files - JS code
├── n8n-code-python/ # 6 files - Python code
├── n8n-expression-syntax/ # 4 files - Expressions
└── n8n-validation-expert/ # 4 files - Validation
Total: 46 files, ~25,000 words of n8n expertise
Both work. Just change N8N_API_URL to your instance URL.
Yes! You need API access enabled. In your n8n environment variables:
N8N_PUBLIC_API_ENABLED=true
No. n8n's API doesn't support activation. Claude will create the workflow and tell you to activate it in the UI.
Workflows are created inactive. Always review before activating. Claude also validates before creating.
n8n has built-in AI for generating workflows. n8n Powerhouse gives Claude deep expertise plus direct API access. Claude can:
- Make architectural decisions (n8n vs Python)
- Apply production patterns (idempotency, error handling)
- Debug complex issues
- Create workflows that follow best practices
Yes! Add .md files to .claude/skills/your-skill-name/ and update .claude/CLAUDE.md.
Discovery Tools
search_nodes # Find nodes by keyword
get_node_essentials # Quick node overview (start here)
get_node_info # Full documentation
list_nodes # List by category/package
list_ai_tools # AI-capable nodesWorkflow Management
n8n_create_workflow # Create new workflow
n8n_get_workflow # Get by ID
n8n_update_partial_workflow # Incremental updates (add/remove nodes)
n8n_update_full_workflow # Complete replacement
n8n_list_workflows # List all workflows
n8n_delete_workflow # Delete workflowValidation Tools
validate_workflow # Full workflow validation
validate_node_operation # Single node validation
validate_workflow_connections # Check connections only
validate_workflow_expressions # Check expressions only
n8n_validate_workflow # Validate by workflow IDTemplate Tools
search_templates # Search by keyword
list_node_templates # Find templates using specific nodes
get_template # Get full workflow JSON
get_templates_for_task # Curated templates by task typeExecution Tools
n8n_trigger_webhook_workflow # Trigger via webhook
n8n_list_executions # Execution history
n8n_get_execution # Execution details
n8n_health_check # Check n8n connectivityThe skills include production guidance for:
| Area | Coverage |
|---|---|
| Observability | Error workflows, execution logging, health checks |
| Idempotency | Duplicate handling, check-before-create, idempotency keys |
| Cost Management | AI API costs, caching, model selection |
| Operational Control | Kill switches, approval queues, audit trails |
| Security | Webhook signatures, credential handling, input validation |
See production-readiness.md for the full checklist.
- Fork this repo
- Add/edit files in
.claude/skills/ - Update skill descriptions in
.claude/CLAUDE.md - Submit a PR
Each skill needs:
SKILL.md- Main file (loaded when skill is invoked)README.md- Human-readable overview- Additional
.mdfiles for detailed topics
MIT License - Use freely for your automation projects.
Built with Claude Code + n8n MCP
Turn conversations into production-ready automation