For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
      • AgentServer
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions & Utilities
      • LiveWire
      • PomBuilder
      • Prefabs
      • SkillBase
      • SkillManager
        • addSkill
        • clear
        • getAllHints
        • getAllPromptSections
        • getAllTools
        • getLoadedSkillEntries
        • getMergedGlobalData
        • getSkill
        • hasSkill
        • hasSkillByKey
        • listSkillKeys
        • listSkills
        • loadedSkills
        • loadSkill
        • loadSkillByName
        • removeSkill
        • removeSkillByName
      • SkillRegistry
      • Skills
      • SwaigFunction
      • SwmlBuilder
      • SWMLService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • ChatResource
      • Compat
      • Datasphere
      • Fabric
      • ImportedNumbersResource
      • Logs
      • LookupResource
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSubResource
      • Queues
      • Recordings
      • Registry
      • RestClient
      • RestError
      • Short Codes
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Properties
  • Methods
  • Example
Agents

SkillManager

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

addSkill

Next
Built with

SkillManager handles loading, unloading, validation, and aggregation of skill tools, hints, global data, and prompt sections. You rarely interact with SkillManager directly — AgentBase delegates to it internally. Import it when you need direct control over skill lifecycle outside an agent.

1import { SkillManager } from '@signalwire/sdk';

Most users should use AgentBase.addSkill(), AgentBase.removeSkill(), and AgentBase.listSkills() instead of interacting with SkillManager directly.

Properties

size
number

The number of currently loaded skill instances (getter).

Methods

addSkill

Add and initialize a skill instance (fails closed).

loadSkill

Instantiate a skill class and add it; returns [ok, error].

loadSkillByName

Look up a skill by name in the global registry and add it.

removeSkill

Remove a skill by key or ID.

removeSkillByName

Remove all instances of a named skill.

hasSkill

Check if any skill with the given name is loaded.

hasSkillByKey

Check if a skill with the given instance key is loaded.

listSkillKeys

List instance keys of all loaded skills.

getSkill

Get a skill instance by key or ID.

listSkills

List all loaded skill instances.

getAllTools

Aggregate tool definitions from all skills.

getAllPromptSections

Aggregate prompt sections from all skills.

getAllHints

Aggregate speech recognition hints.

getMergedGlobalData

Merge global data from all skills.

getLoadedSkillEntries

Get metadata for all loaded skills.

clear

Remove all skills.

loadedSkills

Read-only map of loaded skill instances (getter).

Example

1import { SkillManager, DateTimeSkill, MathSkill } from '@signalwire/sdk';
2
3const manager = new SkillManager();
4await manager.addSkill(new DateTimeSkill());
5await manager.addSkill(new MathSkill());
6console.log(`${manager.size} skills loaded`);
7console.log(manager.listSkills());