Mycroft can't find skills

Hi!

So, I’m back… I just got a new Raspberry so I decided to install Picroft on it, this is a much better solution than the old laptop I tested it on a few months back…

It is running basically fine, except I can’t install most of the skills which are in the official repo (https://mycroft.ai/documentation/skills/) as for 90% of them Mycroft tells me there is no such skill… And indeed, msm only lists a few:

mycroft-spelling        [installed]
mycroft-audio-record    [installed]
mycroft-joke    [installed]
mycroft-timer   [installed]
mycroft-installer       [installed]
fallback-wolfram-alpha  [installed]
mycroft-singing [installed]
mycroft-naptime [installed]
fallback-aiml   [installed]
mycroft-weather [installed]
mycroft-hello-world     [installed]
mycroft-configuration   [installed]
cocktails       [installed]
mycroft-speak   [installed]
mycroft-volume  [installed]
mycroft-date-time       [installed]
mycroft-alarm   [installed]
mycroft-npr-news        [installed]
mycroft-fallback-duck-duck-go   [installed]
mycroft-version-checker [installed]
mycroft-stop    [installed]
mycroft-stock   [installed]
mycroft-support-helper  [installed]
mycroft-pairing [installed]
mycroft-reminder        [installed]
fallback-unknown        [installed]
mycroft-wiki    [installed]
mycroft-ip      [installed]
skill-desktop-launcher  [installed]
mycroft-playback-control        [installed]
mycroft-personal        [installed]
game-zork
mycroft-spotify
mycroft-release-test
mycroft-pandora
mycroft-mark-1
mycroft-mark-1-demo

I feel like it is not getting them from the proper repository… Any idea on how I can fix that?

Thank you.

Hi there and welcome back @Old-Lodge-Skins, great to see you around again.

So that I can help you better, can you let me know;

  • Which Picroft image you’ve used - is it the stable image or the unstable image?
  • What approach are you using to install Skills - is it msm or are you using voice-based install?

Best, Kathy

Hi Kathy
I used the latest stable image from a couple of days ago. I did try the stretch version at first but I had some problems with it and I don’t need to run Mycroft on a pi 3b+ anyway, only a 3b, so I went back to the stable one.
So far I can only install skills by doing msm install url-to-the-git-repo - which works just fine. By voice or with msm install name-of-the-skill, it’s like the skill does not exist at all.
It’s ok though as I have managed to install everything I needed… It’s just strange.

OK, thanks for checking that for me.

Are there any messages in the Skills log at; /var/log/mycroft-skills.log that indicate what the issue might be?

This is just after asking Mycroft to install CaffeineWiz and it replied “I didn’t find any skill named CaffeineWiz”

pi@picroft:~ $ tail -n 30 /var/log/mycroft-skills.log
16:53:43.463 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-support-helper.mycroftai, universal_newlines=False, shell=None)
16:53:43.495 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-pairing.mycroftai, universal_newlines=False, shell=None)
16:53:43.530 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-reminder.mycroftai, universal_newlines=False, shell=None)
16:53:43.562 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/avmusic.reginaneon, universal_newlines=False, shell=None)
16:53:43.598 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/fallback-unknown.mycroftai, universal_newlines=False, shell=None)
16:53:43.640 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-wiki.mycroftai, universal_newlines=False, shell=None)
16:53:43.671 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-homeassistant, universal_newlines=False, shell=None)
16:53:43.705 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-ip.mycroftai, universal_newlines=False, shell=None)
16:53:43.742 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/skill-desktop-launcher, universal_newlines=False, shell=None)
16:53:43.778 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-playback-control.mycroftai, universal_newlines=False, shell=None)
16:53:43.814 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-personal.mycroftai, universal_newlines=False, shell=None)
16:53:43.904 - msm.mycroft_skills_manager - INFO - Best match (0.25): avmusic.reginaneon by reginaneon
16:53:43.909 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:53:43.945 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill
16:53:43.961 - SkillInstallerSkill - ERROR - Msm failed: SkillNotFound(caffeine with)
16:53:43.983 - SKILLS - DEBUG - {"type": "speak", "context": {"client_name": "mycroft_listener", "ident": "1537116817.8736007-1298551586"}, "data": {"expect_response": false, "utterance": "I didn't find any skill name caffeine with."}}
16:53:44.005 - SKILLS - DEBUG - {"type": "mycroft.skill.handler.complete", "context": {"client_name": "mycroft_listener", "ident": "1537116817.8736007-1298551586"}, "data": {"name": "SkillInstallerSkill.install"}}
Checking ['buy some batteries', '20181709-000000--0500']
16:53:44.022 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:53:44.044 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:53:44.054 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:53:44.787 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "POST /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/metric/timing HTTP/1.1" 200 266
16:53:44.810 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "POST /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/metric/timing HTTP/1.1" 200 265
16:53:44.898 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "POST /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/metric/timing HTTP/1.1" 200 267
16:53:45.998 - mycroft.skills.settings:_request_my_settings:493 - DEBUG - getting skill settings from server for NewsSkill
16:53:46.012 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:53:46.462 - SKILLS - DEBUG - {"type": "enclosure.eyes.blink", "data": {"side": "b"}, "context": null}
16:53:46.487 - SKILLS - DEBUG - {"type": "recognizer_loop:audio_output_start", "data": {}, "context": null}
16:53:46.798 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:53:46.832 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill

