Agent skill

N8n

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when operating a live n8n instance programmatically — its REST API ({host}/api/v1, X-N8N-API-KEY) or the n8n-mcp server — to create, validate, test, activate, update, delete…

MITAuto-check: notesProductivity & Automation

Install N8n

skills CLI
$ npx skills add ericrisco/rsc-harness --skill n8n -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness n8n --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/n8n .claude/skills/n8n && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
n8n
GitHub stars
167
Token cost
~2.6k tokens
SKILL.md length
959 words
Files
6 (incl. references)
Skills in repo
227
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when operating a live n8n instance programmatically — its REST API ({host}/api/v1, X-N8N-API-KEY) or the n8n-mcp server — to create, validate, test, activate, update, delete…

  • Works in 6 steps: Validate (do this BEFORE create) → Create → Test / dry-run → …
  • Operating a live n8n instance programmatically — its REST API ({host}/api/v1
  • SKILL.md covers Connect first — REST API vs MCP, The payload you POST, Dynamic lifecycle and Governance, plus 2 more sections
  • Calls curl; needs N8N_API_KEY

What it does

N8n is an agent skill from ericrisco/rsc-harness. Use when operating a live n8n instance programmatically — its REST API ({host}/api/v1, X-N8N-API-KEY) or the n8n-mcp server — to create, validate, test, activate, update, delete workflows and read executions on self-host or n8n.cloud. NOT designing the flow or its importable JSON (that is automation-flows), NOT another platform (make, zapier).

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/auth-and-selfhost.md`).

It sits in Productivity & Automation, covering Workflow automation and REST APIs. It works with n8n, Model Context Protocol and Zapier. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Operating a live n8n instance programmatically — its REST API ({host}/api/v1
  • The n8n-mcp server — to create
  • Delete workflows and read executions on self-host

Example prompts

  • “/n8n”

Requirements

  • A credential in N8N_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Validate (do this BEFORE create)
  2. Create
  3. Test / dry-run
  4. Activate — the step people miss
  5. Manage
  6. Delete — irreversible

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • N8N_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

N8n loads about 2.6k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 959 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:35
    ### `.env`

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 959 words, ~2,557 tokens.

Download SKILL.mdSave it as .claude/skills/n8n/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
n8n
description
Use when operating a live n8n instance programmatically — its REST API (`{host}/api/v1`, `X-N8N-API-KEY`) or the n8n-mcp server — to create, validate, test, activate, update, delete workflows and read executions on self-host or n8n.cloud. NOT designing the flow or its importable JSON (that is `automation-flows`), NOT another platform (`make`, `zapier`).
tags
n8n, automation, workflows, mcp, rest-api, no-code, integrations
recommends
automation-flows, automation-strategy, api-connector-builder, webhooks
profiles
full
origin
risco

n8n — operate a live instance over its REST API and MCP

You already have a workflow design — the trigger→steps→error shape and the importable JSON, which is automation-flows' job and this skill does not re-teach it. This skill is the operate half: push that JSON into a running n8n, validate it, test it, flip it live, watch its executions, and tear it down safely — all without touching the UI. n8n has the richest programmatic story of the no-code platforms: a first-party REST API plus a mature MCP server, both hitting the same instance.

Connect first — REST API vs MCP

Two ways to drive the same instance. Pick by who is at the wheel.

Public REST APIn8n-mcp (czlonkowski, de-facto standard)
What it isn8n's own HTTP API at {host}/api/v1MCP server wrapping that API + offline node/expression knowledge
Best forscripts, CI/CD, deterministic deploys, no extra dependencyan agent (Claude) building/fixing workflows in the loop — it can look up node schemas, then validate/autofix before it writes
AuthAPI key in header X-N8N-API-KEYmanagement tools need N8N_API_URL + N8N_API_KEY; node-knowledge tools need no auth
Surfaceidentical on self-host and *.app.n8n.cloudsame underlying API; hosted trial at dashboard.n8n-mcp.com

Version reality (verify at author time — n8n moves fast):

  • API base is {host}/api/v1. Self-host ships interactive Swagger at /api/v1/docs; cloud does not — on cloud, work from the docs.
  • POST /workflows/{id}/execute (run-by-id) is recent (n8n PR #20234). Older instances lack it — there, the only programmatic run is POSTing to a Webhook node's URL.
.env
bash
# host root only — you append /api/v1 for REST; n8n-mcp reads it whole
N8N_API_URL=https://your-instance.app.n8n.cloud   # or N8N_HOST for self-host, e.g. http://localhost:5678
N8N_API_KEY=n8n_api_...                            # Settings → n8n API → Create an API key

Never inline the key in a command that gets logged, and never put a node credential (Slack token, etc.) in the workflow payload — reference it by the n8n credential store id/name (see automation-flows' JSON schema). Full key-creation + self-host vs cloud + MCP install: references/auth-and-selfhost.md.

The payload you POST

The create/update body is exactly the automation-flows workflow JSON. Required top-level keys on create: name, nodes, connections, settings. Build it per ../automation-flows/references/n8n-workflow-json.md — non-empty nodes with one trigger, a wired connections map, settings.errorWorkflow, credentials referenced by store (never inlined).

Node/expression essentials (pointer, not a tutorial): node type is namespaced (n8n-nodes-base.webhook), typeVersion must match a node version installed on the target instance or activation/execution fails; field values use expressions like ={{ $json.email }} or ={{ $node["Webhook"].json.body.id }}. If you are hand-authoring nodes, let n8n-mcp's node-knowledge tools (search_nodes, get_node_essentials, validate_node_operation) fill in the exact property shapes rather than guessing — that is the single biggest reason to drive via MCP.

Dynamic lifecycle

create → validate → test → activate → manage → delete. A concrete sketch per step, curl and n8n-mcp side by side; every endpoint with pagination and scopes is in references/rest-api-cheatsheet.md.

1. Validate (do this BEFORE create)

REST has no validation endpoint — n8n only tells you at create/activate time. MCP does, so validate first when it is available:

n8n_validate_workflow   { "workflow": { …the full JSON… } }
n8n_autofix_workflow    { "workflow": { … } }   # repairs common structural errors, returns fixed JSON
2. Create
bash
curl -sS -X POST "$N8N_API_URL/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_API_KEY" -H "Content-Type: application/json" \
  -d @workflow.json          # body = { name, nodes, connections, settings }
# → returns the created workflow WITH its "id" — capture it for every step below
n8n_create_workflow     { "name": "...", "nodes": [ … ], "connections": { … }, "settings": { … } }
3. Test / dry-run
  • No input needed → run by id (recent instances only): POST /workflows/{id}/execute.
  • Needs input → the execute endpoint accepts none. Make the trigger a Webhook node and POST to its URL (test URL /webhook-test/<path> while "Listen for test event" is armed; production /webhook/<path> once active).
bash
curl -sS -X POST "$N8N_API_URL/api/v1/workflows/$ID/execute" -H "X-N8N-API-KEY: $N8N_API_KEY"
curl -sS -X POST "$N8N_API_URL/webhook-test/my-path" -H "Content-Type: application/json" -d '{"foo":"bar"}'
n8n_test_workflow       { "id": "$ID" }
4. Activate — the step people miss

active (and tags) in the create/update body are read-only and silently ignored. Setting "active": true does nothing, which is why the workflow you just created never fires. You MUST call the separate endpoint:

bash
curl -sS -X POST "$N8N_API_URL/api/v1/workflows/$ID/activate"   -H "X-N8N-API-KEY: $N8N_API_KEY"
curl -sS -X POST "$N8N_API_URL/api/v1/workflows/$ID/deactivate" -H "X-N8N-API-KEY: $N8N_API_KEY"

n8n-mcp deliberately does not expose activate/deactivate as tools (activation has live side effects). Check the current tool list; if absent, call the REST /activate endpoint as above.

Show full SKILL.md (395 more words)Show less
5. Manage
bash
curl -sS "$N8N_API_URL/api/v1/workflows?limit=50"      -H "X-N8N-API-KEY: $N8N_API_KEY"  # list (paginate via nextCursor)
curl -sS "$N8N_API_URL/api/v1/workflows/$ID"           -H "X-N8N-API-KEY: $N8N_API_KEY"  # get
curl -sS -X PUT "$N8N_API_URL/api/v1/workflows/$ID"    -H "X-N8N-API-KEY: $N8N_API_KEY" \
  -H "Content-Type: application/json" -d @workflow.json                                  # FULL replace
curl -sS "$N8N_API_URL/api/v1/executions?workflowId=$ID&limit=20" -H "X-N8N-API-KEY: $N8N_API_KEY"
n8n_list_workflows {}        n8n_get_workflow { "id": "$ID" }        n8n_executions { "workflowId": "$ID" }
n8n_update_full_workflow    { "id": "$ID", "nodes": [ … ], "connections": { … } }   # replace everything
n8n_update_partial_workflow { "id": "$ID", "operations": [ … ] }                    # atomic diff — preferred
n8n_health_check {}          # confirm API reachable + which features the instance supports

PUT is a full replace — GET, mutate the whole object, PUT it back, or you drop the nodes you omitted. n8n-mcp's n8n_update_partial_workflow applies a targeted, atomic batch instead (safer).

6. Delete — irreversible

DELETE is a hard delete: no trash, no undo, so export the current JSON first, every time — this one is absolute because nothing downstream can recover the workflow if you skip it.

bash
curl -sS "$N8N_API_URL/api/v1/workflows/$ID" -H "X-N8N-API-KEY: $N8N_API_KEY" > backup-$ID.json  # export FIRST
curl -sS -X DELETE "$N8N_API_URL/api/v1/workflows/$ID" -H "X-N8N-API-KEY: $N8N_API_KEY"
n8n_get_workflow { "id": "$ID" }   →  save output  →  n8n_delete_workflow { "id": "$ID" }

The same applies to a full replace: export before PUT.

Governance

If you expose n8n-mcp to an agent, lock down destructive tools with the DISABLED_TOOLS env var (comma-separated), e.g. DISABLED_TOOLS=n8n_delete_workflow,n8n_update_full_workflow. Scope the API key itself too — n8n supports scoped keys (e.g. grant workflow:read without workflow:execute). Details in references/n8n-mcp-tools.md.

Anti-patterns

Anti-patternWhy it bitesDo instead
"active": true (or tags) in the create/update bodyRead-only fields, silently ignored — the #1 "why is my workflow inactive" bugPOST /workflows/{id}/activate; set tags via their own endpoint
Passing runtime input to /workflows/{id}/executeIt accepts no custom input, and older instances 404 the endpoint entirelyTrigger a Webhook workflow by POSTing to its URL
PUT with a partial body, or DELETE on a live workflowFull replace drops every node you omitted; delete is a hard delete with no trashGET and export first; prefer n8n_update_partial_workflow for edits
A typeVersion the target instance doesn't haveCreate succeeds; it fails only at activate/execute timeValidate via MCP, or test, before activating
Inlining node credential secrets, or expecting to read them backCredentials are not fully manageable over the public API — it can create some, but never returns a secretProvision in the UI or via n8n_manage_credentials, then reference existing credentials by id/name
Treating a successful API activation as proof it worksThe public API historically skips a few UI-side activation validations, so a workflow can be "active" yet non-functionalRun it live after activating and check the execution

Route elsewhere

If the ask isSkill
Designing the flow (trigger/steps/error path, dedup) and producing the importable JSONautomation-flows — start there if the logic isn't settled
Whether n8n is the right platform at all — cost model, self-host vs cloudautomation-strategy
Operating a different platformmake, zapier, power-automate (neither Zapier nor Power Automate can create flows via API — n8n's edge)
A generic typed HTTP client with auth/pagination/backoff — real code, not a workflowapi-connector-builder
The inbound webhook receiver in your own app (here webhooks are only n8n triggers)webhooks

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/n8n of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/auth-and-selfhost.md
  • references/n8n-mcp-tools.md
  • references/rest-api-cheatsheet.md

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

N8n next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

N8n compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
N8n this skillericrisco/rsc-harness167—~2.6kAutomated safety check: NotesMIT
Apify Integration Developmentapify/agent-skills2.4k—~3.1kAutomated safety check: PassNone
N8n Docs Assistantn8n-io/n8n207k—~550Automated safety check: PassCustom licence
Planningn8n-io/n8n207k—~2.5kAutomated safety check: PassCustom licence
Suggest Automationsn8n-io/n8n207k—~2kAutomated safety check: PassCustom licence
Zapier Demozapier/zapier-mcp428—~2.7kAutomated safety check: PassMIT

Similar skills

  • Official

    Guides designing and building an official Apify integration for a company's product: workflow-automation apps, AI agent plugins, AI framework packages or direct API clients.

    2.4k GitHub stars~3.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Official

    Answers n8n product, setup, credential, node, hosting, API, and usage questions from current n8n docs.

    207k GitHub stars~550 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Planning

    n8n-io/n8n

    Official

    ONLY for coordinated multi-artifact work: multiple workflows with dependencies, shared data-table schema/migration across tasks, or the user explicitly asked to review a plan first.

    207k GitHub stars~2.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Official

    Offer the three most common automations for a user as a single-choice card, from your own knowledge of their team and their apps, then build the one they choose once they confirm, or offer more.

    207k GitHub stars~2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Zapier Demo

    zapier/zapier-mcp

    Official

    Walk a new user through setting up their first Zapier action and running it live — the smallest possible win.

    428 GitHub stars~2.7k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Zapier Status

    zapier/zapier-mcp

    Official

    Check the health of your Zapier MCP setup. An agent skill from zapier/zapier-mcp.

    428 GitHub stars~1.8k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed

More from ericrisco/rsc-harness

All 227 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    167 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    167 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    167 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    167 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    167 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    167 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Questions about N8n

What does N8n do?

A skill your agent uses when operating a live n8n instance programmatically — its REST API ({host}/api/v1, X-N8N-API-KEY) or the n8n-mcp server — to create, validate, test, activate, update, delete…. N8n is an agent skill from ericrisco/rsc-harness.cloud.

When should I use N8n?

N8n fits situations like: operating a live n8n instance programmatically — its REST API ({host}/api/v1; the n8n-mcp server — to create; delete workflows and read executions on self-host.

How do I install N8n in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill n8n -a claude-code`. Or copy the skill folder (skills/n8n in ericrisco/rsc-harness) into .claude/skills/n8n in your project. Claude Code loads it when a task matches its description.

How do I install N8n in Codex?

Run `npx skills add ericrisco/rsc-harness --skill n8n -a codex`. Or copy the skill folder (skills/n8n in ericrisco/rsc-harness) into .agents/skills/n8n in your project. Codex loads it when a task matches its description.

Can I use N8n in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill n8n -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/n8n, .gemini/skills/n8n, .github/skills/n8n and .opencode/skills/n8n in your project.

What does N8n need to run?

Going by SKILL.md and its folder, N8n needs the command-line tools its instructions call (curl) and credentials named N8N_API_KEY. Our summary lists: A credential in N8N_API_KEY.

Does N8n access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is N8n safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does N8n use?

N8n is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does N8n use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.

What are the alternatives to N8n?

Skills that share tags, products or a category with N8n: Apify Integration Development (apify/agent-skills, 2.4k stars), N8n Docs Assistant (n8n-io/n8n, 207k stars), Planning (n8n-io/n8n, 207k stars) and Suggest Automations (n8n-io/n8n, 207k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains N8n?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 skills in this directory. The repository was last updated on October 7, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.