Hey Guys, thanks for the excitement!
To answer I think both your question, Mycroft proper has a concept of skills, or “things I can do”, and the invocation of those skills is an intent. The intent parser will be defined by the skill developer. There will be some skills/intents that are part of Mycroft proper, and there will be some platform level intents (telling mycroft to go to sleep, for example). The rest of the intents will be defined by developers, and mycroft will make a best-effort to determine the appropriate intent for a given query, and route it back to the skill that registered the intent parser.
As for public-domain or out-of-box intents, I’ve been thinking about that a bit today. Right now, the samples are all we’ve given to the world, and we expect people to create their own and populate them with data as they see fit. I imagine some datasets will be dynamically created/maintained at runtime (think the list of a user’s pandora stations), and others will be static (like a list of US Cities, or top 100 business names). Some of these I can imagine Mycroft maintaining for the public, though your mileage will vary based on the skill/application you are developing.
If there’s interest, I think we could start corralling a set of public intents/vocabulary as part of adapt-intent-* projects, release/manage them independently, and allow for end developers to have an experience like the following:
pip install adapt-parser adapt-intents-music
adapt-vocab-downloader music en-US
and then start developing against a populated intent parser.
Thoughts on this?


