-
Notifications
You must be signed in to change notification settings - Fork 865
Home
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.
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 submodule add $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)
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