Skip to content

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

Notifications You must be signed in to change notification settings

Kryndex/mycroft-skills

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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"
βœ”οΈ AVmusic Lets the user request playback of any music or video available. Version 1.0
"AVmusic play chopin"
βœ”οΈ 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
βœ”οΈ Federal Closings List Federal Government Closings
"are there federal closings?"
βœ”οΈ 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
βœ”οΈ Number Generator Mycroft will pick a random number
pick a number
βœ”οΈ Bitcoin price Check the price of bitcoin
what is the bitcoin price?
βœ”οΈ ESP8266 Communicate with an ESP8266 in the context of home automation.
Turn on the lamp
🚧 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
🚧 Mosquito speak Allow Mycroft to notify you on events, by speaking text received on a mqtt bus.
🚧 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 Interact with "Remember The Milk" list and task management ecosystem.
"add milk to my grocery list"
🚧 Wallpaper Download wallpapers from reddit and changes randomly
🚧 Whats Nearby Search for nearby Places for Mycroft on Plasma (Search For Resturants, Hotels, Parks etc)
"search for nearby bars/pubs/parks/hospitals/etc"
🚧 Kickstarter Tracker Track the pledge amount of a project on Kickstarter
"track mycroft on kickstarter"
🚧 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
❓ 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
❓ Nature Sounds Play relaxing nature sounds recorded at various locations
play [river/thunderstorm/songbird]
❓ 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
❓ White House Adventure Play the old text adventure Zork 1
❓ 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

About

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

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 71.9%
  • Python 27.3%
  • Shell 0.8%