Mycroft Community Forum

What happened to my skills?

I’ve just returned to Mycroft after an unexpected break from tinkering.

Yesterday I fired up Mycroft, it updated to the latest version, I re-added my device to my account and this morning when testing things seemed to be working.

I could turn on my lights via HA, Wikipedia was working, life was generally good :slight_smile:

I had an old install of TuneIn which I tried to remove from the cli with msm uninstall TuneIn but that returned an error saying the skill could not be found. I checked the skill list in my account on Mycroft.ai and it was still there so I set about trying to figure out how to remove the skill.

I didn’t get to far before things at work went sideways. so after righting things I popped on briefly to install the Kodi skill and was shocked to see that my account was listing just 3 Skills (Better Joke, TuneIn, and Unit Convertor).

I came home and scraped a screenshot of my old skills list (attached) so
a) I knew what I had installed and
b) that you would think I’m crazy.

Is there a simple reason why my skills are missing? I tried the HA skill and the Wikipedia skill from the CLI and they are working…

Hi,

I can’t see any screenshot, is this in the skills page on mycroft home or is it in the Marketplace?

Ah nuts I forgot to attach the screen shot.

The skills that are installed on my Picroft device are missing from the Skill page on mycroft home.

It is sort of strange,

on the unstable branch (dev) we had an issue (resolved this monday) which hindered skills settingsmeta to be uploaded to the backend but the skills should still show on the page (but without settings).

Well if it’s strange it’ll happen to me.

The only skills listed on my Skills page are: Better Joke, TuneIn, and Unit Convertor.

On the Market place the skills with a green check are:
Device Configuration, Device IP Address, Installer, Mycroft Mark 1, Mycroft Mark 2, Pairing, Support, System, Unknown Handler, Version Checker, Volume Control, Speak, Query, and Playback Control.

If there is a way to get a list of installed skills from the device I’d be happy to get them. I can also supply logs.

In the mycroft cli if you enter :skills a list of currently running skills will be shown

The skills.log would be of particular interest for this.

The Marketplace is semi-broken and can’t really be trusted with regard to what is shown, just use it for information of existing skills.

Here is a list of installed skills that :skills produced:

cocktails.forslund
mycroft-playback-control.mycroftai
dismissal-skill.chancencounter
mycroft-reminder.mycroftai
fallback-query.mycroftai
mycroft-singing.mycroftai
fallback-unknown.mycroftai
mycroft-skill-tunein.johnbartkiw
fallback-wolfram-alpha.mycroftai
mycroft-speak.mycroftai
homeassistant.mycroftai
mycroft-spelling.mycroftai
math-skill.skeledrew
mycroft-stock.mycroftai
mycroft-alarm.mycroftai
mycroft-stop.mycroftai
mycroft-audio-record.mycroftai
mycroft-support-helper.mycroftai
mycroft-configuration.mycroftai
mycroft-timer.mycroftai
mycroft-date-time.mycroftai
mycroft-version-checker.mycroftai
mycroft-fallback-duck-duck-go.mycroftai
mycroft-volume.mycroftai
mycroft-hello-world.mycroftai
mycroft-weather.mycroftai
mycroft-installer.mycroftai
mycroft-wiki.mycroftai
mycroft-ip.mycroftai
skill-better-jokes.tjoen
mycroft-joke.mycroftai
unit-converter-skill.tom-servo
mycroft-naptime.mycroftai
mycroft-npr-news.mycroftai
mycroft-pairing.mycroftai
mycroft-personal.mycroftai

Do you get any error message similar to 'Could not upload skill manifest followed by a stack trace in the skills.log file?

I have this entry in the skill.log file. This entry is quite old, it says Jan 10 2020.

2020-01-10 14:21:36.753 | ERROR | 1005 | mycroft.skills.skill_updater:post_manifest:200 | Could not upload skill manifest
Traceback (most recent call last):
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connection.py”, line 159, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/util/connection.py”, line 80, in create_connection
raise err
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/util/connection.py”, line 70, in create_connection
sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 600, in urlopen
chunked=chunked)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 343, in _make_request
self._validate_conn(conn)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 839, in _validate_conn
conn.connect()
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connection.py”, line 301, in connect
conn = self._new_conn()
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connection.py”, line 164, in _new_conn
(self.host, self.timeout))
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.VerifiedHTTPSConnection object at 0x4a5c61b0>, ‘Connection to api.mycroft.ai timed out. (connect timeout=3.05)’)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/adapters.py”, line 449, in send
timeout=timeout
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/urllib3/util/retry.py”, line 399, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=‘api.mycroft.ai’, port=443): Max retries exceeded with url: /v1/device/7ac6ca5f-9c0b-4b6a-b10a-ced1af1a29d1/skillJson (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x4a5c61b0>, ‘Connection to api.mycroft.ai timed out. (connect timeout=3.05)’))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/pi/mycroft-core/mycroft/skills/skill_updater.py”, line 198, in post_manifest
device_api.upload_skills_data(self.msm.device_skill_state)
File “/home/pi/mycroft-core/mycroft/api/init.py”, line 424, in upload_skills_data
“json”: to_send
File “/home/pi/mycroft-core/mycroft/api/init.py”, line 69, in request
return self.send(params)
File “/home/pi/mycroft-core/mycroft/api/init.py”, line 141, in send
data=data, json=json_body, timeout=(3.05, 15)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/api.py”, line 60, in request
return session.request(method=method, url=url, **kwargs)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/sessions.py”, line 524, in request
resp = self.send(prep, **send_kwargs)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/sessions.py”, line 637, in send
r = adapter.send(request, **kwargs)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/adapters.py”, line 504, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host=‘api.mycroft.ai’, port=443): Max retries exceeded with url: /v1/device/7ac6ca5f-9c0b-4b6a-b10a-ced1af1a29d1/skillJson (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x4a5c61b0>, ‘Connection to api.mycroft.ai timed out. (connect timeout=3.05)’))
2020-01-10 14:21:36.768 | INFO | 1005 | mycroft.skills.skill_updater:_log_next_download_time:248 | Next scheduled skill update: 2020-01-10 15:21:36.762161
2020-01-10 14:21:36.773 | INFO | 1005 | mycroft.skills.skill_updater:update_skills:163 | Skill update complete
2020-01-10 15:21:37.960 | INFO | 1005 | mycroft.skills.skill_updater:update_skills:142 | Beginning skill update…
2020-01-10 15:21:38.220 | INFO | 1005 | msm.mycroft_skills_manager | building SkillEntry objects for all skills
2020-01-10 15:21:40.399 | INFO | 1005 | msm.mycroft_skills_manager | invalidating skills cache
2020-01-10 15:21:45.264 | INFO | 1005 | msm.skill_entry | Nothing new for cocktails

I will note that the last 2 skills I added recently ‘Kodi Control Media Centre Skill (Kodi-skill)’ and 'Mycroft.AI mesh communication skill (Mesh-skill) show up on the Skills page.

The connection error is very interesting and is likely the root cause here. I can’t really say why it occurs though.

And I am a little surprised that the new skills get uploaded.

Something worth trying may be to remove the device on Mycroft home and then do a new pairing

Late last week I had a previously missing skill re-appear in. Of course it’s not one that I use…