Skip to content

SkillsCapability

A Capability is a self-contained unit of agent behavior that exposes its features as tools and prompt sections. Any LLM backend that supports tool calling can drive it.

The Capability interface follows the Component pattern: each feature (flows, triage, extraction, handoffs, guardrails) is a capability that plugs into a CapabilityHost. The host collects tools, builds prompts, and routes tool results — the LLM backend is irrelevant.

new SkillsCapability(store, metas): SkillsCapability;
Parameter Type

store

SkillStoreLike

metas

SkillMeta[]

SkillsCapability

getPromptSections(): CapabilityPromptSection[];

What does this capability contribute to the system prompt?

CapabilityPromptSection[]

Capability.getPromptSections


getTools(): ToolDeclaration<unknown, unknown>[];

What tools does this capability expose for the current state?

ToolDeclaration<unknown, unknown>[]

Capability.getTools


processToolResult(
_toolName,
_args,
_result): CapabilityAction | null;

A tool was called and executed. Does this capability handle the result?

Parameter Type

_toolName

string

_args

unknown

_result

unknown

CapabilityAction | null

An action telling the host what to do, or null if this capability doesn’t handle this tool.

Capability.processToolResult