Skill fail to load

2019-10-04 16:40:30.321 | INFO | 10169 | mycroft.skills.skill_loader:load:115 | ATTEMPTING TO LOAD SKILL: useridentification-skill
2019-10-04 16:40:30.322 | ERROR | 10169 | mycroft.skills.skill_loader:_communicate_load_status:280 | Skill useridentification-skill failed to load
2019-10-04 16:40:47.182 | INFO | 10169 | mycroft.skills.settings:_emit_settings_change_events:402 | Emitting skill.settings.change event for skill @db4d2aa1-2b8a-460b-8b31-d867ee5c45d2|useridentification-skill

These is from the skill.log file.
Does anyone know how to help?

Thank you

Is that your own skill, do you have a link to the skills repository?

It is my own skill.
Do you mean the github link?
It is https://github.com/alonyomtov123/useridentification-skill

Thank you

Hey there,

It looks like your create_skill() function is indented so that it’s contained within your Useridentification class rather than being called. So you want to shift that all the way to the end, and make sure it’s got no spacing before the definition. It should be:

def create_skill():
    return Useridentification()

rather than:

    def create_skill():
        return Useridentification()

Same with any of the other functions you don’t want scoped within the your Skill’s class.

If they are contained within the Useridentification class then they need a first argument of self as you have with signIn. To call this method, you would use self.signIn(userId, name)

If they are not methods of that class, they don’t need self and are called simply as voiceFound(wavFilePath)

To see another Skill declaring functions outside the Skill’s class, checkout the IP Skill