Skip to main content

Manage agent skills.

Project description

npm pypi pyrefly GitHub stars npm Downloads PyPI Downloads License

skilly

Manage Agent Skills from the command line or Python.

skilly creates specification-compliant skills, installs skills from GitHub or Python dependencies, and keeps managed skills up to date.

Table of Contents

Installation

Python

uvx skilly --help           # run on-the-fly
pip install skilly          # or install persistently

Node

npx @xelandernt/skilly --help

Homebrew

brew tap xelandernt/skilly https://github.com/xelandernt/skilly
brew install xelandernt/skilly/skilly

Info

Method Ships
uvx / pip Python package with import surface + CLI (pre-built wheels: Linux x64, macOS arm64/x64, Windows x64)
npx Native Rust CLI (macOS arm64/x64, Linux x64 glibc, Windows x64)
brew Native Rust CLI (macOS arm64/x64, Linux x64)

Quick Start

uvx skilly scan                       # Find skills from Python dependencies
uvx skilly download <github-url>      # Install skills from GitHub
uvx skilly list                       # Browse installed skills
uvx skilly update                     # Preview available updates

CLI Commands

Command Purpose
scan Find skills provided by the project's Python dependencies
download <github-url> Install one or more skills from GitHub
list Browse, update, or remove installed skills
update Preview available updates; --yes applies all
remove <name> Remove an installed skill by directory name
skillsmp search <query> Search SkillsMP and install a selected result
create Create a valid skill through a terminal wizard or explicit options

Run skilly <command> --help for all options.

Create Skills

Interactive terminals open a full-screen editor. Ctrl+S creates the skill, Ctrl+X cancels.

uvx skilly create deployment-checks \
  --description "Validate deployment readiness before a production release." \
  --instructions "# Instructions

Run the deployment checklist and report blockers." \
  --metadata owner=platform \
  --with-scripts \
  --yes

Existing skills are rejected unless --overwrite is passed.

Install Dependency Skills

skilly scan reads pyproject.toml and the project's .venv, then surfaces skills shipped by dependencies:

uvx skilly scan

Include or exclude specific extras and dependency groups (flags are repeatable):

uvx skilly scan --group dev --group test --exclude-extra docs

Install GitHub Skills

uvx skilly download https://github.com/example/project

When a repository contains multiple skills:

uvx skilly download https://github.com/example/project --all
uvx skilly download https://github.com/example/project --skill-name code-review

Destinations

All management commands accept the same destination options:

uvx skilly list --local        # .agents/skills
uvx skilly list --global       # ~/.agents/skills
uvx skilly list --claude       # .claude/skills
uvx skilly list --codex        # .codex/skills
uvx skilly list --copilot      # .github/skills (local), ~/.copilot/skills (global)
uvx skilly list --directory ~/custom     # Explicit directory
Flags Resolved destination
none SKILLY_DIRECTORY if set, otherwise .agents/skills
--local .agents/skills
--global ~/.agents/skills
--claude .claude/skills
--claude --global ~/.claude/skills
--codex .codex/skills
--codex --global ~/.codex/skills
--copilot .github/skills
--copilot --global ~/.copilot/skills
--directory <path> That directory (after ~ expansion)

Set a default destination:

export SKILLY_DIRECTORY="$HOME/.config/skilly/skills"

--directory overrides all other destination options and SKILLY_DIRECTORY.

GitHub Authentication

Set a token for higher API rate limits (first available wins: SKILLY_GITHUB_TOKEN, GITHUB_TOKEN, GH_TOKEN):

export SKILLY_GITHUB_TOKEN=ghp_your_token

All GitHub-fetching commands also accept --github-token.

Python API

SkillRepository bundles a directory and project settings for stateful workflows:

from pathlib import Path
from skilly import ProjectSettings, Skill, SkillRepository

repository = SkillRepository(
    directory=Path(".agents/skills"),
    project=ProjectSettings(
        dependency_groups=("dev",),
        optional_dependencies=("docs",),
    ),
)

repository.install(
    Skill(
        name="code-review",
        description="Review code for correctness and maintainability.",
        content="# Instructions\n\nReview the proposed change.",
    )
)

for match in repository.scan_project():
    print(match.available.name, match.status)

Stateless discovery functions for one-shot reads:

from skilly import discover_installed_skills, discover_venv_skills

