When using mycroft he sometimes tells me that he cant do or answer what I ask of him. He then tells me that he i learning new things every day.
Would i be perfect if he also could tell what skill maybe could help in this situation ?
Like if you ask mycroft to count down from 10 he cant do that. But then he asnwered something like
“I cant do that but I am learning new things every day. If you ask me to install count skill I would be able to countdown from 10”
What third party services, data sets or platforms will the Skill interact with? Needs to connect to GitHub and traverse all skills for what they can do.
Are there similar Mycroft Skills already? i dont think I found any
This would be a way to tell users that there were skills that they could benefit from.
The skill could traverse all skills in repo, and get their intents files and from that figure out if one or more skills could be relevant to tell user about.
Both of these Skills are great suggestions - essentially what you’re both looking for here is a smarter “Fallback Skill”. A Fallback triggers when none of the Intents that are currently registered can handle the Utterance that has been spoken.
There is currently an order of precedence with Fallbacks (which I can’t remember off the top of my head).
How do you envisage the Fallback working - would it be something like the CommonPlay Framework that associated weights to various phrases?
That help skill looks good, I’ll try it out. That solves half of the issue for this topic.
A Voice UI for Mycroft via Persona would be interesting and could include this help skill. I’ve been thinking about how to croudsource multi-turn/nonlinear dialogue for Mycroft. There are techniques and software used for planning dialogue in video games (think Fallout). Chatmapper http://www.chatmapper.com is one package but I’m sure there are others, it could be a simple mindmap. If something like this could be hosted at http://mycroft.ai Mycroft would quickly have a personality and a Voice UI.
Suggesting dialogue for Mycroft is something every user could do.
I also imagine this being a fallback skill but also using the sample utterances provide in the Mycroft skills data repo to match utterances to uninstalled skills. When the skill finds a skill that matches, it will install that skill.
I added fuzzy matching so that it will match the skill even if you’ve not said exactly what an example is.
@mycroft This skill is a fallback skill, which picks up any phrase not matched by the intent matcher, while the help skill by @pcwii is a regular skill which picks up utterances with “help” in them. These shouldn’t probably merged, however I could see if you ask the help skill something it doesn’t know, it could “call” to this skill to search or download (or the help skill could do this too). Here is a pr in Mycroft-core that could allow this:
Finally, once I get the tests figured out, I’ll submit this to the skills repo next week!
@brrn sounds great. I could see some kind of built in/user configured threshold, maybe 2-3 intent failures before making a recommendation. One intent failure then a correction from Mycroft might be a little caddy/sassy/cheeky. Maybe even a mode selection i.e. new user, novice mode to help users get familiar with installed stock skills + number intent failures and a discovery mode to just recommend new skills. QA and feedback would be needed to flush this out though.