/mycroft-skills

A repository for sharing and collaboration for third-party Mycroft skills development.

Primary LanguageHTML

Mycroft Skills Repo

logo

Content

Welcome

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/

Default Skills and Triggering Them

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"
Unknown Fallback When Mycroft doesn't know an answer
"green jelly wood"
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"

How to Add Skills to the Repo!

Step 1 Make a Repo

If you want to submit a skill, simply make a repo for it organized
as the template above. How To Make a Repo

Example Skill Template

Step 2 Clone Repo

Clone the mycroft-skills repo to a local directory, How To Clone if you are unfamiliar with the process.

Step 3 Generate Readme

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.

Step 4 Add Submodule

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

Step 5 Modify Skills Repo README.md

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!

Step 6 Submit PR (Pull Request)

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)

MSM Compliance

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

Community Contributed Skill List

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"
angry-beanie-podcast-player Skill for querying and playing Angry Beanie Podcasts
"Get Angry Beanie shows"
✔️ skill-australian-news Skill for playing ABC news from Australia
"Play Australian news"
✔️ 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
🚧 skill-calculator Provides a conversational based calculator.
Do some math
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
✔️ deutschlandfunk-skill Listen to Deutschlandfunk and query schedule
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
🚧 facebook 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
kde-kate-control Kate Editor control skill
"new document, close document, goto next/previous tabs/views"
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-mycroftplasmoid-control This skill lets you control the Mycroft Plasmoid
"show mycroft applet / display skills page"
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
🚧 the-cows-lists-skill This skill adds "Remember The Milk" support to Mycroft.
"add milk to my grocery list"
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
✔️ skill-caffeinewiz Provides the caffeine content of various drinks on request.
what's caffeine content of *drink*?
✔️ mycroft-timer Set a timer on your device
set a timer for 30 minutes
✔️ internet-radio Listen to Internet Radio
internet radio
✔️ mycroft-mark-1 Control your Mark 1 enclosure
change eye color to red