[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-n8n-intent-recognition":3,"mdc-y7znbv-key":51,"related-repo-n8n-intent-recognition":1198,"related-org-n8n-intent-recognition":1292},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":46,"sourceUrl":49,"mdContent":50},"intent-recognition","classify automation requests by control flow","Classifies automation requests using two decisions: anchor (which primitive owns the top-level control flow — workflow-anchored, agent-anchored, needs-clarification, or out-of-scope) and embeds_other (whether the other primitive appears embedded inside — an agent step inside a workflow, or a workflow invoked as an agent tool). Must be used before deciding the intent of any automation request, including compound requests with multiple independent automations, mid-build extensions to an existing workflow or agent, one-off questions or reports that need external systems you cannot query directly, and requests that need clarification before an anchor can be chosen, before choosing workflow-builder, planning, or an agent-oriented design.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},"n8n","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fn8n.png","n8n-io",[12,14,17,20],{"name":8,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Automation","automation",{"name":18,"slug":19,"type":13},"Agents","agents",{"name":21,"slug":22,"type":13},"Workflow Automation","workflow-automation",198156,"https:\u002F\u002Fgithub.com\u002Fn8n-io\u002Fn8n","2026-07-30T05:30:06.772347",null,59655,[29,30,16,31,32,33,34,35,36,37,38,39,40,41,8,42,43,44,45,22],"ai","apis","cli","data-flow","development","integration-framework","integrations","ipaas","low-code","low-code-platform","mcp","mcp-client","mcp-server","no-code","self-hosted","typescript","workflow",{"repoUrl":24,"stars":23,"forks":27,"topics":47,"description":48},[29,30,16,31,32,33,34,35,36,37,38,39,40,41,8,42,43,44,45,22],"Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.","https:\u002F\u002Fgithub.com\u002Fn8n-io\u002Fn8n\u002Ftree\u002FHEAD\u002Fpackages\u002F@n8n\u002Finstance-ai\u002Fskills\u002Fintent-recognition","---\nname: intent-recognition\ndescription: >-\n  Classifies automation requests using two decisions: anchor (which primitive\n  owns the top-level control flow — workflow-anchored, agent-anchored,\n  needs-clarification, or out-of-scope) and embeds_other (whether the other\n  primitive appears embedded inside — an agent step inside a workflow, or a\n  workflow invoked as an agent tool). Must be used before deciding the intent\n  of any automation request, including compound requests with multiple\n  independent automations, mid-build extensions to an existing workflow or\n  agent, one-off questions or reports that need external systems you cannot\n  query directly, and requests that need clarification before an anchor can\n  be chosen, before choosing workflow-builder, planning, or an agent-oriented\n  design.\n---\n\n# Intent recognition\n\n## Purpose\n\nUse this skill to classify an automation request before designing or building\nit. This skill must be used before deciding whether a request is\nworkflow-anchored, agent-anchored, needs clarification, or out of scope, and\nbefore deciding whether the other primitive is embedded inside it. The\ndeciding question is not a single \"workflow or agent\" label — it is two\nquestions: who owns the top-level control flow, and does the other primitive\nshow up inside that flow.\n\nIf the user asked to build, route on the result: workflow-builder for\nworkflow-anchored (a bounded LLM step is an AI node in the graph; an embedded\nagent is an AI Agent step inside it), an agent-oriented design for\nagent-anchored (a tool-use loop), `ask-user` for needs-clarification, or answer\ndirectly for out-of-scope.\n\n## Inputs\n\n- The user's request or scenario prompt.\n- Whether the user is mid-build on an existing workflow or agent in this\n  conversation — incremental requests default to extending that primitive.\n- Any explicit constraints about determinism, auditability, latency, cost,\n  compliance, reusability, or allowed tools.\n- If the request is underspecified on an anchor-deciding axis, ask for the\n  missing detail instead of guessing.\n\n## Decisions\n\nTwo orthogonal decisions per request, or per part for compound requests:\n\n**1. Anchor** — which primitive owns the top-level control flow:\n\n- **workflow-anchored**: the outer shell is a workflow graph. May include LLM\n  steps as bounded transformers (classify, extract, summarize, score, a\n  single decision feeding fixed branches).\n- **agent-anchored**: an agent owns the flow; the LLM decides the next step\n  at runtime. n8n Agents are not chat-only: besides chat sessions, they run\n  recurring objectives on a cron schedule (**tasks**) and keep memory across\n  sessions and runs — so recurring or scheduled duties do not disqualify this\n  anchor.\n- **needs-clarification**: the request is under-specified on an\n  anchor-deciding axis.\n- **out-of-scope**: not a build intent at all. Covers meta or product\n  questions (e.g. asking what the assistant is capable of building) and\n  one-off content tasks with no trigger, no persistence, and no reuse intent\n  (summarize, translate, or draft something once) — answer or do these\n  directly instead of building an automation. This bucket only applies when\n  you can actually do the task directly: a one-off question or report that\n  needs external systems you have no ad-hoc access to (a private issue\n  tracker, wiki, or CRM) is not out-of-scope — classify it, and when\n  answering requires judgment-driven navigation of those systems it is\n  agent-anchored (see Signals). Requests to operate on existing resources\n  (debugging a failed execution, listing or managing workflows or agents,\n  querying data) are not classified by this skill at all — route them\n  through their normal paths.\n\n**2. Embeds other** — whether the other primitive appears inside the anchor:\n\n- workflow-anchored + `true`: an agent embedded as a workflow step (e.g. a\n  scheduled pipeline whose middle step is open-ended investigation).\n- agent-anchored + `true`: workflows invoked as tools of the agent; see Adding\n  tools to an agent to distinguish them from direct tools.\n- `n\u002Fa` for needs-clarification and out-of-scope.\n\n**Migration from the old taxonomy**: old **hybrid** → workflow-anchored,\n`embeds_other: false`. Old **single AI task** → out-of-scope when it is a\none-off request (do the task directly); workflow-anchored with one LLM step\nonly when the user wants a persistent, triggerable automation. Old\n**ambiguous** → needs-clarification. Old **workflow** and **agent** map\ndirectly onto the matching anchor value.\n\n## Adding tools to an agent\n\nAfter choosing an agent-anchored design, decide whether each capability should\nbe a direct agent tool or a workflow tool:\n\n- **Direct agent tools are the default.** Forward requests to add capabilities\n  to `build-agent` near-verbatim so the delegated builder can choose MCP,\n  node-backed, provider, or custom tools. One node-backed capability or\n  multiple independent node tools stay on the agent build path with\n  `embeds_other: false`.\n- Use a **workflow tool** only when one agent tool call must run an ordered\n  multi-node procedure, or when the user explicitly needs that workflow\n  reusable, manually callable, or usable outside the agent. Build the workflow\n  first, pass it to `build-agent` via `workflowContext`, and set\n  `embeds_other: true`.\n- Create required **data tables** via `data-table-manager` → `data-tables`\n  before `build-agent` when the agent will store or query tabular data — the\n  builder cannot create tables.\n- Before the first `build-agent` call, create every prerequisite the builder\n  cannot: required data tables and any workflow tools the agent will invoke.\n  Pass built workflows in `workflowContext` and list every prerequisite\n  name\u002Fschema in `message`. Then let the builder gather remaining agent-specific\n  requirements (model, credentials, integrations).\n- If a `builderReply` lists missing workflows or tables, create them and call\n  `build-agent` again — never ask the user to create them manually.\n\nCount the nodes required inside one tool invocation, not the total number of\ntools on the agent. For example, looking up and inserting Data Table rows are\ntwo direct node tools; an atomic lookup-transform-write procedure is one\nworkflow tool.\n\n## Decision Steps\n\n0. If the user is mid-build on an existing workflow or agent, apply context\n   continuity (see Signals) before anything else — an incremental request\n   normally extends the current primitive.\n1. **Explicit artifact requests.** When the user names the deliverable —\n   \"build me an agent\u002Fassistant that…\", \"create a workflow that…\" — the\n   named primitive is a routing instruction, not surface vocabulary.\n   Classify by it unless the described behavior is unambiguously the other\n   primitive's shape (e.g. \"an agent\" whose behavior is a fixed\n   schedule-fetch-notify pipeline). Even then, never switch silently:\n   propose the reclassified design and say you are deviating from the named\n   primitive, grounding the choice in the task's shape. The false-friends\n   rule applies to task descriptions, not to an explicitly requested\n   artifact.\n2. If the request is not a build intent — a meta or product question, or a\n   one-off content task with no trigger or reuse — classify **out-of-scope**\n   and answer or do it directly.\n3. Split the request into parts only if it contains multiple independent\n   automations with separate lifecycles (unrelated triggers, audiences, or\n   cadences). Markers like numbering or \"and separately\" are a giveaway but\n   are not required — a single plain sentence can contain two automations.\n   Do not split a single automation that merely enumerates many tools or\n   steps. Run steps 4-9 on each part.\n4. Test the agent signals. If any one holds, classify **agent-anchored**.\n5. Otherwise, test the workflow conditions. If all of them hold, classify\n   **workflow-anchored**.\n6. Decide `embeds_other` in both directions: does an agent step appear inside\n   this workflow, or does this agent invoke workflows as tools?\n7. **Degenerate-shell check.** If a workflow-anchored design reduces to a\n   trigger plus a single open-ended agent step that does all the work — no\n   deterministic steps earning the shell — the anchor is wrong: reclassify\n   **agent-anchored** and build an n8n Agent (an on-demand duty becomes the\n   agent's chat use; a scheduled duty becomes a task on the agent). Re-run\n   this check while building: when fixed nodes prove unusable and the work\n   migrates into one embedded agent step, stop and re-anchor instead of\n   finishing the degenerate workflow.\n8. If the request is under-specified on an anchor-deciding axis (rule-based\n   vs judgment-based, scope\u002Fautonomy, interaction mode), classify\n   **needs-clarification** and name the missing axis instead of guessing.\n9. If both anchors are genuinely defensible, apply the growth tiebreaker:\n   prefer whichever primitive scales with likely complexity growth — usually\n   agent-anchored when novel situations, longer horizons, or learning are\n   implied. The tiebreaker applies only to genuine ties: when a bounded\n   workflow reading fully satisfies the request, prefer it. If it is a real\n   toss-up, say so and name both readings instead of feigning certainty.\n   The workflow preference applies to task-shaped requests; it never\n   overrides an explicitly requested agent artifact (step 1).\n\n## Signals\n\n**Agent-anchored** (any one is enough):\n\n- Reasoning dominates the flow: investigate, decide, act, iterate.\n- On-demand question or report that requires judgment-driven navigation of\n  external systems (which items matter, how they map to goals) and cannot be\n  answered directly with your own tools — the user is in effect already\n  chatting with the automation they need. The artifact is an agent with those\n  tools that can be asked again anytime, not a manually triggered workflow.\n- Multi-session or long-running: coordination across days, tracked open\n  threads, daily check-ins.\n- Proactive or recurring on its own: wakes on a heartbeat or a scheduled\n  task, checks state, and decides what to do about it each run. The judgment\n  per run is the signal, not the cadence — a schedule alone is anchor-neutral\n  (see Scheduled judgment work).\n- Self-improving or skill accretion is first-class: learns from feedback\n  over time, gets better at the task.\n- Chat or session-based interaction. A workflow with a Chat Trigger is not\n  a substitute — this signal holds unless the chat merely triggers a fixed\n  pipeline (see Gotchas).\n- Cross-session memory.\n\n**Workflow-anchored** (all must hold):\n\n- Structure is a graph of enumerable steps.\n- Any LLM use is a bounded transformer: fixed-label classify, extract,\n  summarize, or a single decision.\n- Trigger and actions are deterministic. A cron schedule satisfies this but\n  never decides the anchor by itself — agents run scheduled tasks too; what\n  must be deterministic is the body of each run.\n- Reproducibility or auditability is served by the same graph running every\n  time.\n\n**Scheduled judgment work** (recurring cadence + open-ended body): both\nprimitives can own it — a workflow shell with an embedded agent step, or an\nagent with a scheduled task. Default to the workflow shell for a standalone,\nsingle-duty job: a deterministic trigger and delivery around one open-ended\nstep keeps auditability and avoids unnecessary agency. Choose an agent with a\ntask instead when the duty belongs to an agent the user also interacts with\nor that has other duties, when it needs memory across runs (tracking open\nthreads, \"what did I flag last time\"), or when the user explicitly asked for\nan agent. A recurring duty added to an agent mid-build is always a task on\nthat agent, never a spawned workflow.\n\n**Embeds-other signals**:\n\n- Workflow with an embedded agent: a step in an otherwise fixed pipeline is\n  open-ended (\"figure out why\", \"investigate\", \"decide what to do about it\")\n  while the trigger and surrounding steps stay deterministic.\n- The embedding is often implicit — the request never says \"agent\". Ask of\n  each step: could a fixed-instruction transform do it (enumerable labels,\n  one bounded rewrite), or does doing it well require gathering and weighing\n  context that differs per item, then producing a judgment? A nightly job\n  that drafts a tailored renewal pitch for each account from its usage\n  history embeds an agent; a nightly job that condenses each ticket into a\n  two-sentence summary does not.\n- For an agent with workflow tools, apply Adding tools to an agent.\n\n**Context continuity** (step 0): inside a workflow build, a request to insert\na scoring step stays a bounded LLM step, not a new agent. Inside an agent\nbuild, a request to post an update on completion is a new tool on that\nagent, not a spawned workflow — and a recurring duty (\"also send me a Monday\nsummary\") is a scheduled task on that agent, not a new scheduled workflow.\nOnly cross into the other primitive when the\nincremental request itself carries its own anchor signal — and even then,\nprefer asking before switching paradigm if it isn't clearly load-bearing.\n\n**Clarify triggers**: rule-based vs judgment-based (what defines \"important\"\nor \"urgent\"?), scope\u002Fautonomy (act on its own vs draft for review),\ninteraction mode (one-shot vs chat). Do not clarify when the criterion could\ndefensibly go either way — that is a genuine tie, name both readings\ninstead.\n\n**False friends — not signals**:\n\n- Surface vocabulary: \"agent\", \"assistant\", \"bot\", \"workflow\", \"automate\"\n  in a *task description* carry no weight — classify the shape, not the\n  words. An explicit artifact request (\"build me an agent that…\") is not a\n  false friend; see Decision Step 1.\n- Step count and tool count: long linear pipelines and high tool counts are\n  not agentic. Seven deterministic steps with zero branches is still a\n  workflow.\n\n## Examples\n\n- \"Every day at 6pm, pull today's Shopify order count and post it to a\n  Discord channel.\" -> **workflow-anchored**, `embeds_other: false`: fixed\n  schedule, source, and destination.\n- \"When a new Jira issue is created, classify it as bug\u002Ffeature\u002Fquestion and\n  route it to the matching Discord channel.\" -> **workflow-anchored**,\n  `embeds_other: false`: bounded classification feeding fixed routing (would\n  have been **hybrid** under the old taxonomy).\n- \"Every night, gather the day's failed background jobs, dig into the logs\n  and recent deploys to work out why each one failed, and post a write-up to\n  a Notion page.\" -> **workflow-anchored**, `embeds_other: true`: schedule\n  and destination are fixed; \"work out why\" is open-ended investigation, best\n  run as an embedded agent step.\n- \"Give me a chat window where I can ask about our expense-reporting rules\n  and get answers pulled from the finance handbook.\" -> **agent-anchored**,\n  `embeds_other: false`: chat interaction, the LLM decides what to look up\n  each turn.\n- \"Build an ops agent that can check server health, restart services via our\n  runbook, and file a Jira ticket if it can't resolve things — the restart\n  and ticket-filing should also be triggerable manually elsewhere.\" ->\n  **agent-anchored**, `embeds_other: true`: explicitly reusable actions are\n  workflows the agent calls as tools.\n- \"Have an agent keep an eye on our AWS spend throughout the day and flag me\n  before we blow through budget, without me asking it to check.\" ->\n  **agent-anchored**, `embeds_other: false`: proactive, heartbeat-driven,\n  no fixed check schedule.\n- \"Build an agent that drafts replies to Notion comment threads and sharpens\n  its sense of our tone the more we correct it.\" -> **agent-anchored**,\n  `embeds_other: false`: skill accretion from feedback is first-class.\n- \"Put an agent in charge of coordinating our office relocation — track\n  vendors, follow up with each team lead, and send reminders through our\n  existing reminder workflow when a task stalls.\" -> **agent-anchored**,\n  `embeds_other: true`: long-running coordination invoking a workflow tool.\n- \"Configure an AI agent to send me a nightly digest of new GitHub stars.\"\n  -> **workflow-anchored**, `embeds_other: false`: fixed schedule and action\n  despite the word \"agent\" — a false friend. When the user instead\n  explicitly asks to *build an agent* around a fixed pipeline like this,\n  keep the workflow classification but say so rather than switching\n  silently (step 1).\n- \"Spin up a lightweight workflow that talks to shoppers on our storefront\n  and handles their product questions.\" -> **agent-anchored**: chat-based\n  Q&A means the LLM owns turn-by-turn control despite the word \"workflow\" —\n  a false friend in the other direction.\n- \"Build me an agent that answers customer questions from our docs.\" ->\n  **agent-anchored**, `embeds_other: false`: explicit agent artifact\n  request plus chat-shaped open-ended Q&A. The deliverable is an n8n Agent\n  — not a workflow with a Chat Trigger and an AI Agent node.\n- \"Give me a chat box where I paste a company name and it runs our\n  enrichment steps and replies with the result.\" -> **workflow-anchored**,\n  `embeds_other: false`: chat is merely the manual trigger for a fixed\n  graph — the one case where a Chat Trigger workflow is the right build.\n- \"Post every new Airtable record to a Discord channel, and separately set up\n  an agent that handles customer refund requests end-to-end.\" -> two parts,\n  joined only by topic, not data or trigger: \"Airtable-to-Discord posting\"\n  (**workflow-anchored**, `embeds_other: false`) and \"refund-handling agent\"\n  (**agent-anchored**, `embeds_other: true`).\n- \"Transcribe my sales calls and chase the deals that go quiet.\" -> two\n  parts despite the plain single sentence: transcription is a bounded\n  per-call pipeline (**workflow-anchored**, `embeds_other: false`), while\n  chasing stalled deals is an ongoing judgment-driven automation with its\n  own lifecycle (**agent-anchored**).\n- \"Set up a research helper capable of searching the web, querying our\n  internal wiki, pulling numbers from Google Analytics, and drafting a slide\n  deck that summarizes the findings.\" -> one part, **agent-anchored**,\n  `embeds_other: true`: many tools but one lifecycle — do not split on tool\n  count.\n- \"Tell me how the platform team is progressing against their cycle goals —\n  current status is in our issue tracker, the goals are on our internal\n  wiki.\" -> **agent-anchored**, `embeds_other: false`: an on-demand judgment\n  report over external systems you cannot query directly. The artifact is an\n  agent with tracker and wiki tools the user can ask again anytime — not a\n  manual-trigger workflow whose only real step is an embedded agent with\n  those same tools. If the user later wants it every Friday, that becomes a\n  scheduled task on the same agent, not a conversion to a workflow.\n- \"Tell me when something important happens with our shipments.\" ->\n  **needs-clarification**: \"important\" is undefined; ask whether concrete\n  rules exist or this needs judgment-based triage.\n\n## Gotchas\n\n- Do not label a request agent-anchored just because it is long, multi-step,\n  or mentions AI.\n- Do not label classify-then-route as agent-anchored unless the model\n  repeatedly decides the next action after observing prior results.\n- Do not force vague prompts into an anchor; ask when an anchor-deciding\n  axis is missing.\n- Never default `embeds_other` to `false` without checking both directions:\n  an agent step hiding inside a workflow, and a workflow acting as an\n  agent's tool.\n- Never split a compound request on tool or step enumeration alone — split\n  only on separate lifecycles.\n- Unnecessary agency adds latency, cost, and compounding error risk — do not\n  reach for an agent when a bounded workflow fully satisfies a task-shaped\n  request. This is not a license to override an explicit agent request.\n- Never satisfy an **agent-anchored** classification with a workflow\n  containing a Chat Trigger + AI Agent node. Agent-anchored requests\n  produce an n8n Agent artifact via the agent build path; the AI Agent\n  *node* exists only for `embeds_other: true` steps inside a genuinely\n  workflow-anchored pipeline. A Chat Trigger workflow is correct only when\n  chat is merely the manual trigger for a fixed graph.\n- Do not demote an explicitly requested agent to an embedded AI Agent step\n  inside a workflow — workflow-anchored with `embeds_other: true` is for\n  agent steps inside a pipeline the user described as a pipeline.\n- A workflow whose only real step is one embedded agent doing all the work\n  is an agent wearing a workflow costume — the mirror image of the Chat\n  Trigger gotcha above. Apply the degenerate-shell check (step 7) and\n  re-anchor instead of shipping trigger + AI Agent node.\n- Do not treat a cron schedule as a workflow signal by itself — agents run\n  scheduled tasks. Classify by the body of each run, and when a one-off\n  question can't be answered directly, do not fall back to \"build a workflow\n  or do it yourself\": an agent with the right tools is usually the missing\n  option.\n- Do not use an agent when progress cannot be verified: if the path cannot\n  be scripted and the result cannot be checked, the design is not ready.\n- Respect the current build context: an incremental request stays on the\n  active primitive unless it carries its own anchor signal.\n- Keep n8n framing clear: agents operate inside workflow guardrails; they do\n  not replace the workflow engine.\n\n## Output Format\n\nReturn a concise classification and reason:\n\n```text\nAnchor: workflow-anchored | agent-anchored | needs-clarification | out-of-scope\nEmbeds other: true | false | n\u002Fa\nReason: \u003Cone or two sentences citing the deciding signals>\nNext step: \u003Cbuild workflow \u002F build workflow with embedded agent step \u002F build n8n Agent artifact (agent build path; recurring duties as scheduled tasks on the agent) \u002F ask clarification \u002F answer directly>\n```\n\nFor build requests, do not expose this format unless the user asks for\nclassification. Instead, proceed according to the selected next step. When\nthe user asks for classification in a specific format, such as a JSON block,\nfollow that format and map the vocabulary accordingly (workflow-anchored,\nagent-anchored, needs-clarification, out-of-scope, and their equivalents).\nFor compound requests, output one classification block per part.\n",{"data":52,"body":53},{"name":4,"description":6},{"type":54,"children":55},"root",[56,64,71,77,91,97,122,128,133,144,194,204,243,295,301,306,449,454,460,561,567,577,615,625,648,658,668,686,696,706,715,736,742,1054,1060,1170,1176,1181,1193],{"type":57,"tag":58,"props":59,"children":60},"element","h1",{"id":4},[61],{"type":62,"value":63},"text","Intent recognition",{"type":57,"tag":65,"props":66,"children":68},"h2",{"id":67},"purpose",[69],{"type":62,"value":70},"Purpose",{"type":57,"tag":72,"props":73,"children":74},"p",{},[75],{"type":62,"value":76},"Use this skill to classify an automation request before designing or building\nit. This skill must be used before deciding whether a request is\nworkflow-anchored, agent-anchored, needs clarification, or out of scope, and\nbefore deciding whether the other primitive is embedded inside it. The\ndeciding question is not a single \"workflow or agent\" label — it is two\nquestions: who owns the top-level control flow, and does the other primitive\nshow up inside that flow.",{"type":57,"tag":72,"props":78,"children":79},{},[80,82,89],{"type":62,"value":81},"If the user asked to build, route on the result: workflow-builder for\nworkflow-anchored (a bounded LLM step is an AI node in the graph; an embedded\nagent is an AI Agent step inside it), an agent-oriented design for\nagent-anchored (a tool-use loop), ",{"type":57,"tag":83,"props":84,"children":86},"code",{"className":85},[],[87],{"type":62,"value":88},"ask-user",{"type":62,"value":90}," for needs-clarification, or answer\ndirectly for out-of-scope.",{"type":57,"tag":65,"props":92,"children":94},{"id":93},"inputs",[95],{"type":62,"value":96},"Inputs",{"type":57,"tag":98,"props":99,"children":100},"ul",{},[101,107,112,117],{"type":57,"tag":102,"props":103,"children":104},"li",{},[105],{"type":62,"value":106},"The user's request or scenario prompt.",{"type":57,"tag":102,"props":108,"children":109},{},[110],{"type":62,"value":111},"Whether the user is mid-build on an existing workflow or agent in this\nconversation — incremental requests default to extending that primitive.",{"type":57,"tag":102,"props":113,"children":114},{},[115],{"type":62,"value":116},"Any explicit constraints about determinism, auditability, latency, cost,\ncompliance, reusability, or allowed tools.",{"type":57,"tag":102,"props":118,"children":119},{},[120],{"type":62,"value":121},"If the request is underspecified on an anchor-deciding axis, ask for the\nmissing detail instead of guessing.",{"type":57,"tag":65,"props":123,"children":125},{"id":124},"decisions",[126],{"type":62,"value":127},"Decisions",{"type":57,"tag":72,"props":129,"children":130},{},[131],{"type":62,"value":132},"Two orthogonal decisions per request, or per part for compound requests:",{"type":57,"tag":72,"props":134,"children":135},{},[136,142],{"type":57,"tag":137,"props":138,"children":139},"strong",{},[140],{"type":62,"value":141},"1. Anchor",{"type":62,"value":143}," — which primitive owns the top-level control flow:",{"type":57,"tag":98,"props":145,"children":146},{},[147,157,174,184],{"type":57,"tag":102,"props":148,"children":149},{},[150,155],{"type":57,"tag":137,"props":151,"children":152},{},[153],{"type":62,"value":154},"workflow-anchored",{"type":62,"value":156},": the outer shell is a workflow graph. May include LLM\nsteps as bounded transformers (classify, extract, summarize, score, a\nsingle decision feeding fixed branches).",{"type":57,"tag":102,"props":158,"children":159},{},[160,165,167,172],{"type":57,"tag":137,"props":161,"children":162},{},[163],{"type":62,"value":164},"agent-anchored",{"type":62,"value":166},": an agent owns the flow; the LLM decides the next step\nat runtime. n8n Agents are not chat-only: besides chat sessions, they run\nrecurring objectives on a cron schedule (",{"type":57,"tag":137,"props":168,"children":169},{},[170],{"type":62,"value":171},"tasks",{"type":62,"value":173},") and keep memory across\nsessions and runs — so recurring or scheduled duties do not disqualify this\nanchor.",{"type":57,"tag":102,"props":175,"children":176},{},[177,182],{"type":57,"tag":137,"props":178,"children":179},{},[180],{"type":62,"value":181},"needs-clarification",{"type":62,"value":183},": the request is under-specified on an\nanchor-deciding axis.",{"type":57,"tag":102,"props":185,"children":186},{},[187,192],{"type":57,"tag":137,"props":188,"children":189},{},[190],{"type":62,"value":191},"out-of-scope",{"type":62,"value":193},": not a build intent at all. Covers meta or product\nquestions (e.g. asking what the assistant is capable of building) and\none-off content tasks with no trigger, no persistence, and no reuse intent\n(summarize, translate, or draft something once) — answer or do these\ndirectly instead of building an automation. This bucket only applies when\nyou can actually do the task directly: a one-off question or report that\nneeds external systems you have no ad-hoc access to (a private issue\ntracker, wiki, or CRM) is not out-of-scope — classify it, and when\nanswering requires judgment-driven navigation of those systems it is\nagent-anchored (see Signals). Requests to operate on existing resources\n(debugging a failed execution, listing or managing workflows or agents,\nquerying data) are not classified by this skill at all — route them\nthrough their normal paths.",{"type":57,"tag":72,"props":195,"children":196},{},[197,202],{"type":57,"tag":137,"props":198,"children":199},{},[200],{"type":62,"value":201},"2. Embeds other",{"type":62,"value":203}," — whether the other primitive appears inside the anchor:",{"type":57,"tag":98,"props":205,"children":206},{},[207,220,232],{"type":57,"tag":102,"props":208,"children":209},{},[210,212,218],{"type":62,"value":211},"workflow-anchored + ",{"type":57,"tag":83,"props":213,"children":215},{"className":214},[],[216],{"type":62,"value":217},"true",{"type":62,"value":219},": an agent embedded as a workflow step (e.g. a\nscheduled pipeline whose middle step is open-ended investigation).",{"type":57,"tag":102,"props":221,"children":222},{},[223,225,230],{"type":62,"value":224},"agent-anchored + ",{"type":57,"tag":83,"props":226,"children":228},{"className":227},[],[229],{"type":62,"value":217},{"type":62,"value":231},": workflows invoked as tools of the agent; see Adding\ntools to an agent to distinguish them from direct tools.",{"type":57,"tag":102,"props":233,"children":234},{},[235,241],{"type":57,"tag":83,"props":236,"children":238},{"className":237},[],[239],{"type":62,"value":240},"n\u002Fa",{"type":62,"value":242}," for needs-clarification and out-of-scope.",{"type":57,"tag":72,"props":244,"children":245},{},[246,251,253,258,260,266,268,273,275,280,282,286,288,293],{"type":57,"tag":137,"props":247,"children":248},{},[249],{"type":62,"value":250},"Migration from the old taxonomy",{"type":62,"value":252},": old ",{"type":57,"tag":137,"props":254,"children":255},{},[256],{"type":62,"value":257},"hybrid",{"type":62,"value":259}," → workflow-anchored,\n",{"type":57,"tag":83,"props":261,"children":263},{"className":262},[],[264],{"type":62,"value":265},"embeds_other: false",{"type":62,"value":267},". Old ",{"type":57,"tag":137,"props":269,"children":270},{},[271],{"type":62,"value":272},"single AI task",{"type":62,"value":274}," → out-of-scope when it is a\none-off request (do the task directly); workflow-anchored with one LLM step\nonly when the user wants a persistent, triggerable automation. Old\n",{"type":57,"tag":137,"props":276,"children":277},{},[278],{"type":62,"value":279},"ambiguous",{"type":62,"value":281}," → needs-clarification. Old ",{"type":57,"tag":137,"props":283,"children":284},{},[285],{"type":62,"value":45},{"type":62,"value":287}," and ",{"type":57,"tag":137,"props":289,"children":290},{},[291],{"type":62,"value":292},"agent",{"type":62,"value":294}," map\ndirectly onto the matching anchor value.",{"type":57,"tag":65,"props":296,"children":298},{"id":297},"adding-tools-to-an-agent",[299],{"type":62,"value":300},"Adding tools to an agent",{"type":57,"tag":72,"props":302,"children":303},{},[304],{"type":62,"value":305},"After choosing an agent-anchored design, decide whether each capability should\nbe a direct agent tool or a workflow tool:",{"type":57,"tag":98,"props":307,"children":308},{},[309,334,368,402,429],{"type":57,"tag":102,"props":310,"children":311},{},[312,317,319,325,327,332],{"type":57,"tag":137,"props":313,"children":314},{},[315],{"type":62,"value":316},"Direct agent tools are the default.",{"type":62,"value":318}," Forward requests to add capabilities\nto ",{"type":57,"tag":83,"props":320,"children":322},{"className":321},[],[323],{"type":62,"value":324},"build-agent",{"type":62,"value":326}," near-verbatim so the delegated builder can choose MCP,\nnode-backed, provider, or custom tools. One node-backed capability or\nmultiple independent node tools stay on the agent build path with\n",{"type":57,"tag":83,"props":328,"children":330},{"className":329},[],[331],{"type":62,"value":265},{"type":62,"value":333},".",{"type":57,"tag":102,"props":335,"children":336},{},[337,339,344,346,351,353,359,361,367],{"type":62,"value":338},"Use a ",{"type":57,"tag":137,"props":340,"children":341},{},[342],{"type":62,"value":343},"workflow tool",{"type":62,"value":345}," only when one agent tool call must run an ordered\nmulti-node procedure, or when the user explicitly needs that workflow\nreusable, manually callable, or usable outside the agent. Build the workflow\nfirst, pass it to ",{"type":57,"tag":83,"props":347,"children":349},{"className":348},[],[350],{"type":62,"value":324},{"type":62,"value":352}," via ",{"type":57,"tag":83,"props":354,"children":356},{"className":355},[],[357],{"type":62,"value":358},"workflowContext",{"type":62,"value":360},", and set\n",{"type":57,"tag":83,"props":362,"children":364},{"className":363},[],[365],{"type":62,"value":366},"embeds_other: true",{"type":62,"value":333},{"type":57,"tag":102,"props":369,"children":370},{},[371,373,378,379,385,387,393,395,400],{"type":62,"value":372},"Create required ",{"type":57,"tag":137,"props":374,"children":375},{},[376],{"type":62,"value":377},"data tables",{"type":62,"value":352},{"type":57,"tag":83,"props":380,"children":382},{"className":381},[],[383],{"type":62,"value":384},"data-table-manager",{"type":62,"value":386}," → ",{"type":57,"tag":83,"props":388,"children":390},{"className":389},[],[391],{"type":62,"value":392},"data-tables",{"type":62,"value":394},"\nbefore ",{"type":57,"tag":83,"props":396,"children":398},{"className":397},[],[399],{"type":62,"value":324},{"type":62,"value":401}," when the agent will store or query tabular data — the\nbuilder cannot create tables.",{"type":57,"tag":102,"props":403,"children":404},{},[405,407,412,414,419,421,427],{"type":62,"value":406},"Before the first ",{"type":57,"tag":83,"props":408,"children":410},{"className":409},[],[411],{"type":62,"value":324},{"type":62,"value":413}," call, create every prerequisite the builder\ncannot: required data tables and any workflow tools the agent will invoke.\nPass built workflows in ",{"type":57,"tag":83,"props":415,"children":417},{"className":416},[],[418],{"type":62,"value":358},{"type":62,"value":420}," and list every prerequisite\nname\u002Fschema in ",{"type":57,"tag":83,"props":422,"children":424},{"className":423},[],[425],{"type":62,"value":426},"message",{"type":62,"value":428},". Then let the builder gather remaining agent-specific\nrequirements (model, credentials, integrations).",{"type":57,"tag":102,"props":430,"children":431},{},[432,434,440,442,447],{"type":62,"value":433},"If a ",{"type":57,"tag":83,"props":435,"children":437},{"className":436},[],[438],{"type":62,"value":439},"builderReply",{"type":62,"value":441}," lists missing workflows or tables, create them and call\n",{"type":57,"tag":83,"props":443,"children":445},{"className":444},[],[446],{"type":62,"value":324},{"type":62,"value":448}," again — never ask the user to create them manually.",{"type":57,"tag":72,"props":450,"children":451},{},[452],{"type":62,"value":453},"Count the nodes required inside one tool invocation, not the total number of\ntools on the agent. For example, looking up and inserting Data Table rows are\ntwo direct node tools; an atomic lookup-transform-write procedure is one\nworkflow tool.",{"type":57,"tag":65,"props":455,"children":457},{"id":456},"decision-steps",[458],{"type":62,"value":459},"Decision Steps",{"type":57,"tag":461,"props":462,"children":464},"ol",{"start":463},0,[465,470,480,491,496,506,516,529,545,556],{"type":57,"tag":102,"props":466,"children":467},{},[468],{"type":62,"value":469},"If the user is mid-build on an existing workflow or agent, apply context\ncontinuity (see Signals) before anything else — an incremental request\nnormally extends the current primitive.",{"type":57,"tag":102,"props":471,"children":472},{},[473,478],{"type":57,"tag":137,"props":474,"children":475},{},[476],{"type":62,"value":477},"Explicit artifact requests.",{"type":62,"value":479}," When the user names the deliverable —\n\"build me an agent\u002Fassistant that…\", \"create a workflow that…\" — the\nnamed primitive is a routing instruction, not surface vocabulary.\nClassify by it unless the described behavior is unambiguously the other\nprimitive's shape (e.g. \"an agent\" whose behavior is a fixed\nschedule-fetch-notify pipeline). Even then, never switch silently:\npropose the reclassified design and say you are deviating from the named\nprimitive, grounding the choice in the task's shape. The false-friends\nrule applies to task descriptions, not to an explicitly requested\nartifact.",{"type":57,"tag":102,"props":481,"children":482},{},[483,485,489],{"type":62,"value":484},"If the request is not a build intent — a meta or product question, or a\none-off content task with no trigger or reuse — classify ",{"type":57,"tag":137,"props":486,"children":487},{},[488],{"type":62,"value":191},{"type":62,"value":490},"\nand answer or do it directly.",{"type":57,"tag":102,"props":492,"children":493},{},[494],{"type":62,"value":495},"Split the request into parts only if it contains multiple independent\nautomations with separate lifecycles (unrelated triggers, audiences, or\ncadences). Markers like numbering or \"and separately\" are a giveaway but\nare not required — a single plain sentence can contain two automations.\nDo not split a single automation that merely enumerates many tools or\nsteps. Run steps 4-9 on each part.",{"type":57,"tag":102,"props":497,"children":498},{},[499,501,505],{"type":62,"value":500},"Test the agent signals. If any one holds, classify ",{"type":57,"tag":137,"props":502,"children":503},{},[504],{"type":62,"value":164},{"type":62,"value":333},{"type":57,"tag":102,"props":507,"children":508},{},[509,511,515],{"type":62,"value":510},"Otherwise, test the workflow conditions. If all of them hold, classify\n",{"type":57,"tag":137,"props":512,"children":513},{},[514],{"type":62,"value":154},{"type":62,"value":333},{"type":57,"tag":102,"props":517,"children":518},{},[519,521,527],{"type":62,"value":520},"Decide ",{"type":57,"tag":83,"props":522,"children":524},{"className":523},[],[525],{"type":62,"value":526},"embeds_other",{"type":62,"value":528}," in both directions: does an agent step appear inside\nthis workflow, or does this agent invoke workflows as tools?",{"type":57,"tag":102,"props":530,"children":531},{},[532,537,539,543],{"type":57,"tag":137,"props":533,"children":534},{},[535],{"type":62,"value":536},"Degenerate-shell check.",{"type":62,"value":538}," If a workflow-anchored design reduces to a\ntrigger plus a single open-ended agent step that does all the work — no\ndeterministic steps earning the shell — the anchor is wrong: reclassify\n",{"type":57,"tag":137,"props":540,"children":541},{},[542],{"type":62,"value":164},{"type":62,"value":544}," and build an n8n Agent (an on-demand duty becomes the\nagent's chat use; a scheduled duty becomes a task on the agent). Re-run\nthis check while building: when fixed nodes prove unusable and the work\nmigrates into one embedded agent step, stop and re-anchor instead of\nfinishing the degenerate workflow.",{"type":57,"tag":102,"props":546,"children":547},{},[548,550,554],{"type":62,"value":549},"If the request is under-specified on an anchor-deciding axis (rule-based\nvs judgment-based, scope\u002Fautonomy, interaction mode), classify\n",{"type":57,"tag":137,"props":551,"children":552},{},[553],{"type":62,"value":181},{"type":62,"value":555}," and name the missing axis instead of guessing.",{"type":57,"tag":102,"props":557,"children":558},{},[559],{"type":62,"value":560},"If both anchors are genuinely defensible, apply the growth tiebreaker:\nprefer whichever primitive scales with likely complexity growth — usually\nagent-anchored when novel situations, longer horizons, or learning are\nimplied. The tiebreaker applies only to genuine ties: when a bounded\nworkflow reading fully satisfies the request, prefer it. If it is a real\ntoss-up, say so and name both readings instead of feigning certainty.\nThe workflow preference applies to task-shaped requests; it never\noverrides an explicitly requested agent artifact (step 1).",{"type":57,"tag":65,"props":562,"children":564},{"id":563},"signals",[565],{"type":62,"value":566},"Signals",{"type":57,"tag":72,"props":568,"children":569},{},[570,575],{"type":57,"tag":137,"props":571,"children":572},{},[573],{"type":62,"value":574},"Agent-anchored",{"type":62,"value":576}," (any one is enough):",{"type":57,"tag":98,"props":578,"children":579},{},[580,585,590,595,600,605,610],{"type":57,"tag":102,"props":581,"children":582},{},[583],{"type":62,"value":584},"Reasoning dominates the flow: investigate, decide, act, iterate.",{"type":57,"tag":102,"props":586,"children":587},{},[588],{"type":62,"value":589},"On-demand question or report that requires judgment-driven navigation of\nexternal systems (which items matter, how they map to goals) and cannot be\nanswered directly with your own tools — the user is in effect already\nchatting with the automation they need. The artifact is an agent with those\ntools that can be asked again anytime, not a manually triggered workflow.",{"type":57,"tag":102,"props":591,"children":592},{},[593],{"type":62,"value":594},"Multi-session or long-running: coordination across days, tracked open\nthreads, daily check-ins.",{"type":57,"tag":102,"props":596,"children":597},{},[598],{"type":62,"value":599},"Proactive or recurring on its own: wakes on a heartbeat or a scheduled\ntask, checks state, and decides what to do about it each run. The judgment\nper run is the signal, not the cadence — a schedule alone is anchor-neutral\n(see Scheduled judgment work).",{"type":57,"tag":102,"props":601,"children":602},{},[603],{"type":62,"value":604},"Self-improving or skill accretion is first-class: learns from feedback\nover time, gets better at the task.",{"type":57,"tag":102,"props":606,"children":607},{},[608],{"type":62,"value":609},"Chat or session-based interaction. A workflow with a Chat Trigger is not\na substitute — this signal holds unless the chat merely triggers a fixed\npipeline (see Gotchas).",{"type":57,"tag":102,"props":611,"children":612},{},[613],{"type":62,"value":614},"Cross-session memory.",{"type":57,"tag":72,"props":616,"children":617},{},[618,623],{"type":57,"tag":137,"props":619,"children":620},{},[621],{"type":62,"value":622},"Workflow-anchored",{"type":62,"value":624}," (all must hold):",{"type":57,"tag":98,"props":626,"children":627},{},[628,633,638,643],{"type":57,"tag":102,"props":629,"children":630},{},[631],{"type":62,"value":632},"Structure is a graph of enumerable steps.",{"type":57,"tag":102,"props":634,"children":635},{},[636],{"type":62,"value":637},"Any LLM use is a bounded transformer: fixed-label classify, extract,\nsummarize, or a single decision.",{"type":57,"tag":102,"props":639,"children":640},{},[641],{"type":62,"value":642},"Trigger and actions are deterministic. A cron schedule satisfies this but\nnever decides the anchor by itself — agents run scheduled tasks too; what\nmust be deterministic is the body of each run.",{"type":57,"tag":102,"props":644,"children":645},{},[646],{"type":62,"value":647},"Reproducibility or auditability is served by the same graph running every\ntime.",{"type":57,"tag":72,"props":649,"children":650},{},[651,656],{"type":57,"tag":137,"props":652,"children":653},{},[654],{"type":62,"value":655},"Scheduled judgment work",{"type":62,"value":657}," (recurring cadence + open-ended body): both\nprimitives can own it — a workflow shell with an embedded agent step, or an\nagent with a scheduled task. Default to the workflow shell for a standalone,\nsingle-duty job: a deterministic trigger and delivery around one open-ended\nstep keeps auditability and avoids unnecessary agency. Choose an agent with a\ntask instead when the duty belongs to an agent the user also interacts with\nor that has other duties, when it needs memory across runs (tracking open\nthreads, \"what did I flag last time\"), or when the user explicitly asked for\nan agent. A recurring duty added to an agent mid-build is always a task on\nthat agent, never a spawned workflow.",{"type":57,"tag":72,"props":659,"children":660},{},[661,666],{"type":57,"tag":137,"props":662,"children":663},{},[664],{"type":62,"value":665},"Embeds-other signals",{"type":62,"value":667},":",{"type":57,"tag":98,"props":669,"children":670},{},[671,676,681],{"type":57,"tag":102,"props":672,"children":673},{},[674],{"type":62,"value":675},"Workflow with an embedded agent: a step in an otherwise fixed pipeline is\nopen-ended (\"figure out why\", \"investigate\", \"decide what to do about it\")\nwhile the trigger and surrounding steps stay deterministic.",{"type":57,"tag":102,"props":677,"children":678},{},[679],{"type":62,"value":680},"The embedding is often implicit — the request never says \"agent\". Ask of\neach step: could a fixed-instruction transform do it (enumerable labels,\none bounded rewrite), or does doing it well require gathering and weighing\ncontext that differs per item, then producing a judgment? A nightly job\nthat drafts a tailored renewal pitch for each account from its usage\nhistory embeds an agent; a nightly job that condenses each ticket into a\ntwo-sentence summary does not.",{"type":57,"tag":102,"props":682,"children":683},{},[684],{"type":62,"value":685},"For an agent with workflow tools, apply Adding tools to an agent.",{"type":57,"tag":72,"props":687,"children":688},{},[689,694],{"type":57,"tag":137,"props":690,"children":691},{},[692],{"type":62,"value":693},"Context continuity",{"type":62,"value":695}," (step 0): inside a workflow build, a request to insert\na scoring step stays a bounded LLM step, not a new agent. Inside an agent\nbuild, a request to post an update on completion is a new tool on that\nagent, not a spawned workflow — and a recurring duty (\"also send me a Monday\nsummary\") is a scheduled task on that agent, not a new scheduled workflow.\nOnly cross into the other primitive when the\nincremental request itself carries its own anchor signal — and even then,\nprefer asking before switching paradigm if it isn't clearly load-bearing.",{"type":57,"tag":72,"props":697,"children":698},{},[699,704],{"type":57,"tag":137,"props":700,"children":701},{},[702],{"type":62,"value":703},"Clarify triggers",{"type":62,"value":705},": rule-based vs judgment-based (what defines \"important\"\nor \"urgent\"?), scope\u002Fautonomy (act on its own vs draft for review),\ninteraction mode (one-shot vs chat). Do not clarify when the criterion could\ndefensibly go either way — that is a genuine tie, name both readings\ninstead.",{"type":57,"tag":72,"props":707,"children":708},{},[709,714],{"type":57,"tag":137,"props":710,"children":711},{},[712],{"type":62,"value":713},"False friends — not signals",{"type":62,"value":667},{"type":57,"tag":98,"props":716,"children":717},{},[718,731],{"type":57,"tag":102,"props":719,"children":720},{},[721,723,729],{"type":62,"value":722},"Surface vocabulary: \"agent\", \"assistant\", \"bot\", \"workflow\", \"automate\"\nin a ",{"type":57,"tag":724,"props":725,"children":726},"em",{},[727],{"type":62,"value":728},"task description",{"type":62,"value":730}," carry no weight — classify the shape, not the\nwords. An explicit artifact request (\"build me an agent that…\") is not a\nfalse friend; see Decision Step 1.",{"type":57,"tag":102,"props":732,"children":733},{},[734],{"type":62,"value":735},"Step count and tool count: long linear pipelines and high tool counts are\nnot agentic. Seven deterministic steps with zero branches is still a\nworkflow.",{"type":57,"tag":65,"props":737,"children":739},{"id":738},"examples",[740],{"type":62,"value":741},"Examples",{"type":57,"tag":98,"props":743,"children":744},{},[745,763,787,804,821,838,855,872,889,913,924,941,958,987,1009,1026,1043],{"type":57,"tag":102,"props":746,"children":747},{},[748,750,754,756,761],{"type":62,"value":749},"\"Every day at 6pm, pull today's Shopify order count and post it to a\nDiscord channel.\" -> ",{"type":57,"tag":137,"props":751,"children":752},{},[753],{"type":62,"value":154},{"type":62,"value":755},", ",{"type":57,"tag":83,"props":757,"children":759},{"className":758},[],[760],{"type":62,"value":265},{"type":62,"value":762},": fixed\nschedule, source, and destination.",{"type":57,"tag":102,"props":764,"children":765},{},[766,768,772,774,779,781,785],{"type":62,"value":767},"\"When a new Jira issue is created, classify it as bug\u002Ffeature\u002Fquestion and\nroute it to the matching Discord channel.\" -> ",{"type":57,"tag":137,"props":769,"children":770},{},[771],{"type":62,"value":154},{"type":62,"value":773},",\n",{"type":57,"tag":83,"props":775,"children":777},{"className":776},[],[778],{"type":62,"value":265},{"type":62,"value":780},": bounded classification feeding fixed routing (would\nhave been ",{"type":57,"tag":137,"props":782,"children":783},{},[784],{"type":62,"value":257},{"type":62,"value":786}," under the old taxonomy).",{"type":57,"tag":102,"props":788,"children":789},{},[790,792,796,797,802],{"type":62,"value":791},"\"Every night, gather the day's failed background jobs, dig into the logs\nand recent deploys to work out why each one failed, and post a write-up to\na Notion page.\" -> ",{"type":57,"tag":137,"props":793,"children":794},{},[795],{"type":62,"value":154},{"type":62,"value":755},{"type":57,"tag":83,"props":798,"children":800},{"className":799},[],[801],{"type":62,"value":366},{"type":62,"value":803},": schedule\nand destination are fixed; \"work out why\" is open-ended investigation, best\nrun as an embedded agent step.",{"type":57,"tag":102,"props":805,"children":806},{},[807,809,813,814,819],{"type":62,"value":808},"\"Give me a chat window where I can ask about our expense-reporting rules\nand get answers pulled from the finance handbook.\" -> ",{"type":57,"tag":137,"props":810,"children":811},{},[812],{"type":62,"value":164},{"type":62,"value":773},{"type":57,"tag":83,"props":815,"children":817},{"className":816},[],[818],{"type":62,"value":265},{"type":62,"value":820},": chat interaction, the LLM decides what to look up\neach turn.",{"type":57,"tag":102,"props":822,"children":823},{},[824,826,830,831,836],{"type":62,"value":825},"\"Build an ops agent that can check server health, restart services via our\nrunbook, and file a Jira ticket if it can't resolve things — the restart\nand ticket-filing should also be triggerable manually elsewhere.\" ->\n",{"type":57,"tag":137,"props":827,"children":828},{},[829],{"type":62,"value":164},{"type":62,"value":755},{"type":57,"tag":83,"props":832,"children":834},{"className":833},[],[835],{"type":62,"value":366},{"type":62,"value":837},": explicitly reusable actions are\nworkflows the agent calls as tools.",{"type":57,"tag":102,"props":839,"children":840},{},[841,843,847,848,853],{"type":62,"value":842},"\"Have an agent keep an eye on our AWS spend throughout the day and flag me\nbefore we blow through budget, without me asking it to check.\" ->\n",{"type":57,"tag":137,"props":844,"children":845},{},[846],{"type":62,"value":164},{"type":62,"value":755},{"type":57,"tag":83,"props":849,"children":851},{"className":850},[],[852],{"type":62,"value":265},{"type":62,"value":854},": proactive, heartbeat-driven,\nno fixed check schedule.",{"type":57,"tag":102,"props":856,"children":857},{},[858,860,864,865,870],{"type":62,"value":859},"\"Build an agent that drafts replies to Notion comment threads and sharpens\nits sense of our tone the more we correct it.\" -> ",{"type":57,"tag":137,"props":861,"children":862},{},[863],{"type":62,"value":164},{"type":62,"value":773},{"type":57,"tag":83,"props":866,"children":868},{"className":867},[],[869],{"type":62,"value":265},{"type":62,"value":871},": skill accretion from feedback is first-class.",{"type":57,"tag":102,"props":873,"children":874},{},[875,877,881,882,887],{"type":62,"value":876},"\"Put an agent in charge of coordinating our office relocation — track\nvendors, follow up with each team lead, and send reminders through our\nexisting reminder workflow when a task stalls.\" -> ",{"type":57,"tag":137,"props":878,"children":879},{},[880],{"type":62,"value":164},{"type":62,"value":773},{"type":57,"tag":83,"props":883,"children":885},{"className":884},[],[886],{"type":62,"value":366},{"type":62,"value":888},": long-running coordination invoking a workflow tool.",{"type":57,"tag":102,"props":890,"children":891},{},[892,894,898,899,904,906,911],{"type":62,"value":893},"\"Configure an AI agent to send me a nightly digest of new GitHub stars.\"\n-> ",{"type":57,"tag":137,"props":895,"children":896},{},[897],{"type":62,"value":154},{"type":62,"value":755},{"type":57,"tag":83,"props":900,"children":902},{"className":901},[],[903],{"type":62,"value":265},{"type":62,"value":905},": fixed schedule and action\ndespite the word \"agent\" — a false friend. When the user instead\nexplicitly asks to ",{"type":57,"tag":724,"props":907,"children":908},{},[909],{"type":62,"value":910},"build an agent",{"type":62,"value":912}," around a fixed pipeline like this,\nkeep the workflow classification but say so rather than switching\nsilently (step 1).",{"type":57,"tag":102,"props":914,"children":915},{},[916,918,922],{"type":62,"value":917},"\"Spin up a lightweight workflow that talks to shoppers on our storefront\nand handles their product questions.\" -> ",{"type":57,"tag":137,"props":919,"children":920},{},[921],{"type":62,"value":164},{"type":62,"value":923},": chat-based\nQ&A means the LLM owns turn-by-turn control despite the word \"workflow\" —\na false friend in the other direction.",{"type":57,"tag":102,"props":925,"children":926},{},[927,929,933,934,939],{"type":62,"value":928},"\"Build me an agent that answers customer questions from our docs.\" ->\n",{"type":57,"tag":137,"props":930,"children":931},{},[932],{"type":62,"value":164},{"type":62,"value":755},{"type":57,"tag":83,"props":935,"children":937},{"className":936},[],[938],{"type":62,"value":265},{"type":62,"value":940},": explicit agent artifact\nrequest plus chat-shaped open-ended Q&A. The deliverable is an n8n Agent\n— not a workflow with a Chat Trigger and an AI Agent node.",{"type":57,"tag":102,"props":942,"children":943},{},[944,946,950,951,956],{"type":62,"value":945},"\"Give me a chat box where I paste a company name and it runs our\nenrichment steps and replies with the result.\" -> ",{"type":57,"tag":137,"props":947,"children":948},{},[949],{"type":62,"value":154},{"type":62,"value":773},{"type":57,"tag":83,"props":952,"children":954},{"className":953},[],[955],{"type":62,"value":265},{"type":62,"value":957},": chat is merely the manual trigger for a fixed\ngraph — the one case where a Chat Trigger workflow is the right build.",{"type":57,"tag":102,"props":959,"children":960},{},[961,963,967,968,973,975,979,980,985],{"type":62,"value":962},"\"Post every new Airtable record to a Discord channel, and separately set up\nan agent that handles customer refund requests end-to-end.\" -> two parts,\njoined only by topic, not data or trigger: \"Airtable-to-Discord posting\"\n(",{"type":57,"tag":137,"props":964,"children":965},{},[966],{"type":62,"value":154},{"type":62,"value":755},{"type":57,"tag":83,"props":969,"children":971},{"className":970},[],[972],{"type":62,"value":265},{"type":62,"value":974},") and \"refund-handling agent\"\n(",{"type":57,"tag":137,"props":976,"children":977},{},[978],{"type":62,"value":164},{"type":62,"value":755},{"type":57,"tag":83,"props":981,"children":983},{"className":982},[],[984],{"type":62,"value":366},{"type":62,"value":986},").",{"type":57,"tag":102,"props":988,"children":989},{},[990,992,996,997,1002,1004,1008],{"type":62,"value":991},"\"Transcribe my sales calls and chase the deals that go quiet.\" -> two\nparts despite the plain single sentence: transcription is a bounded\nper-call pipeline (",{"type":57,"tag":137,"props":993,"children":994},{},[995],{"type":62,"value":154},{"type":62,"value":755},{"type":57,"tag":83,"props":998,"children":1000},{"className":999},[],[1001],{"type":62,"value":265},{"type":62,"value":1003},"), while\nchasing stalled deals is an ongoing judgment-driven automation with its\nown lifecycle (",{"type":57,"tag":137,"props":1005,"children":1006},{},[1007],{"type":62,"value":164},{"type":62,"value":986},{"type":57,"tag":102,"props":1010,"children":1011},{},[1012,1014,1018,1019,1024],{"type":62,"value":1013},"\"Set up a research helper capable of searching the web, querying our\ninternal wiki, pulling numbers from Google Analytics, and drafting a slide\ndeck that summarizes the findings.\" -> one part, ",{"type":57,"tag":137,"props":1015,"children":1016},{},[1017],{"type":62,"value":164},{"type":62,"value":773},{"type":57,"tag":83,"props":1020,"children":1022},{"className":1021},[],[1023],{"type":62,"value":366},{"type":62,"value":1025},": many tools but one lifecycle — do not split on tool\ncount.",{"type":57,"tag":102,"props":1027,"children":1028},{},[1029,1031,1035,1036,1041],{"type":62,"value":1030},"\"Tell me how the platform team is progressing against their cycle goals —\ncurrent status is in our issue tracker, the goals are on our internal\nwiki.\" -> ",{"type":57,"tag":137,"props":1032,"children":1033},{},[1034],{"type":62,"value":164},{"type":62,"value":755},{"type":57,"tag":83,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":62,"value":265},{"type":62,"value":1042},": an on-demand judgment\nreport over external systems you cannot query directly. The artifact is an\nagent with tracker and wiki tools the user can ask again anytime — not a\nmanual-trigger workflow whose only real step is an embedded agent with\nthose same tools. If the user later wants it every Friday, that becomes a\nscheduled task on the same agent, not a conversion to a workflow.",{"type":57,"tag":102,"props":1044,"children":1045},{},[1046,1048,1052],{"type":62,"value":1047},"\"Tell me when something important happens with our shipments.\" ->\n",{"type":57,"tag":137,"props":1049,"children":1050},{},[1051],{"type":62,"value":181},{"type":62,"value":1053},": \"important\" is undefined; ask whether concrete\nrules exist or this needs judgment-based triage.",{"type":57,"tag":65,"props":1055,"children":1057},{"id":1056},"gotchas",[1058],{"type":62,"value":1059},"Gotchas",{"type":57,"tag":98,"props":1061,"children":1062},{},[1063,1068,1073,1078,1098,1103,1108,1133,1145,1150,1155,1160,1165],{"type":57,"tag":102,"props":1064,"children":1065},{},[1066],{"type":62,"value":1067},"Do not label a request agent-anchored just because it is long, multi-step,\nor mentions AI.",{"type":57,"tag":102,"props":1069,"children":1070},{},[1071],{"type":62,"value":1072},"Do not label classify-then-route as agent-anchored unless the model\nrepeatedly decides the next action after observing prior results.",{"type":57,"tag":102,"props":1074,"children":1075},{},[1076],{"type":62,"value":1077},"Do not force vague prompts into an anchor; ask when an anchor-deciding\naxis is missing.",{"type":57,"tag":102,"props":1079,"children":1080},{},[1081,1083,1088,1090,1096],{"type":62,"value":1082},"Never default ",{"type":57,"tag":83,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":62,"value":526},{"type":62,"value":1089}," to ",{"type":57,"tag":83,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":62,"value":1095},"false",{"type":62,"value":1097}," without checking both directions:\nan agent step hiding inside a workflow, and a workflow acting as an\nagent's tool.",{"type":57,"tag":102,"props":1099,"children":1100},{},[1101],{"type":62,"value":1102},"Never split a compound request on tool or step enumeration alone — split\nonly on separate lifecycles.",{"type":57,"tag":102,"props":1104,"children":1105},{},[1106],{"type":62,"value":1107},"Unnecessary agency adds latency, cost, and compounding error risk — do not\nreach for an agent when a bounded workflow fully satisfies a task-shaped\nrequest. This is not a license to override an explicit agent request.",{"type":57,"tag":102,"props":1109,"children":1110},{},[1111,1113,1117,1119,1124,1126,1131],{"type":62,"value":1112},"Never satisfy an ",{"type":57,"tag":137,"props":1114,"children":1115},{},[1116],{"type":62,"value":164},{"type":62,"value":1118}," classification with a workflow\ncontaining a Chat Trigger + AI Agent node. Agent-anchored requests\nproduce an n8n Agent artifact via the agent build path; the AI Agent\n",{"type":57,"tag":724,"props":1120,"children":1121},{},[1122],{"type":62,"value":1123},"node",{"type":62,"value":1125}," exists only for ",{"type":57,"tag":83,"props":1127,"children":1129},{"className":1128},[],[1130],{"type":62,"value":366},{"type":62,"value":1132}," steps inside a genuinely\nworkflow-anchored pipeline. A Chat Trigger workflow is correct only when\nchat is merely the manual trigger for a fixed graph.",{"type":57,"tag":102,"props":1134,"children":1135},{},[1136,1138,1143],{"type":62,"value":1137},"Do not demote an explicitly requested agent to an embedded AI Agent step\ninside a workflow — workflow-anchored with ",{"type":57,"tag":83,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":62,"value":366},{"type":62,"value":1144}," is for\nagent steps inside a pipeline the user described as a pipeline.",{"type":57,"tag":102,"props":1146,"children":1147},{},[1148],{"type":62,"value":1149},"A workflow whose only real step is one embedded agent doing all the work\nis an agent wearing a workflow costume — the mirror image of the Chat\nTrigger gotcha above. Apply the degenerate-shell check (step 7) and\nre-anchor instead of shipping trigger + AI Agent node.",{"type":57,"tag":102,"props":1151,"children":1152},{},[1153],{"type":62,"value":1154},"Do not treat a cron schedule as a workflow signal by itself — agents run\nscheduled tasks. Classify by the body of each run, and when a one-off\nquestion can't be answered directly, do not fall back to \"build a workflow\nor do it yourself\": an agent with the right tools is usually the missing\noption.",{"type":57,"tag":102,"props":1156,"children":1157},{},[1158],{"type":62,"value":1159},"Do not use an agent when progress cannot be verified: if the path cannot\nbe scripted and the result cannot be checked, the design is not ready.",{"type":57,"tag":102,"props":1161,"children":1162},{},[1163],{"type":62,"value":1164},"Respect the current build context: an incremental request stays on the\nactive primitive unless it carries its own anchor signal.",{"type":57,"tag":102,"props":1166,"children":1167},{},[1168],{"type":62,"value":1169},"Keep n8n framing clear: agents operate inside workflow guardrails; they do\nnot replace the workflow engine.",{"type":57,"tag":65,"props":1171,"children":1173},{"id":1172},"output-format",[1174],{"type":62,"value":1175},"Output Format",{"type":57,"tag":72,"props":1177,"children":1178},{},[1179],{"type":62,"value":1180},"Return a concise classification and reason:",{"type":57,"tag":1182,"props":1183,"children":1188},"pre",{"className":1184,"code":1186,"language":62,"meta":1187},[1185],"language-text","Anchor: workflow-anchored | agent-anchored | needs-clarification | out-of-scope\nEmbeds other: true | false | n\u002Fa\nReason: \u003Cone or two sentences citing the deciding signals>\nNext step: \u003Cbuild workflow \u002F build workflow with embedded agent step \u002F build n8n Agent artifact (agent build path; recurring duties as scheduled tasks on the agent) \u002F ask clarification \u002F answer directly>\n","",[1189],{"type":57,"tag":83,"props":1190,"children":1191},{"__ignoreMap":1187},[1192],{"type":62,"value":1186},{"type":57,"tag":72,"props":1194,"children":1195},{},[1196],{"type":62,"value":1197},"For build requests, do not expose this format unless the user asks for\nclassification. Instead, proceed according to the selected next step. When\nthe user asks for classification in a specific format, such as a JSON block,\nfollow that format and map the vocabulary accordingly (workflow-anchored,\nagent-anchored, needs-clarification, out-of-scope, and their equivalents).\nFor compound requests, output one classification block per part.",{"items":1199,"total":1291},[1200,1215,1230,1243,1255,1262,1274],{"slug":1201,"name":1201,"fn":1202,"description":1203,"org":1204,"tags":1205,"stars":23,"repoUrl":24,"updatedAt":1214},"config-evals","configure workflow evaluations","Builds and maintains configuration-based evaluations on a workflow with the eval-config tool. Use when the user asks to set up, add, view, change, or remove an evaluation, score, grade, or judge a workflow's output, or measure answer quality against a test dataset. This is the only eval form Instance AI handles — it does not touch on-canvas evaluation nodes.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1206,1209,1210,1213],{"name":1207,"slug":1208,"type":13},"Evals","evals",{"name":8,"slug":8,"type":13},{"name":1211,"slug":1212,"type":13},"Testing","testing",{"name":21,"slug":22,"type":13},"2026-07-24T05:37:07.398695",{"slug":1216,"name":1216,"fn":1217,"description":1218,"org":1219,"tags":1220,"stars":23,"repoUrl":24,"updatedAt":1229},"credential-setup-with-computer-use","configure n8n credentials via browser","Guides n8n credential setup through Computer Use browser tools. Use when a user needs OAuth apps, API keys, client IDs, client secrets, or other credential values from an external service console.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1221,1222,1225,1226],{"name":15,"slug":16,"type":13},{"name":1223,"slug":1224,"type":13},"Configuration","configuration",{"name":8,"slug":8,"type":13},{"name":1227,"slug":1228,"type":13},"OAuth","oauth","2026-06-30T07:40:45.54",{"slug":384,"name":384,"fn":1231,"description":1232,"org":1233,"tags":1234,"stars":23,"repoUrl":24,"updatedAt":1242},"manage n8n Data Tables","Load before calling data-tables or parse-file. Use for natural standalone requests like \"what data tables do I have?\", \"show\u002Flist my tables\", or \"what columns are in this table?\", and whenever the user asks to list, show, create, inspect, import, seed, query, update, clean up, rename columns in, or delete data tables and rows, especially from CSV\u002FXLSX\u002FJSON attachments. Also load before building or planning workflows that create or write to Data Tables (then load workflow-builder before build-workflow).",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1235,1238,1241],{"name":1236,"slug":1237,"type":13},"Data Engineering","data-engineering",{"name":1239,"slug":1240,"type":13},"Database","database",{"name":8,"slug":8,"type":13},"2026-07-27T06:07:14.648144",{"slug":1244,"name":1244,"fn":1245,"description":1246,"org":1247,"tags":1248,"stars":23,"repoUrl":24,"updatedAt":1229},"debugging-executions","debug failed n8n workflow executions","Debug failed or wrong-output workflow executions using executions tools. Load when the user reports execution failures, unexpected node output, empty parameter values after a successful run, or a node showing a red or failed expression error.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1249,1250,1253,1254],{"name":15,"slug":16,"type":13},{"name":1251,"slug":1252,"type":13},"Debugging","debugging",{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"slug":4,"name":4,"fn":5,"description":6,"org":1256,"tags":1257,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1258,1259,1260,1261],{"name":18,"slug":19,"type":13},{"name":15,"slug":16,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"slug":1263,"name":1263,"fn":1264,"description":1265,"org":1266,"tags":1267,"stars":23,"repoUrl":24,"updatedAt":1273},"n8n-cli","manage n8n workflows from the CLI","Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance. Use when the user asks to interact with n8n, automate workflows, manage credentials, or operate their instance from the command line.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1268,1269,1271,1272],{"name":15,"slug":16,"type":13},{"name":1270,"slug":31,"type":13},"CLI",{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},"2026-04-06T18:38:40.360123",{"slug":1275,"name":1275,"fn":1276,"description":1277,"org":1278,"tags":1279,"stars":23,"repoUrl":24,"updatedAt":1290},"n8n-docs-assistant","retrieve n8n documentation and guidance","Answers n8n product, setup, credential, node, hosting, API, and usage questions from current n8n docs. Load n8n-docs via load_tool before calling it (search \"n8n docs\" if not visible). Use when the user asks how to configure, set up, troubleshoot, or understand n8n behavior, especially credential setup questions opened from the credential modal.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1280,1283,1284,1287],{"name":1281,"slug":1282,"type":13},"Documentation","documentation",{"name":8,"slug":8,"type":13},{"name":1285,"slug":1286,"type":13},"Reference","reference",{"name":1288,"slug":1289,"type":13},"Search","search","2026-07-27T06:07:15.692906",11,{"items":1293,"total":1397},[1294,1301,1308,1314,1321,1328,1335,1342,1351,1363,1373,1383],{"slug":1201,"name":1201,"fn":1202,"description":1203,"org":1295,"tags":1296,"stars":23,"repoUrl":24,"updatedAt":1214},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1297,1298,1299,1300],{"name":1207,"slug":1208,"type":13},{"name":8,"slug":8,"type":13},{"name":1211,"slug":1212,"type":13},{"name":21,"slug":22,"type":13},{"slug":1216,"name":1216,"fn":1217,"description":1218,"org":1302,"tags":1303,"stars":23,"repoUrl":24,"updatedAt":1229},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1304,1305,1306,1307],{"name":15,"slug":16,"type":13},{"name":1223,"slug":1224,"type":13},{"name":8,"slug":8,"type":13},{"name":1227,"slug":1228,"type":13},{"slug":384,"name":384,"fn":1231,"description":1232,"org":1309,"tags":1310,"stars":23,"repoUrl":24,"updatedAt":1242},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1311,1312,1313],{"name":1236,"slug":1237,"type":13},{"name":1239,"slug":1240,"type":13},{"name":8,"slug":8,"type":13},{"slug":1244,"name":1244,"fn":1245,"description":1246,"org":1315,"tags":1316,"stars":23,"repoUrl":24,"updatedAt":1229},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1317,1318,1319,1320],{"name":15,"slug":16,"type":13},{"name":1251,"slug":1252,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"slug":4,"name":4,"fn":5,"description":6,"org":1322,"tags":1323,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1324,1325,1326,1327],{"name":18,"slug":19,"type":13},{"name":15,"slug":16,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"slug":1263,"name":1263,"fn":1264,"description":1265,"org":1329,"tags":1330,"stars":23,"repoUrl":24,"updatedAt":1273},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1331,1332,1333,1334],{"name":15,"slug":16,"type":13},{"name":1270,"slug":31,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"slug":1275,"name":1275,"fn":1276,"description":1277,"org":1336,"tags":1337,"stars":23,"repoUrl":24,"updatedAt":1290},{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1338,1339,1340,1341],{"name":1281,"slug":1282,"type":13},{"name":8,"slug":8,"type":13},{"name":1285,"slug":1286,"type":13},{"name":1288,"slug":1289,"type":13},{"slug":1343,"name":1343,"fn":1344,"description":1345,"org":1346,"tags":1347,"stars":23,"repoUrl":24,"updatedAt":1229},"planned-task-runtime","manage n8n task runtimes","Handles system follow-up turns: planned-task-follow-up (synthesize, replan, build-workflow, checkpoint), background-task-completed, running-tasks context, and create-tasks silence rules. Load whenever any of these tags appear or after calling create-tasks.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1348,1349,1350],{"name":15,"slug":16,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"slug":1352,"name":1352,"fn":1353,"description":1354,"org":1355,"tags":1356,"stars":23,"repoUrl":24,"updatedAt":1362},"planning","coordinate multi-artifact workflows","ONLY for coordinated multi-artifact work: multiple workflows with dependencies, shared data-table schema\u002Fmigration across tasks, or the user explicitly asked to review a plan first. Load create-tasks via load_tool before calling it (search \"create tasks\" if not visible). Do NOT use for new one-off workflows, single-workflow edits, verification-only requests, or standalone data-table ops — use workflow-builder or data-table-manager instead.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1357,1358,1359,1361],{"name":15,"slug":16,"type":13},{"name":8,"slug":8,"type":13},{"name":1360,"slug":1352,"type":13},"Planning",{"name":21,"slug":22,"type":13},"2026-07-27T06:07:16.673218",{"slug":1364,"name":1364,"fn":1365,"description":1366,"org":1367,"tags":1368,"stars":23,"repoUrl":24,"updatedAt":1372},"post-build-flow","verify and set up n8n workflows","Handles workflow verification and setup after build-workflow succeeds, or when the message contains workflow-verification-follow-up or workflow-setup-required. Load after direct builds, when verificationReadiness requires action, or on orchestrator verify\u002Fsetup follow-up turns.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1369,1370,1371],{"name":15,"slug":16,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},"2026-07-24T05:37:08.421329",{"slug":1374,"name":1374,"fn":1375,"description":1376,"org":1377,"tags":1378,"stars":23,"repoUrl":24,"updatedAt":1382},"workflow-builder","build and edit n8n workflows","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, 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.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1379,1380,1381],{"name":15,"slug":16,"type":13},{"name":8,"slug":8,"type":13},{"name":21,"slug":22,"type":13},"2026-07-30T05:30:07.798011",{"slug":1384,"name":1384,"fn":1385,"description":1386,"org":1387,"tags":1388,"stars":1394,"repoUrl":1395,"updatedAt":1396},"n8n-agents-official","build AI agents in n8n","Use when building or editing any AI feature in n8n: AI Agents, Text Classifier, Information Extractor, Sentiment Analysis, Summarization Chain, Basic LLM Chain, embeddings, vector stores, single one-shot LLM calls, or AI media generation (image \u002F audio \u002F video) via the native LangChain provider nodes. Triggers on any `@n8n\u002Fn8n-nodes-langchain.*` node, \"agent\", \"chat assistant\", \"LLM with tools\", \"tool calling\", \"fromAi\", \"system prompt\", \"memory window\", \"structured output\", \"outputParser\", \"function calling\", \"RAG\", \"vector store\", \"embeddings\", \"classify with AI\", \"extract fields with LLM\", \"sentiment analysis\", \"summarize with LLM\", \"single LLM call\", chat triggers with files, AI image \u002F video \u002F audio generation, or any multi-turn or one-shot LLM behavior.",{"slug":8,"name":8,"logoUrl":9,"githubOrg":10},[1389,1390,1393],{"name":18,"slug":19,"type":13},{"name":1391,"slug":1392,"type":13},"LLM","llm",{"name":21,"slug":22,"type":13},319,"https:\u002F\u002Fgithub.com\u002Fn8n-io\u002Fskills","2026-07-08T05:44:47.938896",25]