I can see that it understood “Caffeine with”… Let me t ry again directly with msm.

pi@picroft:~ $ msm install CaffeineWiz
INFO - Best match (0.26): avmusic.reginaneon by reginaneon
SkillNotFound: CaffeineWiz
pi@picroft:~ $ tail -n 30 /var/log/mycroft-skills.log
16:55:44.037 - mycroft.skills.settings:_request_my_settings:493 - DEBUG - getting skill settings from server for TimeSkill
16:55:44.048 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:44.782 - mycroft.skills.settings:_request_my_settings:493 - DEBUG - getting skill settings from server for AlarmSkill
16:55:44.793 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:44.796 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:55:44.827 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill
16:55:45.512 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:55:45.537 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill
16:55:47.632 - mycroft.skills.settings:_request_my_settings:493 - DEBUG - getting skill settings from server for NewsSkill
16:55:47.643 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:48.373 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:55:48.403 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill
16:55:50.027 - SKILLS - DEBUG - {"type": "mycroft-date-time.mycroftai:TimeSkillupdate_display", "context": null, "data": {}}
16:55:52.718 - mycroft.skills.settings:_request_my_settings:493 - DEBUG - getting skill settings from server for HomeAssistantSkill
16:55:52.732 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:53.042 - SKILLS - DEBUG - {"type": "mycroft-configuration.mycroftai:ConfigurationSkillupdate_remote", "context": null, "data": "UpdateRemote"}
16:55:53.059 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:53.494 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:55:53.527 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill
16:55:53.799 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/setting HTTP/1.1" 304 0
16:55:53.828 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/setting
16:55:53.840 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:54.477 - mycroft.skills.settings:_request_my_settings:493 - DEBUG - getting skill settings from server for HomeAssistantSkill
16:55:54.489 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
16:55:54.597 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/location HTTP/1.1" 304 0
16:55:54.623 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/location
16:55:55.216 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill HTTP/1.1" 304 0
16:55:55.241 - mycroft.api:send:111 - DEBUG - Etag matched. Nothing changed for: device/d80d9604-092f-4ef9-9050-91fe2951b82d/skill
16:56:00.048 - SKILLS - DEBUG - {"type": "mycroft-date-time.mycroftai:TimeSkillupdate_display", "context": null, "data": {}}
16:56:06.061 - SKILLS - DEBUG - {"type": "mycroft-reminder.mycroftai:reminder", "context": null, "data": {}}

OK, I think the issue here is that you need to be in the Virtual Environment first before using msm. The Virtual Environment ensures that all the Skill dependencies are installed so that the Skill functions correctly.

mycroft-core$ source /opt/venvs/mycroft-core/bin/activate

You can then run msm:

(venv) $ msm install MYSKILL

Can you please let me know if this works?

pi@picroft:~ $ source /opt/venvs/mycroft-core/bin/activate
(mycroft-core) pi@picroft:~ $ msm install CaffeineWiz
WARNING - Failed to update repo: GitException(Git command failed: GitCommandError(['git', 'config', 'remote.origin.url', 'https://github.com/MycroftAI/mycroft-skills'], 255, b'error: could not lock config file .git/config: Permission denied', b''))
INFO - Best match (0.26): avmusic.reginaneon by reginaneon
SkillNotFound: CaffeineWiz

OK, it seems like CaffeineWiz is not in the mycroft-skills repo. Have you tried installing using the URL of the Git repository?