# OVOS skills manager
Install skills from any appstore!
The [mycroft-skills-manager](https://github.com/MycroftAI/mycroft-skills-manager) alternative that is [not vendor locked](https://github.com/MycroftAI/mycroft-skills-manager/pull/75), this means you must use it responsibly!
Do not install random skills, different appstores have different policies!
Keep in mind any skill you install can [modify mycroft-core at runtime](https://github.com/JarbasSkills/skill-monkey-patcher), and very likely has
root access if you are running on a raspberry pi
## Supported stores
- [OVOS]() - this one is really a proof of concept for now, stay tuned!
- [Mycroft Marketplace]() - the official mycroft skills store, all skills are
reviewed by humans!
- [Pling]() - the official plasma bigscreen skills store, skills are accepted
by default and only removed if flagged as malicious
- [Andlo's skill list](https://github.com/andlo/mycroft-skills-list-gitbook/tree/master/skills) - not a real appstore, this is a web scrapped
automatically generated list of 900+ skills from all over github, there
is no review at all, it will catch [malicious skills](https://github.com/JarbasAl/skill-XPLOIT-hijack-speech)
## Install
```bash
pip install ovos-skills-manager
```
## Usage
osm provides a few command line utilities, explained below
#### Install
Install a mycroft skill! Either pass a search query or a github url
```bash
(.venv) user@hostname:~$ osm install --help
Usage: osm install [OPTIONS]
Options:
--skill TEXT skill to install
--branch TEXT select skill github branch to use
--folder TEXT path where skill will be installed, default
/opt/mycroft/skills
--search search appstores, otherwise assume it's a
github url
--appstore [ovos|mycroft|pling|andlo|default|all]
search a specific appstore, default search
appstores enabled in config file
--method [all|name|url|category|author|tag|description]
match this metadata field when searching
--fuzzy / --exact exact or fuzzy matching, default fuzzy
--thresh INTEGER RANGE fuzzy matching threshold from 0 (everything
is a match) to 100 (exact match), default
80
--no-ignore-case ignore upper/lower case, default ignore
--help Show this message and exit.
```
#### Enable
Enable a new skills store
```bash
(.venv) user@hostname:~$ osm enable --help
Usage: osm enable [OPTIONS]
Options:
--appstore [ovos|mycroft|pling|andlo|all]
enable a specific appstore
--help Show this message and exit.
```
#### Disable
Disable a skills store
```bash
(.venv) user@hostname:~$ osm disable --help
Usage: osm disable [OPTIONS]
Options:
--appstore [ovos|mycroft|pling|andlo|all]
disable a specific appstore
--help Show this message and exit.
```
#### Sync
Sync skill list for a skills store
Suggestion: set a cronjob for this
```bash
(.venv) user@hostname:~$ osm sync --help
Usage: osm sync [OPTIONS]
Options:
--appstore [ovos|mycroft|pling|andlo|default|all]
sync a specific appstore, default syncs
appstores enabled in config file
--rebuild rebuild skill database, if not set only sync
data for new skills
--merge merge skill data, if not set replaces skill
entries
--github augment skill data from github, by default
only saves data provided directly by the
appstore
--help Show this message and exit.
```
#### Priority
Change priority of a skills store, this will affect order of results and
have impact in the OSM-skill (coming soon)
```bash
(.venv) user@hostname:~$ osm priority --help
Usage: osm priority [OPTIONS]
Options:
--appstore [ovos|mycroft|pling|andlo]
change priority of a specific appstore
--priority INTEGER RANGE appstore priority, from 0 (highest) to 100
(lowest)
--help Show this message and exit.
```
#### Print config
print current configuration of osm, config file can be found at `~/.config/OpenVoiceOS/OVOS-SkillsManager.json`
```bash
(.venv) user@hostname:~$ osm print --help
Usage: osm print [OPTIONS]
Options:
--appstore [ovos|mycroft|pling|andlo|all|default]
print config of a specific appstore
--help Show this message and exit.
```
#### Search
Search skills and print results, searching can be done according any number
of criteria, this is useful for discovery
```bash
(.venv) user@hostname:~$ osm search --help
Usage: osm search [OPTIONS]
Options:
--query TEXT Search a skill with this query
--method [all|name|url|category|author|tag|description]
match this metadata field when searching
--appstore [ovos|mycroft|pling|andlo|default|all]
search a specific appstore, by default
searches appstores enabled in config file
--fuzzy / --exact exact or fuzzy matching
--thresh INTEGER RANGE fuzzy matching threshold from 0 (everything
is a match) to 100 (exact match)
--no-ignore-case ignore upper/lower case
--help Show this message and exit.
```
Raw data
{
"_id": null,
"home_page": "https://github.com/OpenVoiceOS/ovos_skill_manager",
"name": "ovos-skills-manager",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "JarbasAI",
"author_email": "jarbasai@mailfence.com",
"download_url": "https://files.pythonhosted.org/packages/c7/7f/0750f22aa828d72ad48ca295f59557109a96b0133b0cbeda56d74a66ca6e/ovos-skills-manager-0.0.13.tar.gz",
"platform": null,
"description": "# OVOS skills manager\n\nInstall skills from any appstore!\n\nThe [mycroft-skills-manager](https://github.com/MycroftAI/mycroft-skills-manager) alternative that is [not vendor locked](https://github.com/MycroftAI/mycroft-skills-manager/pull/75), this means you must use it responsibly! \n\nDo not install random skills, different appstores have different policies!\n\nKeep in mind any skill you install can [modify mycroft-core at runtime](https://github.com/JarbasSkills/skill-monkey-patcher), and very likely has \nroot access if you are running on a raspberry pi\n\n\n## Supported stores\n\n- [OVOS]() - this one is really a proof of concept for now, stay tuned!\n- [Mycroft Marketplace]() - the official mycroft skills store, all skills are \n reviewed by humans!\n- [Pling]() - the official plasma bigscreen skills store, skills are accepted \n by default and only removed if flagged as malicious\n- [Andlo's skill list](https://github.com/andlo/mycroft-skills-list-gitbook/tree/master/skills) - not a real appstore, this is a web scrapped \n automatically generated list of 900+ skills from all over github, there \n is no review at all, it will catch [malicious skills](https://github.com/JarbasAl/skill-XPLOIT-hijack-speech)\n \n## Install\n\n\n```bash\npip install ovos-skills-manager\n```\n\n## Usage\n\nosm provides a few command line utilities, explained below\n\n#### Install\n\nInstall a mycroft skill! Either pass a search query or a github url\n\n```bash\n(.venv) user@hostname:~$ osm install --help\nUsage: osm install [OPTIONS]\n\nOptions:\n --skill TEXT skill to install\n --branch TEXT select skill github branch to use\n --folder TEXT path where skill will be installed, default\n /opt/mycroft/skills\n\n --search search appstores, otherwise assume it's a\n github url\n\n --appstore [ovos|mycroft|pling|andlo|default|all]\n search a specific appstore, default search\n appstores enabled in config file\n\n --method [all|name|url|category|author|tag|description]\n match this metadata field when searching\n --fuzzy / --exact exact or fuzzy matching, default fuzzy\n --thresh INTEGER RANGE fuzzy matching threshold from 0 (everything\n is a match) to 100 (exact match), default\n 80\n\n --no-ignore-case ignore upper/lower case, default ignore\n --help Show this message and exit.\n\n```\n\n#### Enable\n\nEnable a new skills store\n```bash\n(.venv) user@hostname:~$ osm enable --help\nUsage: osm enable [OPTIONS]\n\nOptions:\n --appstore [ovos|mycroft|pling|andlo|all]\n enable a specific appstore\n --help Show this message and exit.\n\n```\n\n#### Disable\n\nDisable a skills store\n```bash\n(.venv) user@hostname:~$ osm disable --help\nUsage: osm disable [OPTIONS]\n\nOptions:\n --appstore [ovos|mycroft|pling|andlo|all]\n disable a specific appstore\n --help Show this message and exit.\n```\n\n#### Sync\n\nSync skill list for a skills store\n\nSuggestion: set a cronjob for this\n```bash\n(.venv) user@hostname:~$ osm sync --help\nUsage: osm sync [OPTIONS]\n\nOptions:\n --appstore [ovos|mycroft|pling|andlo|default|all]\n sync a specific appstore, default syncs\n appstores enabled in config file\n\n --rebuild rebuild skill database, if not set only sync\n data for new skills\n\n --merge merge skill data, if not set replaces skill\n entries\n\n --github augment skill data from github, by default\n only saves data provided directly by the\n appstore\n\n --help Show this message and exit.\n```\n\n#### Priority\n\nChange priority of a skills store, this will affect order of results and \nhave impact in the OSM-skill (coming soon) \n```bash\n(.venv) user@hostname:~$ osm priority --help\nUsage: osm priority [OPTIONS]\n\nOptions:\n --appstore [ovos|mycroft|pling|andlo]\n change priority of a specific appstore\n --priority INTEGER RANGE appstore priority, from 0 (highest) to 100\n (lowest)\n\n --help Show this message and exit.\n```\n\n#### Print config\n\nprint current configuration of osm, config file can be found at `~/.config/OpenVoiceOS/OVOS-SkillsManager.json`\n```bash\n(.venv) user@hostname:~$ osm print --help\nUsage: osm print [OPTIONS]\n\nOptions:\n --appstore [ovos|mycroft|pling|andlo|all|default]\n print config of a specific appstore\n --help Show this message and exit.\n\n```\n\n#### Search\n\nSearch skills and print results, searching can be done according any number \nof criteria, this is useful for discovery\n```bash\n(.venv) user@hostname:~$ osm search --help\nUsage: osm search [OPTIONS]\n\nOptions:\n --query TEXT Search a skill with this query\n --method [all|name|url|category|author|tag|description]\n match this metadata field when searching\n --appstore [ovos|mycroft|pling|andlo|default|all]\n search a specific appstore, by default\n searches appstores enabled in config file\n\n --fuzzy / --exact exact or fuzzy matching\n --thresh INTEGER RANGE fuzzy matching threshold from 0 (everything\n is a match) to 100 (exact match)\n\n --no-ignore-case ignore upper/lower case\n --help Show this message and exit.\n\n```\n\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Open Voice OS skill manager",
"version": "0.0.13",
"project_urls": {
"Homepage": "https://github.com/OpenVoiceOS/ovos_skill_manager"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9ae726238626361e4a64417b6123c47ddf5111035e9690d970a33d3f28f1e5f9",
"md5": "c12137fddca6941c8214616ffeb5e8f3",
"sha256": "0b3c2d9ad9af9fbdde1af201aae40b80750abd4885e16b810744fb20bc3062cf"
},
"downloads": -1,
"filename": "ovos_skills_manager-0.0.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c12137fddca6941c8214616ffeb5e8f3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 389251,
"upload_time": "2023-10-11T20:14:41",
"upload_time_iso_8601": "2023-10-11T20:14:41.147483Z",
"url": "https://files.pythonhosted.org/packages/9a/e7/26238626361e4a64417b6123c47ddf5111035e9690d970a33d3f28f1e5f9/ovos_skills_manager-0.0.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c77f0750f22aa828d72ad48ca295f59557109a96b0133b0cbeda56d74a66ca6e",
"md5": "ea793f1eaa66d0c1c274b3fb2849a24e",
"sha256": "82b79850bdb8896a45e85ac3869e995d51efae9aed306051cc73ea7c74f1c253"
},
"downloads": -1,
"filename": "ovos-skills-manager-0.0.13.tar.gz",
"has_sig": false,
"md5_digest": "ea793f1eaa66d0c1c274b3fb2849a24e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 369112,
"upload_time": "2023-10-11T20:14:42",
"upload_time_iso_8601": "2023-10-11T20:14:42.661464Z",
"url": "https://files.pythonhosted.org/packages/c7/7f/0750f22aa828d72ad48ca295f59557109a96b0133b0cbeda56d74a66ca6e/ovos-skills-manager-0.0.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-11 20:14:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OpenVoiceOS",
"github_project": "ovos_skill_manager",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ovos-skills-manager"
}