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
        • cleanup
        • defineTool
        • getAgent
        • getConfig
        • getDataMapTools
        • getGlobalData
        • getHints
        • getInstanceKey
        • getParameterSchema
        • getPromptSections
        • getSkillData
        • getSkillNamespace
        • getTools
        • hasAllEnvVars
        • hasAllPackages
        • isInitialized
        • markInitialized
        • setAgent
        • setup
        • updateSkillData
        • validateEnvVars
        • validatePackages
      • SkillManager
      • 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
  • Returns
  • Example
AgentsSkillBase

getInstanceKey

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

getParameterSchema

Next
Built with

Get the unique key used to track this skill instance.

Returns

string — By default, returns this.skillName. Subclasses that support multiple instances typically override this to return a more specific key (e.g., "<skillName>_<toolName>" derived from config).

Example

1class MySkill extends SkillBase {
2 getInstanceKey(): string {
3 const toolName = this.getConfig<string>('tool_name');
4 return toolName ? `${this.skillName}_${toolName}` : this.skillName;
5 }
6}

Instance key behavior:

1import { AgentBase } from '@signalwire/sdk';
2
3const agent = new AgentBase({ name: 'demo' });
4agent.addSkill("notify")
5// Instance key: "notify"
6
7agent.addSkill("notify", {"tool_name": "email"})
8// Instance key: "notify_email"
9
10agent.addSkill("notify", {"tool_name": "sms"})
11// Instance key: "notify_sms"