AgentsSkills

Custom Skills

View as MarkdownOpen in Claude

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.