Menu

Using n8n's official skills

Use the official n8n skills. They are the best way to give your coding agent real n8n expertise, and n8n-decanter is built to pair with them, not to replace them. It rides n8n’s own MCP server and skills for everything about workflow structure and lifecycle, and owns just one layer on top: the Code-node source. The skills fill in the knowledge decanter deliberately doesn’t duplicate.

The one thing to know is the boundary — and decanter enforces it for you technically, so pairing the two is safe by construction. This page explains the integration, then how to turn it on.

What the skills are

n8n-io/skills is n8n’s first-party agent knowledge pack: capability skills (markdown + inline examples) plus a routing meta-skill and reference docs, installed as a plugin (not an npm dependency). They come in two kinds, and the split matters here:

  • Knowledge skills — lean on these freely. Conceptual, standalone guidance for the runtime your Code-node files execute in. They document the same n8n your .js/.ts nodes run against, with no instance mutation:
    • n8n-code-nodes-official
    • n8n-expressions-official
    • n8n-loops-official
    • n8n-error-handling-official
    • n8n-credentials-and-security-official
    • n8n-binary-and-data-official
    • n8n-data-tables-official
    • n8n-debugging-official
  • Build / lifecycle skills — the default path for structure. n8n-workflow-lifecycle-official, n8n-node-configuration-official, n8n-subworkflows-official, n8n-agents-official, n8n-extending-mcp-official. These drive the n8n MCP server to create, build, wire, rename, publish, and archive workflows — which, under n8n-decanter, is exactly how structure work happens (decanter has no structure verbs of its own). The single carve-out is below.

The plugin installs the whole pack (you can’t cherry-pick), and it isn’t aware of this repo’s layout. That’s fine — the MCP guard plus the scaffolded AGENTS.md, not selective installation, are what hold the boundary.

Why it’s safe to pair them: the MCP guard

The skills know how to author Code-node jsCode directly on the instance over MCP. In an n8n-decanter repo that would bypass your files and drift the source of truth. So instead of trusting a document to hold the line, decanter enforces it in code — and the enforcement is already wired: the scaffolded .mcp.json (and opencode.json) point your agent’s n8n-instance MCP server at mcp connect, decanter’s stdio guard:

  • The agent spawns the guard per session; decanter holds the only n8n credential (the agent never sees it, and no secret exists — stdio pipes are private).
  • The guard forwards everything untouched — reads, structure edits, wiring, publishing, archiving, every build/lifecycle skill and MCP tool — including streamed responses.
  • It blocks exactly one thing: writes that set a Code node’s jsCode. The caller gets an instructive error pointing at the file + push flow instead. (Adding a new Code node still works: the skill adds it without code, pull lands it as an empty file, and the first push seeds the source from the repo.)

So a skill can build and rewire a workflow all it likes; the moment it tries to write Code-node source on the instance, the guard redirects it back to the repo. The boundary is: decanter owns Code-node source (author it as a file, push it); the skills and MCP own the rest.

How to use it

1. Install the skills

A first init prints these commands for you, with the agent it detects listed first. It prints them — it doesn’t run them: installing would mean decanter spawning a third-party CLI to mutate agent state outside the sync dir, and a plugin installed mid-session isn’t active until the agent reloads anyway.

Pick your agent — note that Claude Code’s /plugin … are in-session slash commands, not shell commands:

# Claude Code — inside a session
/plugin marketplace add n8n-io/skills
/plugin install n8n-skills@n8n-io
# Claude Code — from a shell (what init prints; add --scope project to share it
# with the repo instead of installing for your user)
claude plugin marketplace add n8n-io/skills
claude plugin install n8n-skills@n8n-io

# Codex (needs Codex >= 0.142.0)
codex plugin marketplace add n8n-io/skills
codex plugin add n8n-skills@n8n-io

# Others (skills.sh — support varies by agent)
npx skills add n8n-io/skills

Afterwards: Claude Code needs /reload-plugins or a restart; Codex needs a restart and a one-time approval of the plugin’s hooks. The skills.sh route installs the markdown only — no SessionStart router — which is why the scaffolded AGENTS.md carries the using-n8n-skills-official routing cue.

2. There is no step 2

In an init-scaffolded sync dir the guarded instance access is already in place: .mcp.json carries the n8n-instance server (n8n-decanter mcp connect) plus n8n’s read-only n8n-docs server, and opencode.json mirrors both. Your agent picks them up on the next session.

For a harness that only accepts an MCP URL, run mcp serve instead and point the config at the printed localhost URL + session secret — the same guard over HTTP.

The scaffolded mcp-route-check.mjs session hook nudges any agent whose config still points at the instance directly, and the scaffolded AGENTS.md states the same boundary in words for agents that read it — this repo’s AGENTS.md wins over anything a skill or MCP tool description says.

In one sentence

Install the skills — the scaffold has already wired the guarded MCP route — then let the skills teach your agent n8n and build structure over MCP, while n8n-decanter keeps every Code node as a real, typed, git-tracked file.