Skip to content
kfezer edited this page May 22, 2017 · 9 revisions

Mycroft Skills 📦

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.

How to Add Skills to the Repo!

If you want to submit a skill, simply make a repo for it organized
as the template above. Example Skill Template

Clone the mycroft-skills repo to a local directory then:

To get the skill added, modify the Readme file.

  • The README.md

In the README, add a line under "Community Contributed Skill List" (alphabetically, please!) describing your skill and linking to it in the wiki. Feel free to make a new wiki page for your skill! Also, indicate the status according to the guide below.

After that, you 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 add submodule $remote $name-your-skill

Where $remote is the git address for your repo 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

Once you've got your repo organized properly, submit the PR consisting of the following:

  • 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

Skill List

Clone this wiki locally