A repository for sharing and collaboration for third-party Mycroft skills development. This is a place to publish complete Skills and learn Skill writing as well as share best practices.
You can visit the new HTML version of this document at https://mycroftai.github.io/mycroft-skills/
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 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" |
Mark-1 Demo | Demonstration of Mark 1 |
Media | Multimedia Control"play", "pause", "next track" |
Naptime | Put Mycroft to sleep"go to sleep" |
NPR News | Listen to the news from NPR"news" "stop news" |
Pairing | Pair Mycroft with home.mycroft.ai"pair my device" |
Personal | Learn about Mycroft"what are you" |
Playback Control | Control audio subsystem"play" |
Reminder | Reminders to do something"remind me to turn off the oven in 5 minutes" |
Speak | Repeat anything"say open source AI" |
Singing | Sing some Songs"sing a song" |
Stock | Stock prices"stock price of google" |
Stop | Stop running skills"stop" |
Version Checker | Find the version of mycroft-core"check version" |
Volume | Increases or Decreases/Mutes Volume"reduce volume" |
Weather | Current Weather and Forecasts"what is the weather" |
Wiki | Wikipedia queries"tell me about AI" |
Platform Patch | Patching for official platforms"platform patch" |
If you want to submit a skill, simply make a repo for it organized
as the template above. How To Make a Repo
Clone the mycroft-skills repo to a local directory, How To Clone if you are unfamiliar with the process.
To get the skill added, generate the Readme file using the Meta Editor You will fill out all the relative fields and it will give you the Markdown to put into your README.md file.
Next we need to add the submodule for your skill. For more help, feel free to check out this guide
Or, type the following in the terminal of your clone of the Skills-repo.
git submodule add $remote $name-your-skill
Where $remote is the git address for your repo (example https://github.com/mycroftai/skill-configuration) and $name-your-skill is what you want to name it. In general, we normally use BLANK-skill as a format for skill names.
This should have edited the .gitmodule file and added something similar to the bottom of the file:
+[submodule "NAME OF YOUR SKILL"]
+ path = name-of-your-skill-skill
+ url = URL.FOR.YOUR.SKILL.git
Modify the table section to include the direct link to your repo like the following example including the break tag and the phrase to 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```
Ensure to put a proper status as well from the list below:
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!
Once you've got your repo organized properly, submit the PR consisting of the following:
- Ensure you use Meta Editor to create your standardized README.md file
- The URL of your repo
- A short name for the skill
- A one sentence description of what it does
- The development status of the skill (under construction or working)
To make your skill capable of being installed via MSM (the Mycroft Skill Manager) you need two additional files.
- requirements.txt
- requirements.sh requirements.txt is a list of all pip libraries your skill needs (if any). requirements.sh is a shell script that executes and installs package dependancies your skill needs (if any). So, if you need a specific pip library installed, like gensim, you can have it automatically installed in the correct vm using msm. This requirements.txt file would look like this:
gensim
That's it!
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 the location of the skill, we are doing away with the wiki pages. Also please include the phrase to trigger on as well for your skill.
Status | Skill Name | Description"phrase to trigger" |
---|---|---|
❓ | amarok-media-player-skill | Player controls for the Amarok Media Player"amarok play/stop/next/previous music" |
✔️ | autogui-skill | Manipulate your mouse and keyboard with Mycroft |
❓ | audio-control-plasma | Audio control for Plasma Desktop"increase volume to maximum", "decrease microphone to minimum volume" |
✔️ | basichelp | Get basic mycroft questions and help answered"where is the documentation", "how do I install from source" |
❓ | bioinformatics | Adds Bio-Linux Commands to Mycroft |
❓ | bitcoin | Check the price of bitcoin |
🚧 | bitcoin-price | Checks the price of bitcoin |
🚧 | brain-skill | Chain intents and provide some services |
❓ | cbc-news-skill | Fetches CBC News Podcast |
❓ | clarifai-image-recognition-skill | Image recognition skill based on clarifai"search image url [imagelocation]" |
❓ | clementine-player-skill | Controls your clementine-player localy. A fork from amarok-player. |
❓ | cleverbot-skill | cleverbot api fallback skill |
✔️ | coin-flip-skill | Flip a virtual coin |
❓ | daily-meditation | Plays your Daily Meditation from the Meditation Podcast |
🚧 | deepdream_skill | Adds Deepdreaming image converstion to Mycroft |
❓ | diagnostics | Diagnostic tools (CPU %age, free space, etc) |
🚧 | dice-roll | Rolls dice spoken in RPG notation. |
❓ | domoticz_skill | Skill integrating Mycroft with Domoticz |
❓ | drive_servos | Control Hacked-Servo-Engines to make your mycroft move around |
✔️ | easter-eggs | Pop culture references and other easter eggs |
❓ | earth-orbit-pic-skill | Earth orbit picture skill |
💀 | enhanced-bitcoin-skill | Enhanced bitcoin skill from api.bitcoinaverage.com |
🚧 | Generates posts for Facebook | |
🚧 | facebook-marketing | Works with Facebook Marketing API |
❓ | feedback-skill | triggers positive feedback intent -> calls feedback method on last active skill |
❓ | fox-news-skill | Fetches Fox News Podcast |
❓ | google-calendar | Check and add google calendar events |
❓ | google-gmail | Get emails from your Gmail Inbox |
❓ | google-image-search | Search google images for search term and display |
❓ | google-translate | Translate English phrases into other languages |
🚧 | gpio-example | Example skill using the GPIO pins on the Raspberry Pi to blink an LED |
❓ | hue | Control your Phillips Hue lights |
✔️ | home-assistant | Control your devices in home-assistant"turn on office" |
❓ | irsend | Control devices via lirc's irsend |
❓ | jb-podcasts | Play podcasts from Jupiter Broadcasting shows |
❓ | krunner-search | Search local KDE desktop for files, images, recent documents, bookmarks"search this computer for [any keyword]" |
❓ | kodi-cadair | Kodi playback and search |
❓ | kodi-cbenning | Control a local or remote Kodi instance |
❓ | kodi-k3yb0ardn1nja | Play or pause a Kodi video |
❓ | let's-talk-skill | More salutations |
❓ | lottery-skill | Reads Euromillion Lottery Numbers |
❓ | media-console-control | Adds media controls that are mapped to console commands |
❓ | metal-band-skill | Recommends a metal band and gives basic information |
🚧 | milight | Lighting control using MiLight |
❓ | mopidy | Mopidy-based players for local music, Google Music, and Spotify |
🚧 | mopidy-and-bt-lights | Remote control of BT lights and Mopidy music playback |
❓ | mopidy-media-player | Mopidy-based players for local MP3 library, Spotify and a Swedish radio station's stream |
❓ | movie-recommendation-skill | Recomends a movie |
✔️ | mp3-demo | Simple sample of playing local MP3s |
❓ | mpd-control | Controls media players that use the MPD protocol to play found local music |
❓ | mqtt | Control IoT devices (home automation) using MQTT protocol |
❓ | mute-skill | Mutes Mycroft until re-enabled |
❓ | nasa-picture-of-the-day | Nasa picture of the day from the NASA API |
❓ | near-earth-orbit-skill | Near Earth orbit alert skill via the NASA API |
🚧 | objective-skill | skills can now register objectives almost the same has an intent would be registered with ObjectiveBuilder class |
🚧 | openhab-skill | This skill adds Openhab support to Mycroft |
❓ | pandora-skill | Adds Pandora to mycroft via Pianobar |
❓ | photolocation-skill | Searches wikimedia for photos of location |
❓ | pickup-line-skill | Responds with random nerdy pick-up lines |
✔️ | ping-skill | Pings websites and responds with latency time |
❓ | plasma-activities-skill | This skill integrates Plasma 5 Activities with Mycroft"show activities / switch activity [name]" |
❓ | plasma-sendsms-skill | Send SMS through KDE Plasma"send a sms" |
❓ | plasma-user-control-skill | This skills adds Plasma User control to Mycroft, allowing switch user, logout, and lock screen"switch user/logout/lock screen" |
❓ | poetry-skill | Reads poetry based on Hidden Markov Models |
❓ | proxy-scrape-skill | Scrape proxies from the internet |
❓ | pushbullet | Send messsages and photos using Pushbullet |
❓ | pushetta-skill | Adds push notifications |
❓ | quodlibet | Control Quod Libet music playback |
❓ | random-quote-skill | Adds random quotes,random facts about numbers, and your time left to live |
❓ | ratp-timetables | Access schedules for the RATP Network of trains and buses in Paris |
🚧 | read-article-skill | Scrapes text from online articles and reads them to you. |
❓ | rss-skill | Fetches from RSS feed |
🚧 | sentiment-analysis-skill | Sentiment analysis |
❓ | spaceflight-schedule | Check when the next space flight launch is |
✔️ | skill-radio-rne | Spanish news radio Radio Nacional de Espa?a RNE. |
❓ | spacelaunch-skill | Check when the next space launch is |
❓ | speedtest | Run a speedtest |
❓ | slack-skill | Allows to post and listen to Slack messages. |
❓ | sunspot-skill | Answers questions on daily sunspots |
❓ | sun-skill | Responds with sunrise and set times |
❓ | system-skill | Adds system controls like shutdown and reboot |
❓ | take_picture | Take Pictures using the Raspberry Pi Camera |
❓ | traffic-skill | Gets the commute time from Google distance matrix api |
✔️ | twitter-skill | Control twitter with mycroft"How many twitter followers do I have" |
❓ | unsplash-wallpaper-plasma-skill | Change KDE Desktop wallpaper by category type from unsplash"change wallpaper type [nature\abstract\any]" |
🚧 | wallpaper-skill | Downloads wallpapers from reddit and changes randomly |
❓ | wemo-skill | Control Wemo devices with mycroft |
🚧 | wifi-management-skill | Various options for interacting with WiFi |
🚧 | wink-smart-home | Interact with lights via a Wink-hub |
❓ | wiki-fact-scraper-skill | Scrapes for random facts from wikipedia and stores locally |
❓ | youtube | Search and listen to a youtube video |
❓ | release-test | test mycroft release |