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

normandmickey/mycroft-skills

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

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
❓ 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
❓ 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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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