Agent skill

N8n Agents

by sickn33 in sickn33/agentic-awesome-skills

Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows.

MITAuto-check passedProductivity & Automation

Install N8n Agents

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill n8n-agents -a claude-code

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

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills n8n-agents --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/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/n8n-agents .claude/skills/n8n-agents && 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-agents
GitHub stars
47k
Used in
1 other repo
Token cost
~6k tokens
SKILL.md length
3,007 words
Files
10 (incl. references)
Skills in repo
1,497
Repo updated
First seen
Licence
MIT

At a glance

Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows.

  • Works in 2 steps: Tool names and descriptions ARE part of… → Structured output must parse AND…
  • Tasks that involve Workflow automation
  • SKILL.md covers When to Use, Pick the right node first, The sub-node pattern and Two non-negotiables, plus 15 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

N8n Agents is an agent skill from sickn33/agentic-awesome-skills. Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows.

Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `references/CHAT_AGENT_PATTERNS.md`, `references/EXAMPLES.md` and `references/HUMAN_REVIEW.md`).

It sits in Productivity & Automation, covering Workflow automation and Structured output and tool calling. It works with n8n and LangChain. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Tasks that involve Workflow automation
  • Tasks that involve Structured output and tool calling

Example prompts

  • “/n8n-agents”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Tool names and descriptions ARE part of the prompt. The model picks a tool by reading its name and description — nothing else. A tool…
  2. Structured output must parse AND autoFix. An outputParserStructured with autoFix: true and a coding-capable fixer model is the production…

What it can do on your machine

Read from SKILL.md and the folder at commit b84d35a. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

N8n Agents loads about 6k tokens when it runs, and up to ~29k if it reads all its reference files. Until then it costs about 34 tokens; SKILL.md has 3,007 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 sickn33/agentic-awesome-skills at commit b84d35a, republished under its MIT licence (© sickn33). 3,007 words, ~6,046 tokens.

Download SKILL.mdSave it as .claude/skills/n8n-agents/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
n8n-agents
description
Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows.
risk
critical
source
https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-agents
source_repo
czlonkowski/n8n-skills
source_type
community
date_added
2026-07-21
author
Romuald Czlonkowski
license
MIT
license_source
https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE

n8n Agents

When to Use

Use this skill for n8n AI Agent, LangChain, classifier, extractor, memory, RAG, tool-calling, structured-output, or human-review design. Confirm the target n8n instance and inspect the live node schema before applying version-sensitive configuration.

Before activating or testing a workflow that can send messages, write data, make purchases, change accounts, or call external services, show the user the exact effects and obtain approval. Store provider keys and tokens only in n8n credentials; never place them in prompts, Set nodes, workflow JSON, examples, or logs.

The n8n AI Agent node (@n8n/n8n-nodes-langchain.agent) is a multi-turn LLM driver with sub-nodes for the model, memory, tools, and an optional output parser. This skill is the deep guide to designing agents and the LangChain family around them. For the high-level "where an agent fits in a workflow" picture, see the n8n-workflow-patterns skill — this skill goes one level down into how to build it well.

For node-type formats: in workflow JSON the LangChain nodes use the long @n8n/n8n-nodes-langchain.* form (.agent, .lmChatOpenAi, .memoryBufferWindow, .outputParserStructured, .toolWorkflow, .toolHttpRequest, .toolCode). When you call get_node / validate_node, use the short form (nodes-langchain.agent). See n8n-mcp-tools-expert for the format rules.


Pick the right node first

Reaching for an Agent when the task is one-shot classification or extraction is the most common over-build. Decide before you wire anything:

You need to…UseWhy
Call tools, reason over multiple turns, or hold memoryAI Agent (.agent)The full loop: model + tools + memory + optional parser. Also a fine default when you'd rather standardize.
One-shot text in → text out, no toolsBasic LLM Chain (.chainLlm)No agent loop, easier to debug. Still accepts an outputParserStructured sub-node.
Route a natural-language input to one of N branchesText Classifier (.textClassifier)ONE node, N output handles, downstream wires directly into each. Not Agent + Switch.
Pull structured fields out of free textInformation Extractor (.informationExtractor)Purpose-built field extraction with a schema.
3-way positive/neutral/negative splitSentiment Analysis (.sentimentAnalysis)Built-in branch outputs.
Condense a long documentSummarization Chain (.chainSummarization)Map-reduce summarization built in.
Generate an image / audio / videoThe provider's native single-call node (OpenAI, Gemini, ElevenLabs…)NEVER wrap media generation in an Agent — see "Binary and the agent boundary".

