A minimal CLI to manage agent skills from GitHub releases.
Project description
bms-skills-cli
A minimal, user-friendly Python CLI to manage agent skills from GitHub releases. It installs skills to both ~/.agents/skills and ~/.claude/skills for seamless integration across platforms.
Features
- Interactive Installation: Select specific skills to add from any GitHub repository.
- Multi-Repo Support: Manage skills from multiple repositories independently.
- Lock File State: Tracks installed versions (release tags) and skills in
~/.agents/skills.lock.jsonfor reproducibility. - Automated Updates: Easily upgrade all or specific repositories to their latest GitHub release.
- Smart Caching: Downloads are cached in
~/.agents/cacheto avoid redundant network usage. - GitHub CLI Integration: Uses the
ghtool for fast downloads if available, with a reliablerequestsfallback.
Installation
Install using pip or uv:
pip install bms-skills-cli
# or
uv tool install bms-skills-cli
Usage
1. Add Skills
Interactively select skills to add from a GitHub repository's latest release:
bms-skills add google/gemini-cli-skills
2. Remove Skills
Interactively select installed skills to remove from your system:
bms-skills remove
3. Update Skills
Update all installed skills to their latest versions:
bms-skills update
Or update a specific repository:
bms-skills update --repo google/gemini-cli-skills
Skill Definition
A folder is recognized as a valid skill if it resides within a skills/ directory at the repository root and contains a SKILL.md file.
Development
This project uses uv for dependency management.
# Install dependencies
uv sync
# Run locally
uv run bms-skills --help
# Run tests
uv run pytest
# Type check
uv run pyright bms_skills
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bms_skills_cli-0.1.0.tar.gz.
File metadata
- Download URL: bms_skills_cli-0.1.0.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
107b896b9e31b40f3787c1091284785a95d72d7d19eb5c800087ef3bcc1374e4
|
|
| MD5 |
8e31c5a13ac93df6eb84bdf2689e110f
|
|
| BLAKE2b-256 |
fa54d4462c935aeae737c2c1373067d39d57e0f30482d2796f982720d0e72923
|
Provenance
The following attestation bundles were made for bms_skills_cli-0.1.0.tar.gz:
Publisher:
publish.yml on bmsuisse/bms-skills-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bms_skills_cli-0.1.0.tar.gz -
Subject digest:
107b896b9e31b40f3787c1091284785a95d72d7d19eb5c800087ef3bcc1374e4 - Sigstore transparency entry: 1399493399
- Sigstore integration time:
-
Permalink:
bmsuisse/bms-skills-cli@8891a83f6aba74dd20101ae451f1e5fb23966943 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/bmsuisse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8891a83f6aba74dd20101ae451f1e5fb23966943 -
Trigger Event:
release
-
Statement type:
File details
Details for the file bms_skills_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bms_skills_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92aef8c65f035321033cea8368b8ec157af70b3c757beebd4265e3b332f34137
|
|
| MD5 |
219abdebf6f92bb7d06b5698b480949a
|
|
| BLAKE2b-256 |
c9c1270cafe420f72b05108aeab76125c5508a185e810e517f181e9bf5fc9987
|
Provenance
The following attestation bundles were made for bms_skills_cli-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on bmsuisse/bms-skills-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bms_skills_cli-0.1.0-py3-none-any.whl -
Subject digest:
92aef8c65f035321033cea8368b8ec157af70b3c757beebd4265e3b332f34137 - Sigstore transparency entry: 1399493403
- Sigstore integration time:
-
Permalink:
bmsuisse/bms-skills-cli@8891a83f6aba74dd20101ae451f1e5fb23966943 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/bmsuisse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8891a83f6aba74dd20101ae451f1e5fb23966943 -
Trigger Event:
release
-
Statement type: