From 10x-n8n
N8N Factory — builds production-ready workflows from natural language using Python sandbox
npx claudepluginhub openanalystinc/10x-n8n-skillThis skill is limited to using the following tools:
CONTEXT: 10x.in N8N Factory — Build a complete n8n workflow from natural language. Uses Python sandbox for ALL node lookups, JSON building, and validation. 546+ nodes indexed from n8n source repo — zero hallucination.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
CONTEXT: 10x.in N8N Factory — Build a complete n8n workflow from natural language. Uses Python sandbox for ALL node lookups, JSON building, and validation. 546+ nodes indexed from n8n source repo — zero hallucination.
REQUIRES: ~/.claude/n8n-config.json
NEVER assume or hallucinate node types, versions, or parameters. ALWAYS use sandbox commands to verify:
engine.py find — get exact type + version from source-extracted index (546 nodes)engine.py search — find nodes by keyword when you don't know the exact keyengine.py detail — read actual TypeScript source for detailed parametersengine.py grep — search n8n source files for specific patternsengine.py ls — list files in a node's source directoryWhen information is missing: DOWNLOAD the source, don't guess. If a node isn't in the index, use engine.py extract to re-scan the source repo.
Read ~/.claude/n8n-config.json | IF missing -> tell user: /n8n-connect first
# Check if we built something similar before
python sandbox/engine.py recall "wf:<similar-name>"
# Find exact nodes needed (from 546-node source index)
python sandbox/engine.py find webhook,httpRequest,code,slack,if
# Search by keyword if unsure about exact name
python sandbox/engine.py search "email"
# Get detailed params from TypeScript source
python sandbox/engine.py detail slack
# Grep source for specific patterns
python sandbox/engine.py grep "operation.*send" slack
# List files in a node's source dir
python sandbox/engine.py ls slack
# List all available nodes
python sandbox/engine.py list
# Stats
python sandbox/engine.py stats
If node not in index -> engine.py search first, then web search site:docs.n8n.io as fallback
# Get rules (connection format, positions, settings)
python sandbox/engine.py rules
# Get matching template for reference
python sandbox/engine.py template webhook
# Create project folder
mkdir -p projects/<slug>/{original,draft,checkpoints,credentials}
# Create spec.json with node specs + connections
# Then build:
python sandbox/engine.py build projects/<slug>/spec.json projects/<slug>/draft/workflow.json
The builder handles: type resolution from source index, typeVersion, UUIDs, grid positions, settings, validation.
find output which nodes need credentialspython sandbox/engine.py validate projects/<slug>/draft/workflow.json
If FAIL -> fix spec -> rebuild. Max 3 retries.
# Create
curl -s -X POST "$baseUrl/api/v1/workflows" -H "X-N8N-API-KEY: $apiKey" -H "Content-Type: application/json" -d @projects/<slug>/draft/workflow.json
# Or update (PATCH, not PUT)
curl -s -X PATCH "$baseUrl/api/v1/workflows/$id" -H "X-N8N-API-KEY: $apiKey" -H "Content-Type: application/json" -d @projects/<slug>/draft/workflow.json
# Activate (no separate endpoint)
curl -s -X PATCH "$baseUrl/api/v1/workflows/$id" -H "X-N8N-API-KEY: $apiKey" -H "Content-Type: application/json" -d '{"active":true}'
N8N Factory — COMPLETE
Workflow: "<name>" | ID: <id> | Nodes: <count>
Project: projects/<slug>/ | Checkpoint: v1
[INTELLIGENCE] Nodes found via source index
[PRODUCTION] JSON built programmatically
[COMPLIANCE] Validated
[OPERATIONS] Deployed
Next: /n8n-modify <slug> <changes>
python sandbox/engine.py — never read catalog/template files directlyengine.py find (sourced from actual n8n repo)engine.py find for lookups, engine.py build for JSON, engine.py validate for checksengine.py search/detail/grep/ls for exploration when you need more infoengine.py recall to reuse past successful approaches — skill evolves with use$ARGUMENTS