i think this is ready to release and almost final
https://github.com/JarbasAI/mycroft---objectives-skill
skills can now register objectives almost the same has an intent would be registered with ObjectiveBuilder class
objectives are like a mission, that can be achieved trough various ways (intents), this goes 2 layers deep,
objectives have goals that all lead to objective accomplished, each goal has several ways (intents) of being executed
this is co-existing / dependent on regular intents, but skills can instead implement everything with objectives giving a larger degree of freedom
these are all equiprobable by default (making configurable),
objectives can also be configured and read from .config file , an intent with objective name as keyword will be auto-created
if also implementing a feedback skill
https://github.com/JarbasAI/mycroft-feedback-skill
feedback skill adjusts probabilities for each way executing, so you can "train" mycroft to choosing the correct way trough reinforcement words
examples of training:
user - play chill playlist
mycroft - playing songX
user - awesome
mycroft - probability of choosing songX increased
mycroft - next chill songY playing
user - that was terrible
mycroft - probability of choosing songY decreased
some objectives are coded by default in provided config file example
a test_obj skill is coded to show how to use objective builder
a random wiki objective coded as a skill is also provided that uses objectives as a source of randomness