SKILL.md
1,656 tokens · o200k_base · 7,778 bytes
Agent Builder
Routing
Use this skill after intent-recognition chooses an agent-anchored design, or
when the conversation already targets an Agent and the user is continuing that
build. Do not rerun intent recognition for routine Agent edits or extensions.
Use build-agent only for Agent artifacts.
For a new Agent request, make the first build-agent call with a faithful copy
of the request as soon as any required orchestrator-owned prerequisites are
ready. Before that call, use ask-user only to choose a supported channel or to
define a workflow or data-table prerequisite that the orchestrator must create.
Only ask about the channel after list-agent-capabilities shows that the
requested channel is unsupported. Do not collect model, service, tool, topic,
schedule, credential, or other Agent implementation choices first. The embedded
Agent Builder asks those questions through the build-agent call.
When the conversation opens from an existing Agent in the editor and the user
asks to change its configuration or capabilities, that is an agent-anchored
request — target that Agent and call build-agent. Do not reroute to
workflow-builder, and do not spawn a workflow to satisfy a capability change
on the Agent.
Supported channels & unsupported requests
list-agent-capabilities returns every chat channel n8n Agents support, each
with capabilities, useIntegrationWhen, and useNodeToolWhen. It is the
authoritative source the orchestrator can read before building; a channel
absent from its result is unsupported for agents.
When the user asks for a channel that is not supported (e.g. WhatsApp,
Microsoft Teams), do not forward it to the builder as a channel to configure
and do not fake it by adding the platform as an agent tool. Explain the channel
is unsupported for agents, offer the supported alternatives, and ask which to
use — or whether the user explicitly wants that unsupported platform as the
conversation surface, in which case offer the agent-entrypoint workflow
bridge described in Prerequisites (it connects the platform trigger to Message
an Agent; it is not a channel config). Only forward a channel to build-agent
once it is a supported type or the user has chosen an alternative.
Faithful handoff
Treat message as a faithful handoff of the user's request, not an Agent build
specification authored by you. Forward the user's wording as close to verbatim
as possible. Include only:
- Requirements, constraints, and implementation choices the user explicitly stated.
- Explicit answers or decisions from earlier turns that are necessary for the current request.
- Prerequisite workflows or data tables you created for this Agent.
Never infer, invent, expand, recommend, or prescribe implementation details the user did not request, and never present your assumptions as user requirements. In particular, do not choose or tell the builder which model, instructions, tools, tool types, integrations, channels, MCP servers, workflows, skills, tasks, memory, credentials, triggers, schedules, approvals, or test strategy to use.
Do not translate an outcome or named service into a specific implementation. For example, forward "a Slack agent that says hello to me" without turning it into a request for a Slack node tool. Preserve unspecified and ambiguous implementation details so the builder can resolve them with its own guidance and interactive tools.
Prerequisites
Before the first build-agent call, create prerequisites the builder cannot
create when they must be attached to or used by the Agent:
- Create a workflow tool only when one Agent tool call must run an ordered
multi-node procedure, or when the user explicitly needs that workflow to be
reusable, manually callable, or usable outside the Agent. Follow
workflow-builder, then pass the built workflow inworkflowContext. - When the Agent will store or query tabular data, follow
data-table-managerand create the required tables viadata-tables. The builder cannot create tables.
List prerequisite names and schemas in message. Let the builder gather the
remaining Agent-specific requirements, including model, credentials,
integrations, and direct tools.
build-agent can return structured requiredArtifacts when the embedded
builder discovers something Instance AI must create:
- For a workflow with
relationship: "agent-tool", build it, pass it inworkflowContext, and callbuild-agentagain so the builder can attach it. - For a workflow with
relationship: "agent-entrypoint", build it after the Agent exists, using the returnedagentId. This workflow invokes the Agent; never pass it inworkflowContext, never attach it to the Agent as a tool, and do not callbuild-agentagain solely to attach it. - For a data table, create it and call
build-agentagain with its name and schema inmessage.
For an unsupported chat channel, an agent-entrypoint workflow should connect
the platform trigger to Message an Agent, map the incoming message, use a
stable platform conversation/sender identifier as the custom session key, and
send the Agent's text response through the platform. Native Agent channels do
not need this wrapper.
If an older builder only lists missing workflows or tables in builderReply,
handle them the same way based on whether the workflow calls the Agent or is
called by the Agent. Never ask the user to create prerequisites manually.
Targeting across turns
Address Agents in this conversation with agentRef, a short stable key similar
to a workflow filePath.
- For the first Agent, pass a fresh
agentRefandname. - Reuse that
agentRefon later calls. Calls with neitheragentRefnoragentIdcontinue editing the current Agent. - To build an additional Agent, pass
createNew: truewith a differentagentRefandname. - To edit an Agent not built in this conversation, pass its
agentIdonce, optionally with anagentRef, then prefer the returnedagentRef.
Naming or renaming the current Agent never silently creates another one.
Saved sub-agent dependencies
When the user asks for an Agent that uses other newly built Agents as saved sub-agents:
- Build each child Agent under its own
agentRefbefore attaching it to the parent. - Call
build-agentfor the parent and identify the child by its display name. The parent builder must discover the saved child and map its name to the valid stored ID. Do not pass a rawagentIdas a user requirement. - Publication is not required for saved sub-agent delegation. Forward publication intent only when the user explicitly asks to publish or activate an Agent.
Builder-owned interactions
When the user asks to test, run, publish, activate, make usable, unpublish, or
otherwise change the Agent, forward that intent in message. The builder owns
its internal testing tools; do not conclude testing is unavailable because
those tools do not appear in your toolset.
When the builder needs a user choice, credential, chat channel, or approval, it
surfaces an interactive card in this chat. Do not relay the question yourself;
the build-agent call resumes with the user's answer.
Discovery context
Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.