Text Classifier detail (the Agent + Switch anti-pattern): every category needs both a name AND a description. The model routes against the description, not the name — a category with no description gets picked by coin-flip. Set options.enableAutoFixing: true for robustness on edge inputs. One node, N branches, done. Reaching for an Agent that "decides" then a Switch that "routes" is two nodes plus prompt boilerplate for what Text Classifier does natively.

Chat-model nodes (.lmChatOpenAi, .lmChatAnthropic, .lmChatOpenRouter, …) are sub-nodes — they don't run standalone. They wire into a chain, agent, classifier, or extractor via the ai_languageModel connection.


The sub-node pattern

The Agent has a main input (the prompt / user message) and up to four sub-node slots, each wired by its own ai_* connection type:

SlotConnection typeRequired?Node example
modelai_languageModelYes.lmChatOpenAi, .lmChatAnthropic, .lmChatOpenRouter
memoryai_memoryOptional.memoryBufferWindow, .memoryPostgresChat
toolsai_toolOptional (but the point of an agent)slackTool, .toolWorkflow, .toolHttpRequest, .toolCode
outputParserai_outputParserOptional.outputParserStructured

A sub-node connects FROM itself TO the agent. In workflow JSON the connection lives on the sub-node, keyed by the ai_* type:

json
"Main LLM": {
  "ai_languageModel": [[{ "node": "AI Agent", "type": "ai_languageModel", "index": 0 }]]
},
"Simple Memory": {
  "ai_memory": [[{ "node": "AI Agent", "type": "ai_memory", "index": 0 }]]
},
"Search customer DB": {
  "ai_tool": [[{ "node": "AI Agent", "type": "ai_tool", "index": 0 }]]
}

Multiple tools all connect into the same ai_tool index 0 — they stack, they don't fan into separate indices. With n8n_update_partial_workflow you wire each with an addConnection op using sourceOutput: "ai_tool". The agent puts its final answer in $json.output (not .text, not .response) — downstream nodes read {{ $json.output }}.

See references/EXAMPLES.md for a complete stateless agent-core node-object snippet.


Two non-negotiables

  1. Tool names and descriptions ARE part of the prompt. The model picks a tool by reading its name and description — nothing else. A tool named tool1 with an empty description is invisible to the model: it skips it, mis-selects it, or hallucinates parameters. There's usually no error — just an agent that "won't use my tool". Treat both like API design. → references/TOOLS.md
  2. Structured output must parse AND autoFix. An outputParserStructured with autoFix: true and a coding-capable fixer model is the production pattern. Without autoFix, one malformed JSON response halts the whole workflow. → references/STRUCTURED_OUTPUT.md

Strong defaults

  • Per-tool usage goes in the tool description, not the system prompt. Anything about how to call this specific tool belongs with the tool, so it travels across agents and keeps the system prompt focused. → references/SYSTEM_PROMPT.md
  • Sub-workflow tools (.toolWorkflow) for anything multi-step. Any workflow becomes a tool with typed $fromAI() inputs, and composes with branching, error handling, and reuse. Default here when in doubt. → references/SUBWORKFLOW_AS_TOOL.md and n8n-subworkflows.
  • Wrap tools with user-visible side effects in human review. Sends, payments, refunds, account changes get gated behind an approval node so a human signs off before the tool fires. → references/HUMAN_REVIEW.md
  • Raise maxIterations. The default tool-call cap is low (single digits on most versions) — fine for a one-tool agent, far too low for a multi-tool agent that chains several calls per turn. It surfaces as "max iterations reached" or empty output. Set options.maxIterations to a realistic ceiling (15 for a focused sub-agent, 50-200 for a broad orchestrator).
  • Put the current date in the system prompt via {{ $now }} (or {{ $now.format('DDDD') }}). A hardcoded date is stale immediately.

The four tool types

Pick the lightest option that covers the job:

Tool typeNodeUse when
Native tool nodeslackTool, gmailTool, toolCalculator, …The capability maps to one existing node + one operation. Lowest overhead.
Sub-workflow as tool.toolWorkflowMore than one node, reusable logic, or you want independent testability. The canonical n8n way — default when in doubt.
HTTP Request Tool.toolHttpRequestA single external HTTP API the agent should orchestrate directly. Reuse the service's predefined credential to cover operations a native node doesn't expose.
MCP Client Tool.mcpClientToolA maintained MCP server already covers it, or you want one published workflow to serve many agents.

There is also a Custom Code Tool (.toolCode) for pure inline computation — but its runtime contract (string in / string out, no $fromAI, no $helpers) is owned by the n8n-code-tool skill. Read that before writing one. Rule of thumb: if you find yourself reaching for $fromAI() inside the code, you want .toolWorkflow instead.

$fromAI(): how the agent fills tool parameters

Tool parameters the agent should decide are wrapped in $fromAI(). It is a real n8n expression helper, used inside a tool node's parameter expressions:

={{ $fromAI('paramName', 'what to put here — be specific: format, range, example', 'string') }}
  • paramName — the name the model uses internally (snake_case or camelCase, be consistent).
  • description — tells the model what value to produce. It is part of the prompt — write it like JSDoc.
  • type (optional) — 'string' (default), 'number', 'boolean', 'json'. A wrong-typed value fails the call.
  • defaultValue (optional) — used when the model omits it.

$fromAI() carries JSON only — it cannot carry binary (no base64, no file bytes). And not every parameter has to be $fromAI: plumb identity, authority limits, and correlation IDs (userId, refund caps, sessionId) deterministically from workflow context so the agent can't get them wrong or even see them. → references/TOOLS.md for the full anatomy and the "give the agent a button, not a steering wheel" pattern.


System prompt vs tool description

Belongs in the system promptBelongs in the tool's description
Persona, role, voiceWhat this specific tool does
Global output/format rules ("respond in markdown")When to use it vs other tools
Refusal / safety behaviorWhat each parameter means and its shape
Display protocols (![]() for images)Examples of good vs bad invocations
Universal context (current date via $now, user role)Tool-specific gotchas (rate limits, edge cases)
Inter-tool flow ("after generating, always display")Tool-specific input transformations

Why split it: a well-described tool works in any agent that drops it in, tool details only "load" when the model considers that tool (token efficiency), and you update one tool description instead of a paragraph buried in a 5000-token prompt. → references/SYSTEM_PROMPT.md


Structured output: when and how

Add an outputParserStructured sub-node (wired ai_outputParser) when downstream needs strict JSON, not free-form text. Two rules:

  1. Use schemaType: 'manual' with a real JSON Schema, not jsonSchemaExample. An example can't express required-vs-optional, enums, numeric ranges, or array constraints — you outgrow it the first time the shape gets non-trivial. Reach for fromJson + an example only for throwaway shapes.
  2. autoFix: true with a coding-capable fixer model. Wire a second model into the parser's ai_languageModel slot. Reconciling broken JSON against a schema is a coding task — a weak fixer just produces another malformed retry and burns tokens.

→ references/STRUCTURED_OUTPUT.md for the schema patterns, the load-bearing "DO NOT wrap in markdown" retry line, and the parse-failure cookbook.


Memory: brief mental model

Memory is a sub-node (ai_memory). Without it, every call is stateless — correct for one-shot tasks (classify, summarize). With it, the agent holds a conversation, keyed by whatever expression you bind to sessionKey.

  • memoryBufferWindow — keeps the last N exchanges per key and persists across executions via n8n's store. The default for chat. contextWindowLength defaults to 5, which is very low — 50 is a saner starting point. Messages past the window are gone entirely.
  • memoryPostgresChat / memoryRedisChat — only when memory must be read outside the agent (your own UI, analytics, cross-system). Not needed just to survive restarts; BufferWindow already does that.

Plumb a stable key from the trigger to memory consistently. Chat triggers fill sessionId automatically; for other surfaces derive one (Slack thread_ts, a webhook conversation ID). Never hardcode sessionId: 'default' and never put sessionId behind $fromAI (the model will fabricate a UUID). → references/MEMORY.md


Binary and the agent boundary

This is the seam that trips people up:

  • The model CAN see uploaded images (vision) via options.passthroughBinaryImages: true on the agent.
  • Tools CANNOT receive binary. $fromAI() is JSON-only — no base64, no bytes, even through non-AI bindings.
  • The agent's output is text-shaped (or structured-text with a parser). When a model returns image/audio/video bytes, the Agent doesn't surface them at all — there's nothing to recover downstream.

Workaround: pre-stage uploads to storage before the agent runs, inject the storage keys into the system prompt, and let tools accept the key as a string parameter and re-fetch internally. For one-shot media generation, skip the agent and call the provider's native single-call node directly.

The binary mechanics (which storage, how to stage, how to re-fetch) are owned by n8n-binary-and-data — see its agent-tool binary reference. This skill only marks the boundary; don't re-derive the mechanics here.


Human review (gate destructive tools)

When a tool's effect needs human sign-off before execution (sends, payments, refunds, account changes), wrap it with a review tool node — slackHitlTool, discordHitlTool, telegramHitlTool, gmailHitlTool, etc. (n8n names these "Hitl" / human-in-the-loop). The review node sits between the wrapped tool and the agent on the ai_tool connection: wrapped tool → review node → Agent.

Whether sign-off is needed is a product/policy call — surface the question to the user, recommend based on blast radius, and let them decide.

The critical rule: show the actual parameters the wrapped tool will receive. Use the literal {{ $tool.parameters.<name> }} in the approval message, never a $fromAI() paraphrase — otherwise the human approves text the model made up, not the call about to fire. → references/HUMAN_REVIEW.md


Show full SKILL.md (1,198 more words)Show less

Chat agents (Slack, Discord, Teams, Telegram)

The one non-negotiable, regardless of complexity: any chat-triggered workflow that posts a reply MUST filter out the bot's own user ID, or its own replies re-trigger it in an infinite loop that burns runs and tokens. Prefer trigger-level filtering when available (Slack Trigger's options.userIds is an exclusion list — put the bot ID there); otherwise filter $json.user !== '<BOT_USER_ID>' in the first node after the trigger.

Beyond the filter, a simple bot (trigger → agent → reply) lives fine in one workflow. Split into shell + core + sub-agents only once you need loading UX, sub-agents, multi-surface reuse, or robust error handling:

  • Shell — trigger, anti-loop filter, event-type Switch, loading/error UX, renders the reply. No LLM.
  • Core — stateless agent, chatInput + threadId inputs, memory keyed on threadId, tools and sub-agents.
  • Sub-agents — one narrow domain each, called via .toolWorkflow, stateless (full context in chatInput).

→ references/CHAT_AGENT_PATTERNS.md for per-surface semantics, threading-as-session, and the full topology.


RAG (retrieval augmented generation)

n8n ships the LangChain RAG primitives (document loaders, splitters, embeddings, vector stores, retrievers). Two opinions worth stating up front:

  1. Rule out cheaper lookups first. Exact lookups → a database or Data Table query, not RAG. Freshness → a live search tool. A small/structured doc set → give the agent list/fetch tools. Reach for a vector store only when there are too many docs to list and queries are semantic.
  2. Wire the vector store as a retrieval tool (mode: 'retrieve-as-tool', ai_tool) so the agent decides when retrieval is relevant and can phrase the query itself. Embed query and documents with the same model.

→ references/RAG.md (intentionally thin — defaults depend on data shape and scale).


Reference files

FileRead when
references/TOOLS.mdAdding tools, choosing among the four types, writing names/descriptions, $fromAI anatomy
references/SUBWORKFLOW_AS_TOOL.mdWiring a sub-workflow as a tool via .toolWorkflow, mapping agent-filled vs plumbed params
references/SYSTEM_PROMPT.mdWriting/refactoring a system prompt, the system-prompt-vs-tool-description split
references/STRUCTURED_OUTPUT.mdForcing JSON output, configuring autoFix, the fixer model, parse-failure fixes
references/MEMORY.mdChoosing a memory type, persistence, sessionId handling
references/HUMAN_REVIEW.mdAdding human approval, approval-message content, multi-channel approver
references/CHAT_AGENT_PATTERNS.mdBuilding a Slack/Discord/Teams/Telegram bot, shell + core + sub-agents topology
references/RAG.mdRetrieval-augmented agents (thin by design)
references/EXAMPLES.mdConcrete node-object snippets: stateless agent core, Slack router shell, domain sub-agent

Anti-patterns

Anti-patternWhat goes wrongFix
Generic tool names (tool1, doStuff, runQuery)Model can't tell which tool to pick — skips them or hallucinates paramsVerb-first specific names: Search customer database, Generate image with Veo
Empty or one-line tool descriptionsModel has no idea when to invoke; bad selection, no errorWrite a real description: what it does, when to use, what each param means
Cramming per-tool instructions into the system promptBloated prompt, no reuse, per-tool guidance buriedMove tool-specific instructions into tool descriptions
Agent + Switch to route on natural languageTwo nodes + prompt boilerplate where Text Classifier is one nodeUse Text Classifier — each category gets its own output handle (name and description)
Wrapping image/audio/video generation in an AgentBinary doesn't flow through tools or out of the agent outputUse the provider's native single-call node directly
outputParserStructured without autoFixOne malformed response halts the workflowautoFix: true + a coding-capable fixer model
Passing binary directly to a toolDoesn't work — binary can't cross the tool boundaryPre-stage to storage, pass keys; see n8n-binary-and-data
Hardcoded sessionId / no sessionId / sessionId behind $fromAIConversations cross, or the model fabricates a UUIDPlumb a stable key from the trigger to memory and tools
Two near-identical toolsSelection is non-deterministic, model gets confusedOne tool with internal branching driven by a parameter
Chat bot with no bot-user filterIts own replies re-trigger it → infinite loopExclude the bot user ID at the trigger or first node
maxIterations left at the low default on a multi-tool agent"Max iterations reached" / empty outputRaise options.maxIterations
Filling the human-review message via $fromAI()Approver signs off on a paraphrase, not the real callUse literal {{ $tool.parameters.<name> }}

What's NOT available via the community MCP

Want to doReality
Run / chat-test the agent end-to-end with live tokensn8n_test_workflow runs the workflow, but a true multi-turn chat session is a UI activity (canvas chat tester).
Set credentials' actual secret valuesn8n_manage_credentials creates/updates credential records, but the agent provider keys themselves are entered/verified in the UI.
Assign a workflow's Error WorkflowUI only — see n8n-error-handling. Build the catch-all, then hand the user the UI step.
Pin the exact model availability per instanceModel lists shift between versions — search_nodes/get_node reflect what's installed. Verify on the target instance.

What the MCP can do: search and inspect every LangChain node (search_nodes, get_node), validate node config and the whole graph (validate_node, validate_workflow), build and patch the agent and its sub-nodes (n8n_update_partial_workflow with addConnection on ai_* outputs), test (n8n_test_workflow), and pull the saved JSON to verify wiring (n8n_get_workflow). The deep AI-agent guide also lives in tools_documentation({topic: "ai_agents_guide", depth: "full"}).


Integration with other skills

  • n8n-workflow-patterns — the high-level "agent in a workflow" shape. This skill is the deep dive; start there for architecture.
  • n8n-mcp-tools-expert — node-type formats (short form for get_node, long form in JSON) and tool-selection guidance. Consult before any MCP call.
  • n8n-node-configuration — displayOptions-driven fields on the agent and sub-nodes; Slack/Block Kit message shapes (NODE_FAMILY_GOTCHAS.md, Slack section).
  • n8n-expression-syntax — {{ }}, $json.output, $now, and $fromAI/$tool.parameters all rely on correct expression syntax.
  • n8n-code-tool — the Custom Code Tool's runtime contract (string in/out, no $fromAI). Read it before writing a .toolCode.
  • n8n-subworkflows — the sub-workflow primitive that .toolWorkflow builds on (Execute Workflow Trigger inputs/outputs, naming, search-before-build).
  • n8n-binary-and-data — owns the agent-tool binary boundary mechanics (staging uploads, returning generated files).
  • n8n-validation-expert — interpreting validate_workflow results, including AI-connection issues (a tool wired into main instead of ai_tool flags as disconnected).
  • n8n-error-handling — onError: 'continueErrorOutput' on tool sub-workflows and the agent-core call; error UX on chat shells.
  • n8n-code-javascript / n8n-code-python — for Code-node logic inside a tool sub-workflow (different sandbox from the Code Tool).

Quick reference checklist

Before shipping an agent:

  • Right node: Agent for tools/memory/multi-turn; Text Classifier for routing; Information Extractor for fields; native node for media
  • Model wired via ai_languageModel
  • Every tool has a verb-first specific name AND a real description
  • $fromAI() descriptions are specific (format, range, example); identity/limits/sessionId plumbed deterministically, not via $fromAI
  • Per-tool guidance lives in tool descriptions, not the system prompt
  • $now in the system prompt (no hardcoded date)
  • maxIterations raised for multi-tool agents
  • Memory keyed on a stable sessionKey from the trigger (not 'default', not $fromAI); contextWindowLength raised from 5
  • Structured output: schemaType: 'manual' + autoFix: true + a coding-capable fixer model
  • Destructive tools wrapped in human review; approval message uses $tool.parameters, not $fromAI
  • Chat bots filter the bot's own user ID (trigger-level or first node)
  • Binary: model vision via passthroughBinaryImages; tools get storage keys, never bytes
  • Validated with validate_workflow and verified with n8n_get_workflow (sub-nodes on ai_*, not main)

