/mycroft-skills

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

Primary LanguageHTML

Mycroft Skills Repo

logo

Content

Welcome

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

Available 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'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 1
change eye color to red

How to Submit a Skill

1) Make a Repo

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.

2) Clone Repo

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

3) Generate the README.md

All skills must have a standard README.md. You can use the Meta Editor to create it.

4) Add your Skill as a submodule

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

5) Modify this README.md

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!

6) Submit a PR (Pull Request)

Once you've got your local version of the repo organized properly, submit a PR.

MSM Compliance

To make your skill capable of being installed via MSM (the Mycroft Skill Manager) you can include two additional files.

requirements.txt

A list of all Python modules which must be installed for it to work. These will be installed via the Python PIP utility

requirements.sh

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

Community Contributed Skill List

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"
✔️ Australian news Play ABC news from Australia
"Play Australian news"
✔️ AutoGUI Manipulate your mouse and keyboard with Mycroft
✔️ Basic help Get basic Mycroft questions and help answered
"where is the documentation", "how do I install from source"
✔️ Caffeine Wiz Provides the caffeine content of various drinks on request.
what's caffeine content of *drink*?
✔️ Coin flip Flip a virtual coin
✔️ Deutschland Funk Listen to Deutschlandfunk and query schedule
✔️ Home Assistant Control your devices in home-assistant
"turn on office"
✔️ Pandora Play Pandora stations via Pianobar
✔️ Ping Pings websites and responds with latency time
✔️ Radio RNE Spanish news radio Radio Nacional de Espa?a RNE.
✔️ Timer Set a timer on your device
set a timer for 30 minutes
✔️ Internet Radio Listen to Internet Radio
internet radio
🚧 Bitcoin price Check the price of bitcoin
🚧 Brain Chain intents and provide some services
🚧 Calculator Conversation-based calculator.
Do some math
🚧 DeepDream Add Deepdreaming image converstion to Mycroft
🚧 Dice roll Roll dice spoken in RPG notation.
🚧 Facebook Generate posts for Facebook
🚧 Facebook marketing Work with Facebook Marketing API
🚧 GPIO example Example of using the GPIO pins on the Raspberry Pi to blink an LED
🚧 MiLight Lighting control using MiLight
🚧 Mopidy and BT lights Remote control of BT lights and Mopidy music playback
🚧 Objective Register objectives almost the same has an intent would be registered with ObjectiveBuilder class
🚧 OpenHAB Add Openhab support to Mycroft
🚧 Read article Scrapes text from online articles and reads them to you.
🚧 Sentiment analysis Sentiment analysis
🚧 The Cows Lists "Remember The Milk" support for Mycroft.
"add milk to my grocery list"
🚧 Wallpaper Download wallpapers from reddit and changes randomly
🚧 Wifi management Various options for interacting with WiFi
Amarok media player control Player controls for the Amarok Media Player
"amarok play/stop/next/previous music"
Angry Beanie podcast Query and play Angry Beanie Podcasts
"Get Angry Beanie shows"
Plasma audio control Audio control for Plasma Desktop
"increase volume to maximum", "decrease microphone to minimum volume"
Bioinformatics Add Bio-Linux Commands to Mycroft
Bitcoin Check the price of bitcoin
CBC news Fetch CBC News Podcast
Clarifai image recognition Image recognition based on clarifai
"search image url [imagelocation]"
Clementine player Control your clementine-player localy. A fork from amarok-player.
Cleverbot Cleverbot API fallback
Daily Meditation Play your Daily Meditation from the Meditation Podcast
Diagnostics Diagnostic tools (CPU %age, free space, etc)
Domoticz Integrate Mycroft with Domoticz
Drive servos Control Hacked-Servo-Engines to make your Mycroft move around
Earth orbit pic Earth orbit picture skill
Feedback Trigger positive feedback intent -> calls feedback method on last active skill
Fox newsskill Fetch Fox News Podcast
Google Calendar Check and add google calendar events
Gmail Get email from your Gmail Inbox
Google image search Search Google images and display
Google translate Translate English phrases into other languages
Hue Control your Phillips Hue lights
IR Send 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"
KDE 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 More salutations
Lottery Reads Euromillion Lottery Numbers
Media console control Add media controls that are mapped to console commands
Metal band Recommend a metal band and gives basic information
Mopidy Mopidy-based players for local music, Google Music, and Spotify
Mopidy media player Mopidy-based players for local MP3 library, Spotify and a Swedish radio station's stream
Movie recommendation-skill Recomend a movie
MPD control Control media players that use the MPD protocol to play found local music
MQTT Control IoT devices (home automation) using MQTT protocol
Mute skill Mute Mycroft until re-enabled
NASA picture of the day NASA picture of the day from the NASA API
Near Earth orbit Near Earth orbit alert skill via the NASA API
Photolocation Searches wikimedia for photos of location
Pickup line Responds with random nerdy pick-up lines
Plasma activities Integrate Plasma 5 Activities with Mycroft
"show activities / switch activity [name]"
Plasma Mycroft plasmoid control Control the Mycroft Plasmoid
"show mycroft applet / display skills page"
Plasma send SMS Send SMS through KDE Plasma
"send a sms"
Plasma user control Add Plasma User control to Mycroft, allowing switch user, logout, and lock screen
"switch user/logout/lock screen"
Poetry Read poetry based on Hidden Markov Models
Proxy scrape Scrape proxies from the internet
Pushbullet Send messsages and photos using Pushbullet
Pushetta Add push notifications
Quodlibet Control Quod Libet music playback
Random quote 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
RSS Fetch from RSS feed
Spaceflight schedule Check when the next space flight launch is scheduled
Spacelaunch Check when the next space launch is scheduled
Speedtest Run a speedtest
Slack Post and listen to Slack messages.
Sunspot Answer questions on daily sunspots
Sun Respond with sunrise and set times
System System controls like shutdown and reboot
Take picture Take pictures using the Raspberry Pi Camera
Traffic Commute time from Google distance matrix api
Unsplash wallpaper-plasma-skill Change KDE Desktop wallpaper by category type from unsplash
"change wallpaper type [nature\abstract\any]"
WEMO Control WEMO devices with Mycroft
Wiki fact scraper Scrape random facts from Wikipedia and store locally
Youtube Search and listen to a Youtube video
Release test Test a mycroft release
💀 Enhanced Bitcoin Enhanced bitcoin from api.bitcoinaverage.com