Base classes, decorators, and helpers for building skills and applications for OpenVoiceOS.
pip install ovos-workshopRuntime dependencies include ovos-yes-no-plugin and ovos-option-matcher-fuzzy-plugin, which back the ask_yesno and ask_selection skill methods.
from ovos_workshop.skills.ovos import OVOSSkill
from ovos_workshop.decorators import intent_handler
class HelloWorldSkill(OVOSSkill):
@intent_handler("hello.intent")
def handle_hello(self, message):
self.speak_dialog("hello.response")
def create_skill():
return HelloWorldSkill()Register in pyproject.toml:
[project.entry-points."opm.skills"]
hello-world-skill = "hello_world_skill:HelloWorldSkill"Key settings a skill can accept in its settings.json:
| Key | Default | Description |
|---|---|---|
ask_yesno_plugin |
ovos-solver-yes-no-plugin |
YesNoEngine plugin used by ask_yesno() |
ask_selection_plugin |
ovos-option-matcher-fuzzy-plugin |
OptionMatcherEngine plugin used by ask_selection() |
Both keys can also be set system-wide under the skills block in mycroft.conf.
Full reference is in docs/:
- Skill classes
- OVOSSkill base class
- ask_yesno / ask_selection plugin system
- Decorators
- Settings
- Resource files
Apache 2.0