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.
If you want to submit a skill, simply make a repo for it organized
as the template above.
Example Skill Template
Clone the mycroft-skills repo to a local directory then:
To get the skill added, modify the Readme file.
- The README.md
In the README, add a line under "Community Contributed Skill List" (alphabetically, please!) describing your skill and linking to it in the wiki. Feel free to make a new wiki page for your skill! Also, indicate the status according to the guide below.
After that, you 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 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
Once you've got your repo organized properly, submit the PR consisting of the following:
- 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
Status | Skill Name | Description |
---|---|---|
✔️ | Alarm | Alarm |
✔️ | Audio Record | Record and Play Audio |
✔️ | Date Time | Tell the date or time |
✔️ | Desktop Launcher | Open Applications on Desktop |
✔️ | IP | Check the device's IP Address |
✔️ | Joke | Tell jokes |
✔️ | Media | Multimedia Control |
✔️ | NPR News | Listen to the news from NPR |
✔️ | Personal | Learn about Mycroft |
✔️ | Reminder | Reminders to do something |
✔️ | Speak | Repeat anything |
✔️ | Singing | Sing some Songs |
✔️ | Stock | Stock prices |
✔️ | Weather | Current Weather and Forecasts |
✔️ | Wiki | Wikipedia queries |
✔️ | Wolfram Alpha | Wolfram Alpha |
Status | Skill Name | Description |
---|---|---|
❓ | amarok-media-player-skill | Player controls for the Amarok Media Player |
❓ | bioinformatics | Adds Bio-Linux Commands to Mycroft |
❓ | bitcoin | Check the price of bitcoin |
🚧 | bitcoin-price | Checks the price of bitcoin |
❓ | cbc-news-skill | Fetches CBC News Podcast |
❓ | clementine-player-skill | Controls your clementine-player localy. A fork from amarok-player. |
💀 | cleverbot-skill | when wolpham alpha doesnt have an answer asks cleverbot |
❓ | 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) |
❓ | domoticz_skill | Skill integrating Mycroft with Domoticz |
❓ | drive_servos | Control Hacked-Servo-Engines to make your mycroft move around |
❓ | 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 |
❓ | hue | Control your Phillips Hue lights |
✔️ | home-assistant | Control your devices in home-assistant |
❓ | jb-podcasts | Play podcasts from Jupiter Broadcasting shows |
❓ | krunner-search | Search local KDE desktop for files, images, recent documents, bookmarks |
❓ | 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 |
❓ | 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 |
❓ | plasma-sendsms-skill | Send SMS through KDE Plasma |
❓ | plasma-user-control-skill | This skills adds Plasma User control to Mycroft, allowing switch user, logout, and 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 |
❓ | spacelaunch-skill | Check when the next space launch is |
❓ | 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 |
❓ | wallpaper-skill | Downloads wallpapers from reddit and changes randomly |
❓ | 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 |