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
      • BedrockAgent
      • CLI Tools
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions
      • LiveWire
      • MCP Gateway
      • PomBuilder
      • Prefabs
      • Search
      • SkillBase
      • Skills
        • api_ninjas_trivia
        • claude_skills
        • Custom Skills
        • datasphere
        • datasphere_serverless
        • datetime
        • google_maps
        • info_gatherer
        • joke
        • math
        • mcp_gateway
        • native_vector_search
        • play_background_file
        • spider
        • swml_transfer
        • weather_api
        • web_search
        • wikipedia_search
      • SWAIGFunction
      • SWMLBuilder
      • SWMLService
      • WebService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • Chat
      • Compat
      • Datasphere
      • Fabric
      • Imported Numbers
      • Logs
      • Lookup
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSub
      • Queues
      • Recordings
      • Registry
      • RestClient
      • Short Codes
      • SignalWireRestError
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • External Directory
  • Entry Points
  • Listing Available Skills
AgentsSkills

Custom Skills

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

datasphere

Next
Built with

You can create custom skills and register them from external directories or via pip packages.

External Directory

1from signalwire.skills.registry import skill_registry
2
3skill_registry.add_skill_directory("/opt/custom_skills")

Or set the SIGNALWIRE_SKILL_PATHS environment variable (colon-separated paths):

$export SIGNALWIRE_SKILL_PATHS=/path/to/skills1:/path/to/skills2

Entry Points

Install skills as pip packages by defining entry points:

1# In setup.py
2setup(
3 name="my-skills-package",
4 entry_points={
5 "signalwire.skills": [
6 "weather = my_package.skills:WeatherSkill",
7 "stock = my_package.skills:StockSkill"
8 ]
9 }
10)

Entry-point skills cannot override built-in skills. If an entry-point skill uses the same SKILL_NAME as a built-in skill, it is skipped with an error log.

Listing Available Skills

1from signalwire.skills.registry import skill_registry
2
3# List all available skills
4skills = skill_registry.list_skills()
5for skill in skills:
6 print(f"{skill['name']}: {skill['description']}")
7
8# Get complete schema for all skills (includes parameters)
9schema = skill_registry.get_all_skills_schema()

For creating custom skills, see SkillBase.