Ansible-style skill management for agent CLIs
Project description
skillsible
Ansible-style skill management for Codex, Claude Code, and agent CLIs.
What It Does
skillsible manages skills declaratively across machines and agents.
- define desired skills in a manifest
- target multiple agent CLIs
- preview changes with
plan - apply installs idempotently
- make workstation setup reproducible
MVP
The initial version focuses on skills.sh-style installs driven by a YAML manifest.
Example
version: 1
agents:
- codex
- claude-code
defaults:
scope: global
skills:
- source: obra/the-elements-of-style
skill: writing-clearly-and-concisely
- source: https://github.com/obra/the-elements-of-style
skill: writing-clearly-and-concisely
agents:
- codex
scope: project
CLI
uv run skillsible plan -f skills.yml
uv run skillsible apply -f skills.yml
uv run skillsible doctor
Install
From PyPI:
uv tool install skillsible
skillsible doctor
For a specific version:
uv tool install skillsible==0.2.0
skillsible doctor
From a checkout:
uv tool install .
skillsible doctor
From a built wheel:
uv build
uv tool install dist/skillsible-0.2.0-py3-none-any.whl
skillsible doctor
CI And Release
This repo includes GitHub Actions for:
- CI on pushes to
mainand pull requests - building distributions with
uv build - publishing to PyPI when a tag like
v0.2.0is pushed
PyPI Trusted Publishing Setup
Before publishing will work, configure skillsible on PyPI to trust this repository's publish workflow:
- PyPI project:
skillsible - GitHub owner:
srikalyan - GitHub repository:
skillsible - Workflow file:
.github/workflows/publish.yml - Environment name:
pypi
After that, pushing a tag such as v0.2.0 will trigger the publish workflow.
Workflow
The default branch is main and it is protected.
Expected flow:
- Create a feature branch.
- Open a pull request to
main. - Let CI pass.
- Merge to
main. - Tag the merge commit with
vX.Y.Z. - Push the tag to publish to PyPI.
See CONTRIBUTING.md for the release workflow in more detail.
Design Goals
- declarative desired state
- multi-agent support
- idempotent operations
- portable across machines
- extensible adapter model
Near-Term Roadmap
- manifest validation
- agent adapters
- drift detection
- lockfile support
- export current installed skills
- version pinning by tag or commit
Development
uv sync --dev
uv run pytest
uv run skillsible plan -f examples/skills.yml
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 skillsible-0.2.0.tar.gz.
File metadata
- Download URL: skillsible-0.2.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1319429b4345b4badc8a1a9b918788c4639bd12bdc36ad69609380dadd03d734
|
|
| MD5 |
46cec92211049c1809dbd457a7587c9d
|
|
| BLAKE2b-256 |
1703c17aaad2fb6bd7631b601a7e18a7b38ebcf0b76c82a9eb9e9e7fa162d48a
|
Provenance
The following attestation bundles were made for skillsible-0.2.0.tar.gz:
Publisher:
publish.yml on srikalyan/skillsible
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillsible-0.2.0.tar.gz -
Subject digest:
1319429b4345b4badc8a1a9b918788c4639bd12bdc36ad69609380dadd03d734 - Sigstore transparency entry: 1084434142
- Sigstore integration time:
-
Permalink:
srikalyan/skillsible@aea70cca266f8e237f751b01ce08e01ce17b7ccd -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/srikalyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@aea70cca266f8e237f751b01ce08e01ce17b7ccd -
Trigger Event:
push
-
Statement type:
File details
Details for the file skillsible-0.2.0-py3-none-any.whl.
File metadata
- Download URL: skillsible-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30e0f4465baaf89984bb1139d9942e1c9fb00f31cfbf8e581a3972a86f160717
|
|
| MD5 |
1afe0d63c3c7d01b9e5997e29bee3099
|
|
| BLAKE2b-256 |
1a35ef7a713a48556d4bf3bf901f2c594a6f488344bff660463fdb5a534cc6b5
|
Provenance
The following attestation bundles were made for skillsible-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on srikalyan/skillsible
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillsible-0.2.0-py3-none-any.whl -
Subject digest:
30e0f4465baaf89984bb1139d9942e1c9fb00f31cfbf8e581a3972a86f160717 - Sigstore transparency entry: 1084434199
- Sigstore integration time:
-
Permalink:
srikalyan/skillsible@aea70cca266f8e237f751b01ce08e01ce17b7ccd -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/srikalyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@aea70cca266f8e237f751b01ce08e01ce17b7ccd -
Trigger Event:
push
-
Statement type: