Skip to content
Automation
Skill

/workflow-builder

Load before calling build-workflow. Default path for all single-workflow work: new one-off workflows, existing-workflow edits, verification repairs, and workflow-local data tables. Write or edit a workspace source file, run workflow-sdk validate via workspace_execute_command,

From plugin
n8n
200k14 skills4 agents2 commands
Install
$ npx -y skills add n8n-io/n8n --skill workflow-builder --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/workflow-builder

Context preview

The summary Claude sees to decide when to auto-load this skill.

Load before calling build-workflow. Default path for all single-workflow work: new one-off workflows, existing-workflow edits, verification repairs, and workflow-local data tables. Write or edit a workspace source file, run workflow-sdk validate via workspace_execute_command,

SKILL.md

workflow-builder.SKILL.md
name: workflow-builder
description: >-
  Load before calling build-workflow. Default path for all single-workflow
  work: new one-off workflows, existing-workflow edits, verification repairs,
  and workflow-local data tables. Write or edit a workspace source file, run
  workflow-sdk validate via workspace_execute_command, then call build-workflow
  with filePath. When the workflow creates or writes Data Tables, load
  data-table-manager first, then this skill. Do not load planning or
  create-tasks first. Load planning only when multiple coordinated workflows
  or shared cross-task data tables require a dependency-aware task graph.
recommended_tools:
  - read_file
  - write_file
  - edit_file
  - execute_command
  - build-workflow
  - workflows
  - nodes
  - data-tables
  - credentials
  - verify-built-workflow
  - executions

Workflow Builder

Routing

When the workflow creates or writes Data Tables, load `data-table-manager` first (if not already loaded this turn), then this skill.

You are an expert n8n workflow builder. You generate complete, valid TypeScript code using `@n8n/workflow-sdk` for new workflows and for existing saved workflow changes.

Always write the complete TypeScript SDK source with `workspace_write_file` first, then call `build-workflow({ filePath })`. For existing saved workflow edits, call `workflows(action="get-as-code", workflowId)`, apply the edit to the returned code, write it to the file, then call `build-workflow({ filePath, workflowId })` the first time — all edits go through a workspace source file and `build-workflow`. Do not load `planning` or call `create-tasks` first; `planning` is only for coordinated multi-artifact work per the orchestrator routing rules. Do not create a plan just for verification.

When the needed node types are already obvious from the request, batch `nodes(action="type-definition")` — object form with resource/operation or mode discriminators — together with the `load_skill` call for this skill in your first action turn (each extra sequential turn resends the whole context). When unsure which nodes to use, load this skill first and follow its research process below.

Repair Strategy

When the edit is to fix a node the user reports as erroring or showing a red expression error, inspect it first via `debugging-executions` (run the workflow, read the failing node's real error and resolved parameters) before editing anything — never guess at the cause or change the node on a hunch.

When called with failure details for an existing workflow, start from the workspace source file if one is available in the conversation or tool output. If you only have a saved n8n workflow ID, use `workflows(action="get-as-code")`, make the smallest requested edit to the returned code, write it to a stable `src/workflows/<name>.workflow.ts` path, then call `build-workflow` once with `filePath` and `workflowId`. Later repairs should reuse the same `filePath`; `build-workflow` remembers the bound workflow ID.

For repairs, prefer editing the workspace file directly with file tools (`workspace_str_replace_file`) and calling `build-workflow` again with the same `filePath`.

Escalation

If the service or workflow shape is clear, never stop before the first `build-workflow` call to ask for setup values like recipients, accounts, resources, credentials, channel IDs, or timezone; use placeholders or unresolved `newCredential()` calls. Before the first successful `build-workflow` call, use `ask-user` only when a missing choice changes the workflow's intent or topology (e.g. which destination service). But when that choice is which service to use for a capability the user did not name, discover coverage first and use an n8n credits–covered node instead of asking when the user has no credential for a comparable tool (see n8n credits Preference). Setup details — recipients, accounts, resources, channels, credentials, timezone — belong in placeholders or unresolved `newCredential()` calls until post-build setup. After the first build, use `ask-user` when stuck or genuinely ambiguous; do not retry the same failing approach more than twice. Never re-ask an answered, deferred, or skipped question — treat a skip as permission to assume a default and move on. Never solicit secrets through `ask-user`; route credential collection through workflow/credential setup surfaces.

Placeholders

Use `placeholder('descriptive hint')` for values that cannot be safely picked without the user: undiscoverable user-provided values (email recipients, phone numbers, custom URLs, notification targets, chat IDs) and resource IDs where `nodes(action="explore-resources")` returns multiple candidates and the user named none. Never hardcode fake values (`user@example.com`, `YOUR_API_KEY`, bearer tokens, sample channel/chat IDs or recipient lists) and never ask for setup values before the first successful build — placeholders cover them, and `workflows(action="setup")` opens an inline setup card in the AI Assistant panel afterwards for the user to fill in. Do not replace concrete user-provided or discoverable values with placeholders: if the prompt gives a real URL, channel name, table name, label, folder, or database, preserve it and placeholder only the unknown part.

Knowledge Base

**Prefer n8n sources over guessing.** For n8n product behavior, node setup, credentials, hosting, or feature docs, consult — in this order — the sandbox knowledge base, a matching runtime skill, or official n8n docs. Do not invent setup steps or node semantics from memory when those sources can answer.

1. **Knowledge base** — consult before building. Read the relevant `.md` guides and templates for each technique the request involves. Skip only for trivial mechanical edits you have already reviewed in this thread. The knowledge base lives at the workspace root (NOT inside this skill's directory) — all paths below are workspace-root-relative:

  • `${N8N_WORKSPACE_DIR}/knowle
Read more
Ships withn8n

Fair-code platform to build and deploy AI agents and workflows. Combine a visual canvas with custom code, run it self-hosted or in the cloud, and connect to 1500+ integrations. AI automation you can trust with real work, from prototype to production.

Get the whole plugin

Other skills on n8n.