from signalwire.core.skill_base import SkillBase
class WeatherSkill(SkillBase):
SKILL_NAME = "weather"
SKILL_DESCRIPTION = "Provides weather information"
@classmethod
def get_parameter_schema(cls):
schema = super().get_parameter_schema()
schema.update({
"units": {
"type": "string",
"description": "Temperature units",
"default": "fahrenheit",
"enum": ["fahrenheit", "celsius"]
},
"api_key": {
"type": "string",
"description": "Weather API key",
"required": True,
"hidden": True,
"env_var": "WEATHER_API_KEY"
}
})
return schema
def setup(self) -> bool:
return True
def register_tools(self):
pass
# Inspect the schema
print(WeatherSkill.get_parameter_schema())
# {'swaig_fields': {...}, 'skip_prompt': {...}, 'units': {...}, 'api_key': {...}}