All nodes/AI/Agent State

Agent Skills

A set of skills for the agent: each skill is a set of instructions in the system prompt. The agent can activate/deactivate skills dynamically. Connected via link_extension.

Agent SkillsTS
Set activeAgent
Skill 1Active

Type in the graph: agent_skills

ToolExecStateful

An error branch can be enabled (expose_error_output) to handle failures on their own path.

Try it

Minimal working workflow

Entry
Agent SkillsTS
Exit
  • Execute + Data
  • Data
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Runs as pasted

When to use it

Skills are for one agent that has to behave differently in different situations, when keeping every instruction in a single system prompt has stopped being workable: refund rules, the tone for a complaint, the order-placement procedure. A skill is a name, a short description and a block of instructions. Only the instructions of enabled skills reach the prompt, and the model can switch them on and off as the conversation goes.

How it works

A <skills> block is added to the system prompt: first an index of every skill with its state and description, then the full text of the enabled ones, then the names of the disabled ones. The model sees what is available and switches with the agent_skill_activate and agent_skill_deactivate tools — it decides by the description, so an empty description all but guarantees the skill is never turned on.

Each skill gets its own Skill N input port, appearing as you add skills. Tools wired into a skill’s port are advertised to the model only while that skill is enabled. That is the real point of the node: not just the instruction text but the set of available tools changes with the mode of work.

Only the on/off flag is persisted between turns, keyed by the skill’s name. Texts, descriptions and wiring are taken from the current configuration every time, so an edited instruction reaches conversations already under way immediately, while the state of the switches is not lost.

The Set active port (revealed by “Set active skills from input”) is gentler than its counterparts on Agent Memory and Agent Plan: it takes a map like {"refunds": true} and flips only the flags of skills matched by name. The library is not replaced, and unknown names are ignored.

Common mistakes

  • Expecting the right skill to switch itself on. The model chooses. If a skill must always apply, leave it active from the start or move its text into the agent’s system prompt.
  • Wiring tools straight to the agent and expecting the skill to hide them. Only tools wired into the skill’s own port are gated.
  • Two skills with the same name. Switching finds the first one; the second stays out of reach.
  • An empty skill list with tools enabled. While the library is empty, the management tools are not advertised at all — the node is on the canvas and has no effect.
  • Wiring the output into the agent’s Memory port. This node connects over an extension link into the Extensions port of AI Agent.

Inputs

PortWirePayloadNotes
Set activeskills_inExecute + Dataexecute_dataobject

shown when overwrite_from_input = true

Skill 1skill_0Extensionlink_extension

Outputs

PortWirePayloadNotes
AgentoutputExtensionlink_extension
Activeskills_outDatadataobject

shown when expose_skills_output = true

Configuration

FieldTypeDefaultDescription
Edit Modeedit_modestringeditor

UI mode for editing skills: json (textarea) or editor (visual form)

Options: json, editor

Enabled Toolsenabled_toolsarray<string>["activate","deactivate"]

Which skill management tools are available to the LLM. Nothing is exposed while the skill list is empty.

Active outputexpose_skills_outputbooleanfalse

Show a data output port that emits the current {skill: active} map.

Expose Tools to LLMexpose_toolsbooleantrue

Allow LLM to call skill management tools (activate/deactivate)

Initial Skillsinitial_skillsarray[]

Initial skills to load (each skill has name, description, prompt, active)

Set active skills from inputoverwrite_from_inputbooleanfalse

Show a skills (ED) input port (a {skill_name: bool} map) whose firing merges the active flags of matching skills, plus a 'History set' exec output that fires once written.

Shared fields

Every node has these three — the platform adds them, not the node author.

  • expose_error_output — When enabled, show an execution output to connect nodes that run if this step fails.