Skip to main content

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 main and pull requests
  • building distributions with uv build
  • publishing to PyPI when a tag like v0.2.0 is 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:

  1. Create a feature branch.
  2. Open a pull request to main.
  3. Let CI pass.
  4. Merge to main.
  5. Tag the merge commit with vX.Y.Z.
  6. 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

skillsible-0.2.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skillsible-0.2.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

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

Hashes for skillsible-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1319429b4345b4badc8a1a9b918788c4639bd12bdc36ad69609380dadd03d734
MD5 46cec92211049c1809dbd457a7587c9d
BLAKE2b-256 1703c17aaad2fb6bd7631b601a7e18a7b38ebcf0b76c82a9eb9e9e7fa162d48a

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillsible-0.2.0.tar.gz:

Publisher: publish.yml on srikalyan/skillsible

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for skillsible-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30e0f4465baaf89984bb1139d9942e1c9fb00f31cfbf8e581a3972a86f160717
MD5 1afe0d63c3c7d01b9e5997e29bee3099
BLAKE2b-256 1a35ef7a713a48556d4bf3bf901f2c594a6f488344bff660463fdb5a534cc6b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillsible-0.2.0-py3-none-any.whl:

Publisher: publish.yml on srikalyan/skillsible

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page