Remember: an agent is only as good as its tool names, descriptions, and system-prompt discipline. The model can't see your wiring — it sees a system prompt and a list of named, described tools. Design those like an API and most "the agent won't behave" problems disappear.

Limitations

  • Node types, parameters, model availability, and defaults vary by n8n version; verify them against the target instance.
  • This guidance cannot set provider secret values or prove a live multi-turn agent works without an authorized execution.
  • Validation does not prove tool selection quality, correct wiring, idempotency, or safe side effects; inspect and test those separately.

© sickn33, 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 9 other files (references) in skills/n8n-agents of sickn33/agentic-awesome-skills.

  • SKILL.md
  • references/CHAT_AGENT_PATTERNS.md
  • references/EXAMPLES.md
  • references/HUMAN_REVIEW.md
  • references/MEMORY.md
  • references/RAG.md
  • references/STRUCTURED_OUTPUT.md
  • references/SUBWORKFLOW_AS_TOOL.md
  • references/SYSTEM_PROMPT.md
  • references/TOOLS.md

Open the folder on GitHubat commit b84d35a

Used in 1 other repository

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

N8n Agents 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 Agents compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
N8n Agents this skillsickn33/agentic-awesome-skills47k1 repos~6kAutomated safety check: PassMIT
n8n AI Agent Designczlonkowski/n8n-skills6.4k—~6.8kAutomated safety check: PassMIT
Lindy Migration Deep Divejeremylongshore/tons-of-skills-marketplace2.8k—~2kAutomated safety check: PassMIT
n8n Custom Code Tool Guideczlonkowski/n8n-skills6.4k—~4kAutomated safety check: PassMIT
Apify Integration Developmentapify/agent-skills2.4k—~3.4kAutomated safety check: PassNone
N8n Docs Assistantn8n-io/n8n207k—~550Automated safety check: PassCustom licence

Similar skills

  • n8n AI Agent Design

    czlonkowski/n8n-skills

    Guide to designing n8n AI agents: choosing between Agent, chain, classifier and extractor nodes, wiring model, memory, tools and parser, plus RAG and human review.

    6.4k GitHub stars~6.8k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Lindy Migration Deep Dive

    jeremylongshore/tons-of-skills-marketplace

    Advanced migration strategies for moving to Lindy AI from other platforms.

    2.8k GitHub stars~2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • n8n Custom Code Tool Guide

    czlonkowski/n8n-skills

    Explains the n8n Custom Code Tool's actual runtime contract so an AI-agent-callable tool doesn't get written like a regular workflow Code node.

    6.4k GitHub stars~4k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • 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.4k tokensUpdated 2 days ago
    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

More from sickn33/agentic-awesome-skills

All 1,497 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Works with

Questions about N8n Agents

What does N8n Agents do?

Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows. N8n Agents is an agent skill from sickn33/agentic-awesome-skills. Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows.

When should I use N8n Agents?

N8n Agents fits situations like: tasks that involve Workflow automation; tasks that involve Structured output and tool calling.

How do I install N8n Agents in Claude Code?

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

How do I install N8n Agents in Codex?

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

Can I use N8n Agents 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 sickn33/agentic-awesome-skills --skill n8n-agents -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-agents, .gemini/skills/n8n-agents, .github/skills/n8n-agents and .opencode/skills/n8n-agents in your project.

What does N8n Agents need to run?

SKILL.md names no scripts, command-line tools or credentials: N8n Agents is instructions for the agent only.

Does N8n Agents access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is N8n Agents safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does N8n Agents use?

N8n Agents is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does N8n Agents use?

About 6k tokens (SKILL.md is roughly 24k 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 23k tokens, read only when the agent opens those files.

What are the alternatives to N8n Agents?

Skills that share tags, products or a category with N8n Agents: n8n AI Agent Design (czlonkowski/n8n-skills, 6.4k stars), Lindy Migration Deep Dive (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), n8n Custom Code Tool Guide (czlonkowski/n8n-skills, 6.4k stars) and Apify Integration Development (apify/agent-skills, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains N8n Agents?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,405 GitHub stars. The repository holds 1,497 skills in this directory. The repository was last updated on October 9, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.