The official home of skills for the Mycroft ecosystem. These skills are written by both the MycroftAI team and others within the Community. HTML version of this document
Skill Name | Description "handled phrases" |
---|---|
AIML Fallback | AIML skill by JarbasAI |
Alarm | Alarm |
Audio Record | Record and Play Audio"record" |
Configuration | Update Mycroft configuration"configuration update" |
Date Time | Tell the date or time"what time is it" |
Desktop Launcher | Open Applications on Desktop"open firefox" |
DuckDuckGo | Query DuckDuckGo's Instant Answer API for general questions"what is frankenstein" |
Hello World | Hello world and Mycroft manners"how are you" |
IP | Check the device's IP Address"what is your ip address" |
Joke | Tell jokes"tell me a joke" |
Installer | Install skills"install daily meditation" "uninstall skill daily meditation" |
Mark-1 Demo | Demonstration of Mark 1 DEMO from the Mark 1 menu |
Naptime | Put Mycroft to sleep"go to sleep" |
NPR News | Listen to the news from NPR"what's the latest news" |
Pairing | Pair Mycroft with home.mycroft.ai"pair my device" |
Personal | Learn about Mycroft"what are you" |
Playback Control | Control audio subsystem"play", "pause", "next" |
Reminder | Reminders to do something"remind me to turn off the oven in 5 minutes" |
Speak | Repeat anything"say open source AI" |
Singing | Sing a song!"sing a song" |
Stock | Stock prices"what is the stock price of Autodesk" |
Stop | Stop running skills"stop" |
Unknown Fallback | When Mycroft doesn't know an answer or understand a command"green jelly wood" |
Version Checker | Find the version of mycroft-core"check version" |
Volume | Control Volume"turn up the volume", "mute audio" |
Weather | Current Weather and Forecasts"what is the weather" |
Wiki | Wikipedia queries"tell me about AI" |
Wink IoT | Control lights via a Wink hub"turn on the lights" "dim the kitchen light" |
Platform Patch | Patch for official platforms"platform patch" |
Mark 1 settings | Control your Mark 1change eye color to red |
Spotify | Listen to music from your Spotify Premium accountplay discover weekly |
Pandora | Listen to Pandora stationsplay pandora |
Create the skill in a repo under your own Github user account. You can follow the guide at How To Make a Repo, or use the skiller.sh script.
Clone the mycroft-skills repo to a local directory, How To Clone if you are unfamiliar with the process.
git clone https://github.com/MycroftAI/mycroft-skills.git
All skills must have a standard README.md. You can use the Meta Editor to create it.
Add the your skill to this repo as a submodule. You can type the following in the terminal of within your clone of the mycroft-skills repo.
git submodule add $remote $name-of-your-skill
Where $remote
is the git address for your repo (for example "https://github.com/MycroftAI/skill-configuration") and
$name-your-skill
is the name used to install it via MSM or "Hey Mycroft, install ...". The recommended format for skill names is "publisher-descriptive-name", where 'publisher' is a unique name for you or your organization. For example, "penrod-nautical-speed-translator".
When picking a name keep in mind that the installer will match by whole words between the dashes. So if a user says "install speed translator" it will look for all skills in the repo with the words 'speed' AND 'translator'. That means it will find "penrod-nautical-speed-translator" but would not find "abc-nautical-speeds-translator". Make sure the pieces of the name are 'speakable' to allow verbal installs. That means "fubar-v2timer" would be a bad name since you can't speak "v2timer" as a word. A better name would be "fubar-timer-v2" or "fubar-timer-version-2".
The above command should have modified the .gitmodules file and added something similar to the bottom of the file:
+[submodule "NAME-OF-YOUR-SKILL"]
+ path = YOUR-SKILL-REPO (or any unique path withing the mycroft-skills repo)
+ url = https://github.com/USERNAME/YOUR-SKILL-REPO.git
For more help, feel free to check out this guide to working with submodules
Modify the table section below to include the direct link to your repo. Including the break HTML tag and an example phrase or two that trigger your skill:
| :heavy_check_mark: | [home-assistant](https://github.com/btotharye/mycroft-homeassistant#readme)| Control your devices in home-assistant<br>```turn on office``` |
Chose an appropriate status icon from the list below:
Status:
✔️ good working order
🚧 still being developed and not ready for general use (for reference/collaboration)
❓ untested (by us)
💀 Broken, but good for ideas!
Once you've got your local version of the repo organized properly, submit a PR.
To make your skill capable of being installed via MSM (the Mycroft Skill Manager) you can include two additional files.
A list of all Python modules which must be installed for it to work. These will be installed via the Python PIP utility
A script to run that will perform any additional steps needed to prepare the system for your skill. This can include package installations.
Status meaning:
✔️ good working order
🚧 still being developed and not ready for general use (for reference/collaboration)
❓ untested (by us)
💀 Broken, but good for ideas!
For an example pull request , check out this PR
When submitting a skill make sure skill name links to main repo for the skill, we are doing away with wiki pages. Also please include the phrase to trigger on as well for your skill.
Status | Skill Name | Description"phrase to trigger" |
---|---|---|
✔️ | mycroft-hue | Control your Phillips Hue lightsturn on the lights |
✔️ | Homeassistant | Control your devices in home-assistant"turn on office" |