installed = discover_installed_skills()
dependency_skills = discover_venv_skills()

SkillsMP client with typed results:

from skilly.skillsmp import ClientSettings, SkillsMp, SkillsMpSearchQuery

client = SkillsMp(settings=ClientSettings(base_url="https://skillsmp.com/api/v1"))
result = client.search(SkillsMpSearchQuery(text="python", limit=5))
print(result.data.skills[0].github_url)

Development

just install      # Install dev dependencies + editable extension
just lint         # Run linters
just test         # Run tests
just typecheck    # Run type checkers

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

skilly-0.0.29.tar.gz (137.8 kB view details)

Uploaded Source

Built Distributions

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

skilly-0.0.29-cp310-abi3-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

skilly-0.0.29-cp310-abi3-win32.whl (1.8 MB view details)

Uploaded CPython 3.10+Windows x86

skilly-0.0.29-cp310-abi3-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

skilly-0.0.29-cp310-abi3-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

skilly-0.0.29-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

skilly-0.0.29-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

skilly-0.0.29-cp310-abi3-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

skilly-0.0.29-cp310-abi3-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file skilly-0.0.29.tar.gz.

File metadata

  • Download URL: skilly-0.0.29.tar.gz
  • Upload date:
  • Size: 137.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29.tar.gz
Algorithm Hash digest
SHA256 36ba794df70cae19ca11a8ea49bf36fd1ed52040a99f076b07422f007dac514e
MD5 00c32a41bf30b1231adc192d3268ad41
BLAKE2b-256 8a7048941df97183153fa54497ceb0e4a6cd69c9a277b69c947d5b22c5ce610c

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cb5ff095bf6ee457954405fcd65c4651883f81e577dc7b1bdd87ad58bb95c8e4
MD5 d56d9461fb6c080777a7620704e4429a
BLAKE2b-256 18e2d352efb66b162b70fc987888fcb03651a022f97019e40613619990114794

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-win32.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 e0d5a3c5011e1eaace0e6bf320d0a3ebfa84b0929291b80bc38b214ab4531d96
MD5 7e6d1d460c34bb84d07eed565afd1463
BLAKE2b-256 b0dbd4f1b90f970a128943e64d315d388f9c09f27fd1857b95bdbccb228c8538

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d3c24154c8d9eb0b8cc46b7296c3b0e59176603dc4c0462b2a53a0651cfd9ada
MD5 1c9f7b9b133a07ba64630231741fcda2
BLAKE2b-256 083eae359145444f65b8838a5f376d620cf9c25495d5eb454bf5f31d2b1cee1e

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3d495d9d14b5c30a03bfc56aacbed2a0cee035071da4d0bca4cd807e8caa3298
MD5 97b99571334ef5883e66b9141e9c0a22
BLAKE2b-256 f6aff7fba813e1335a267536dd26c599f795c0b85175ad32f5f5d4345edf3ad4

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2429ef43197edd4aa46f831d594ceebe3717588228eb44789bd4ef1a9bf633e
MD5 3d3030b3ffcae0f9573e6bba56eaa28b
BLAKE2b-256 94fe3aafde373cad2dbf2c5a0a8e24fdca2f7c35edfb2e2803478405ed771012

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a1299be78bb63161a20d1f87821ffdc98baf59c6ba87a91feab2e7aa4835eb4c
MD5 d29b3dbc1c375630a1f50dd1afa04dc7
BLAKE2b-256 70b9cdde1e58e7f1e9d94dbe7936d8082b1c814d011c11a8f119ce1f67ba6ef9

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c78f7bde1af9e3be55f96e5b945f0db1652d6510273af693688aaaffc26f69f
MD5 945ba2c6a975de6dc0eb3caafa9bbcce
BLAKE2b-256 a876fac740be0ec068c0f87ac12aedd96e1f0238b377696b2b64c0b8ec6b48ae

See more details on using hashes here.

File details

Details for the file skilly-0.0.29-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: skilly-0.0.29-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.29-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8f8869c3d8e67c7a70f77a1b388a0c78d45b6d460a43c8ec5fc060bab6ceb882
MD5 a437e5b181a63c66488234544139c436
BLAKE2b-256 75600587333794589abb4beb8fbbbf5a09c03a6ddeb5aaeb327457c2f707f633

See more details on using hashes here.

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