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

hedgehog08/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"
WeMo Discover and control WeMo devices
"discover my devices"
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
Spotify Listen to music from your Spotify Premium account
play discover weekly
Pandora Listen to Pandora stations
play pandora
openHAB Add an AI Voice assistant to your openHAB system
"turn on Diningroom Light" "regulate Main Thermostat to 20 degrees"

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"
✔️ Homeassistant Control your devices in home-assistant
"turn on office"
✔️ Plasma Activities Skill Control KDE Plasma 5 Activities with Mycroftshow/create/switch/remove activity [name]
✔️ translate-skill Translate phrases into several languages
"translate good morning into japanese"
✔️ Zork Play the old school adventure game
and explore the underground empire

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 57.4%
  • Python 40.7%
  • Shell 1.9%