n8n-skills is a collection of Claude Code skills and hooks that guide AI assistants in creating, validating, and deploying n8n workflows through the n8n-mcp server. Developers use it to automate workflow construction, configure nodes and expressions, resolve validation errors, and operate self-hosted n8n. The catalogue entries are its skills, hooks, plugins, and instruction.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add czlonkowski/n8n-skills --skill n8n-multi-instancegit clone --depth 1 https://github.com/czlonkowski/n8n-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/czlonkowski/n8n-skills/n8n-multi-instance)<a href="https://agentmods.dev/skills/czlonkowski/n8n-skills/n8n-multi-instance"><img src="https://agentmods.dev/badge/skills/czlonkowski/n8n-skills/n8n-multi-instance/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/czlonkowski/n8n-skills/n8n-multi-instance"><img src="https://agentmods.dev/badge/skills/czlonkowski/n8n-skills/n8n-multi-instance.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00195 | $0.03716 |
| Opus 5.5 | $0.00078 | $0.01486 |
| Sonnet 5.5 | $0.00039 | $0.00743 |
| Haiku 4.5 | $0.00019 | $0.00372 |
Grade A, and why
n8n-multi-instance scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to n8n-multi-instance — 241 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working with multiple n8n instances over MCP
When the n8n_instances tool is available, the user has multi-instance mode on: one MCP
connection can reach several n8n instances (e.g. prod, staging, or one per client/team).
There are two ways to say which instance a call should hit:
- Name it on the call — every n8n tool (
n8n_get_workflow,n8n_list_workflows,n8n_update_partial_workflow,n8n_manage_datatable,n8n_manage_credentials,n8n_executions,n8n_test_workflow,n8n_health_check, …) takes an optionalinstance: "<name>". It routes that one call and changes nothing else. Prefer this. - Set the default with
switch—n8n_instances({mode:"switch", name})sets the instance used by calls that don't name one.
The default is shared more widely than it looks. On claude.ai (and other hosted connectors) one
connection serves every chat and agent using it, so a switch in one chat moves all the
others too — and their next unnamed call silently lands on your instance. A wrong target is
usually silent: a read returns the wrong data and a write lands in the wrong place. So name the
instance.
If the n8n_instances tool is not present, the account is single-instance: ignore this skill
and use the n8n tools directly.
Availability. The
instanceargument needs hosted n8n-mcp backend 0.1.120+ / n8n-mcp 2.94.0+. It is there when the n8n tools' input schemas list aninstanceproperty (and then8n_instanceslist output carries ahintabout it). If it isn't listed, the server predates it: fall back toswitch, in its own turn, as described under Switching.
Golden rules
- Discover first. Call
n8n_instances({mode:"list"})so you know the exact instance names and which one iscurrent. Never guess a name. - Name the instance on every call when it matters — whenever you work on more than one
instance, on any instance other than
current, or alongside other agents/chats on the same account:n8n_list_workflows({instance:"prod"}). Names are case-insensitive. Pass the name the same way on every call of the task; there is nothing to "set up" first. - An
instanceyou name is never silently replaced. An unknown name fails withINSTANCE_NOT_FOUNDand lists theavailablenames — pick one from that list and retry. It never falls back to another instance. - Use
switchonly to change the default, and only when you're the sole user of the connection. Switch in its own turn — never in the same parallel batch as a call that depends on it (batch order isn't guaranteed). - Credential writes: name the instance.
n8n_manage_credentials({action:"create", …, instance:"prod"}). A named write is explicit, so it is neverINSTANCE_AMBIGUOUS. Check the name againstlistfirst — naming the wrong instance writes the secret there. - An unexpected
NOT_FOUNDis almost always a wrong-instance misroute, not a deletion. Don't recreate the object. Retry withinstanceset to where it lives (see Recovery).
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago Changed · +45 lines · +14 tokens per session 8858824ade2d
- 1mo ago First seen · 189 lines · 181 tokens per session scan A 1995cb03cb89
n8n-multi-instance is a skill published in the GitHub repository czlonkowski/n8n-skills (6,522 stars, last pushed 2d ago), licensed MIT. It adds 195 tokens to every session and 3,716 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to n8n-multi-instance, differing in 241 lines, and is treated as a copy.
Other skills, from other repositories
build-workflow
Full 3-phase pipeline (Research → Write+Validate → Deploy+Test) for shipping an n8n workflow end-to-end. Wraps Etienne's n8n-as-code:n8n-architect skill for schema research + authoring, adds repo-scoped orchestration — community-template lookup, validate-push-test loop, mcpTrigger publish gate, execution inspection…
n8nac-cheatsheet
Curated "user intent → exact command" mapping for the n8nac CLI. Use this BEFORE reading n8nac-reference or running --help. Covers the 60+ common workflows — lookup, deploy, test, debug, migrate, credentials, projects, environments. If your task matches a row here, run the linked command verbatim — no flag fishing.
n8n
Use when the user wants to build, debug, or extend an n8n workflow - generating workflow JSON from a description, scaffolding a custom TypeScript node, building an AI agent (LangChain cluster), iterating over items, writing Code-node JS, linting an existing workflow, diagnosing a failed execution, or driving a live…
deploy
Push a local .workflow.ts to n8n, verify remote state, and live-test (test URL by default; --activate --prod runs production test). Use when the user asks to deploy, push or ship an existing .workflow.ts file.
n8n-code-javascript
Write JavaScript code in n8n Code nodes. Use when writing JavaScript in n8n, using $input/$json/$node syntax, making HTTP requests with $helpers, working with dates using DateTime, troubleshooting Code node errors, or choosing between Code node modes.
session-env
Explain and verify how a Claude session pins itself (and all its n8nac workflow/instance commands) to exactly ONE n8n environment without clobbering other sessions' global active env. Use when the user asks "which env am I on", "how does session env pinning work", "pin this session to env X", "why was my env command…