agentleFS
tmolavitmolavi/n8n-agent-skills/skills/n8n-subworkflows/SKILL.md

n8n-subworkflows

Skill1 starsChanged 3 months agoMITView on GitHub

Use when extracting reusable n8n logic, multi-step builds, sub-workflow triggers, tagging for discovery, passthrough vs Define Below inputs, or exposing workflows as agent tools.

6 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use n8n-binary-and-data, n8n-code-tool and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • czlonkowskiSkill

    n8n-binary-and-data

    Handle files and binary data in n8n correctly. Use when working with files, images, PDFs, attachments, uploads or downloads, base64, vision/multimodal input, or when an AI agent needs a file as tool input or output — and whenever the user mentions $binary, binaryPropertyName, "read the PDF", "attach the file", "send the image", Merge losing binary, or a CDN for chat images. Covers the $binary vs $json split, reading/writing binary, keeping binary alive across transforms with Merge, the agent-tool binary boundary, and the CDN/URL requirement for chat surfaces.

    Also in 4 projects that use this

  • czlonkowskiSkill

    n8n-code-tool

    Write JavaScript or Python for the n8n Custom Code Tool (@n8n/n8n-nodes-langchain.toolCode) — the AI-agent-callable tool, NOT the workflow Code node. Use when building a Code Tool attached to an AI Agent, writing code that an LLM will invoke, parsing the `query` input, returning a string result, defining an input schema for structured arguments (specifyInputSchema, jsonSchemaExample, DynamicStructuredTool), or troubleshooting errors like \"Wrong output type returned\", \"No execution data available\", \"The response property should be a string, but it is an object\", \"Cannot assign to read only property 'name'\", or an AI agent that refuses to call the tool. Covers the critical differences between Code node and Code Tool: return format (string vs `[{json:{...}}]`), unavailability of `$fromAI`/`$input`/`$helpers` in the Code Tool sandbox, naming rules for AI invocation, and when to use `toolWorkflow`/HTTP Request Tool instead.

    Also in 3 projects that use this

  • tygwanSkill

    n8n-code-javascript

    Expert guidance for writing JavaScript in n8n Code nodes. Covers execution modes, data access patterns, return formats, and common pitfalls. Essential for n8n workflow automation with custom code.

    Also in 3 projects that use this

  • tygwanSkill

    n8n-mcp-tools-expert

    Master guide for using n8n-mcp MCP server tools to build workflows. Covers 40+ tools, node type formats, tool selection priority, validation workflows, and iterative building strategies.

    Also in 3 projects that use this

  • +3 more from czlonkowski
  • +4 more from tygwan

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Search tags: subworkflow, domain tags.

    line 24
  2. Distinctive:

    Do not fight both shapes in one trigger — split outer workflows sharing an inner core if needed.

    line 32

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

n8n Sub-workflows

Author: Taghi Molavi

When to extract

  • Reuse across ≥2 parents
  • Isolation/testing of a unit
  • Agent tool boundary
  • Heavy section that needs its own error policy

Not for mere canvas neatness — use node groups instead.

Discover before build

Search tags: subworkflow, domain tags. Prefer extend over duplicate.

Trigger input modes

ModeUse
Define BelowClear schema; required for agent tools
PassthroughBinary-heavy or truly schemaless; avoid for tools

Do not fight both shapes in one trigger — split outer workflows sharing an inner core if needed.

Stateless preference

Sub-workflows should avoid hidden global state; pass context in, return result out. Persist via Data Tables explicitly when needed.

Tags

subworkflow, optional tool, domain, owner team.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.